Zitat von
Corelgott:
Ich habe gerade nen logischen Fehler bei mir entdeckt...
Ein Stack speichert ja nur pointer auf die daten? Oder?
Ich bräuchte aber eher ne art verketteste liste.. Etwas was die daten komplett hält und nciht nur pointer auf die selbigen...
Na, des basst scho. Du musst aber auf das Erzeugen und Zerstören der Objekte achten:
Delphi-Quellcode:
type TICQClientData =
class(TObject)
public
UIN : Integer;
Name:
String;
end;
contacts : TObjectStack;
procedure foo;
var
tmp : TICQClientData;
begin
tmp := TICQClientData.Create;
// erzeugen
// befüllen
tmp.
Name := '
DP';
tmp.UIN :='
3456345646';
// und ab auf den Stack
contacts.push(tmp)
end;
procedure popey;
var
tmp : TICQClientData;
begin
tmp := contacts.Pop
as TICQClientData;
// vom Stack runter
// vor dem "Tod" noch benachrichtigen
SendMessageTo(tmp.UIN, '
You are killed now!');
// Object zerstören
tmp.Free;
end;
Du kannst deine ICQClientData Objekte auch in einer
TObjectList halten;
kommt immer drauf an, was du vorhast.