Ah ja gut. Ich habe mich abr entschieden es anders zu machen und zwar mit einer extra Klasse:
Delphi-Quellcode:
type
TBankKunde = class(TObject)
private
FName: String;
procedure SetName(Name: String);
function GetName: String;
public
property Name: String read GetName write SetName;
end;
TBankKundeCollection = class(TList)
private
function Get(Index: Integer): TBankKunde;
public
procedure Add(Item: TBankKunde);
property Items[Index: Integer]: TBankKunde read Get;
end;
Die Klasse TBankKundeCollection soll mir eine Liste der BankKunden verwalten. Aber da habe ich ein Problem mit:
Delphi-Quellcode:
procedure TForm1.UpdateListbox;
var
i : Integer;
KundenName :
string;
BankKunde : TBankKunde;
begin
Listbox1.Clear;
for i := 0
to FKundenListe.Count - 1
do
begin
BankKunde := FKundenListe.Items[i];
KundenName := BankKunde.
Name;
ListBox1.Items.Add(KundenName);
end;
ShowMessage(IntToStr(FKundenListe.Count));
end;
procedure TForm1.btnKundeNeuClick(Sender: TObject);
var
BankKunde : TBankKunde;
KundenName :
string;
begin
KundenName := InputBox('
Neuer Kunden', '
Name des Kunden:', '
');
BankKunde := TBankKunde.Create;
try
try
BankKunde.
Name := KundenName;
FKundenListe.Add(BankKunde);
except
on E:
Exception do
MessageBox(
Handle, PChar(E.
Message), PChar('
Neuen Kunde anlegen'), MB_ICONSTOP);
end;
finally
//BankKunde.Free;
end;
UpdateListbox;
end;
In Zeile 33 kann ich das Objekt ja nicht frei geben. Wie gebe ich das am besten frei? Oder wird das automatisch freigegeben, wenn ich die BankKundenCollection (FKundenListe) zerstöre?