AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Klasse in einer TList wird immer überschrieben

Klasse in einer TList wird immer überschrieben

Ein Thema von fapsons · begonnen am 16. Mär 2007 · letzter Beitrag vom 16. Mär 2007
 
fapsons

Registriert seit: 29. Jan 2007
Ort: Berlin
65 Beiträge
 
#1

Klasse in einer TList wird immer überschrieben

  Alt 16. Mär 2007, 07:32
Hallo Leute,

ich weiß, mein Posting beinhaltet sehr viel Quellcode, aber das Problem ist, dass ich nicht genau weiß, an welcher Stelle ich einen Fehler gemacht habe.

Und zwar lese ich Kundendaten aus einer Datenbank aus. Diese sollen in die Klasse CustomerTerminal geschrieben werden. Alle einzelnen CustomerTerminals von allen Kunden sollen dann wiederum in die TList (LCustomerTerminal) geschrieben werden.

Beim Durchlauf der beiden Proceduren, die eigentlich genau das bezwecken sollten erhalten jedoch alle CustomerTerminals der TList die Werte des letzten CustomerTerminals aus der TList.

Führe wahrscheinlich den Add Befehl für die TList an der falschen Stelle aus oder so, jedenfalls komme ich selber nicht darauf, was ich genau falsch mache...
Ich hoffe, ihr könnt mir folgen .

Danke schon mal!

Gruß,
-fapsons--



Delphi-Quellcode:
Unit DBInterface;
...

procedure Get_Customer_Terminals; // Kundenterminals von allen Kunden der DB werden ausgelesen
var TEID, TMID, VSID, Syst, Knot :Integer;
    Bez, Beschr, Typ, IP_A, Schnitts, Firmbez,FirmW, TermProg, KartTyp, Zubeh:String;
begin

 with D_DataModule.DataSet do
 begin
     SelectSQL.Clear;
     SelectSQL.Text := 'select * from V_CUSTOMER_TERMINALS v where v.vsid = ''' + (inttostr(reg.Versions_ID)) + '''';
     Open;
 end;

 while not D_DataModule.DataSet.Eof do
 begin
   TEID := D_DataModule.DataSet.FieldByName('TEID').AsInteger;
   TMID := D_DataModule.DataSet.FieldByName('TMID').AsInteger;
   ...
   Zubeh := D_DataModule.dataset.FieldByName('ZUBEH').value;

   reg.Add_Cust_Terminal(Bez + Beschr + Typ,TMID, VSID, Syst, Knot, Schnitts, IP_A, Firmbez, FirmW, TermProg, KartTyp, Zubeh);
   D_DataModule.DataSet.Next;

 end;

 D_DataModule.DataSet.Close;
end;



Unit DeclareTypes;
...
procedure TSoftwarePaket.Add_Cust_Terminal(TMNA1: String; TMID, VSID, Syst, Knot: Integer; Schnittst, IP, Firmenbez, Firmware, TermProg, KartTyp, Zubehoer: String);

begin
with CustomerTerminal do
   begin
      TMNA := TMNA1;
      TEID := TEID;
      ...
      Zubehoer := Zubehoer;
   end;
   LCustomerTerminal.Add(CustomerTerminal);
   ...
End;
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz