Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Eine Liste von Objekten speichern

  Alt 14. Nov 2006, 18:02
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?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat