Einzelnen Beitrag anzeigen

TomDooley

Registriert seit: 26. Jan 2004
124 Beiträge
 
#1

Verständnisproblem Stringlist mit Object

  Alt 7. Sep 2004, 10:26
Hallo

Ich habe irgendwie ein Verständnisproblem mit Stringlisten und Verknüpften Objekten. Ich habe folgenden Methoden (die auch funktionieren):

Delphi-Quellcode:
procedure a;
var
  TempStrList : TStringlist;
  TempStr : ^String;
begin
  i := 0;
  for i to 10 do begin
    new(TempStr);
    TempStr^ := IniFile.ReadString(TempStrList.Strings[i],....);
    ComboboxXY.ItemsAddObject(TempStrList.Strings[i],TObject(TempStr));
  end;
  TempStrList.Free;
end;


procedure b;
var
  Tmp : ^String;
begin
  Tmp := Pointer(ComboboxXY.Items.Objects[ComboboxXY.ItemIndex]);
  Edit1.Text := Tmp^;
end;
Ich haben nun probiert anstatt Zeigern direkt die Instanzen zu übergeben (Strings). Jedoch bekomme ich dann in der procedure b einen Fehler... (vermutlich weil ich die Stringliste in a freigegeben habe, oder?) Müsste ich also einfach eine globale Stringlist definieren?

Oder ist die Lösung mit Zeigern besser? Doch da müsste ich am Ende des Programms noch den Speicher freigeben....:
Delphi-Quellcode:
OnDestroy-Ereignis:
...
for i:=0 to ComboboxXY.Items.Count-1 do
  Dispose(Pointer(ComboboxXY.Items.Objects[i]))
Ich seh da irgendwie nicht wirklich durch...

es dankt und grüsst

Tom
  Mit Zitat antworten Zitat