Zitat von
Jens Schumann:
NachvfNeueEmail.vEmail := vemailliste[listviewEmails.itemindex];
enthält vfNeueEmail.vEmail eine Kopie des Records aus vemailliste. Bevor Du vfNeueEmail freigibst
musste den Record wieder in das Array schreiben.vemailliste[listviewEmails.itemindex]:=vfNeueEmail.vEmail
vfNeueEmail.vEmail enthält einen Record. Records werden nicht freigeben.
Hallo,
das macht doch auch keinen sinn. Wenn du sagst, daß vfNeueEmail.vEmail eine kopie enthalten würde, müsstest du den record nicht zurück ins array schreiben - der Record würde ja immer noch im Array stehen.
Mit echt kopieren würde ich mir mal die methode assign einer stringlist anschauen. Da siehst du, daß die wert wirklich "kopiert" werden.
das müsste also so aussehen
Delphi-Quellcode:
procedure copyEmail(var Source, Dest: TEmail);
begin
Dest.id := Source.id ;
// etc
end;
musst natürlich vorher sicher stellen, daß Dest auch schon alloziiert wurde.
Gruß
Ken