Einzelnen Beitrag anzeigen

fapsons

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

Re: Klasse in einer TList wird immer überschrieben

  Alt 16. Mär 2007, 09:22
Puuh Sirius,

jetzt habe ich gehofft in meinem Praktikum, was ich momentan mache mich nicht mit Pointern beschäftigen zu müssen. Jetzt ist der letzte Tag des Praktikums und ich merke, dass ich wohl doch nicht drum herum komme...


Habe deinen Code mal so übernommen.
Da ich aber wie gesagt absolut keinen Plan von Pointern habe, bin ich leider nicht in der Lage, den neuen Fehler zu beheben. Fehler lautet, dass der maximale Listenindex (0) überschritten würde. Wie kann das sein? Wurden meine Daten doch nicht korrekt in die Liste hinzugefügt?




Delphi-Quellcode:

procedure TSoftwarePaket.Add_Cust_Terminal(TMNA1: String; TMID, VSID, Syst, Knot: Integer; Schnittst, IP, Firmenbez, Firmware, TermProg, KartTyp, Zubehoer: String);
var PCustomerTerminal :^TCustomerTerminal;
begin

  with CustomerTerminal do
   begin
      TMNA := TMNA1;
      TEID := TEID;
      TMID := TMID;
      VSID := VSID;
      Schnittst := Schnittst;
      Syst := Syst;
      Knot := Knot;
      IP := IP;
      Firmenbez := Firmenbez;
      Firmware := Firmware;
      TermProg := TermProg;
      KartTyp := KartTyp;
      Zubehoer := Zubehoer;
   end;

   new(PcustomerTerminal);
   PCustomerTerminal^:=CustomerTerminal;
   LCustomerTerminal.Add(PCustomerTerminal);

   showmessage(TCustomerTerminal(LCustomerTerminal.Items[0]).tmna);
End;
  Mit Zitat antworten Zitat