Thema: Delphi Instanzen sind Pointer

Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#1

Instanzen sind Pointer

  Alt 21. Mai 2005, 16:31
Kann so etwas funktionieren?

Delphi-Quellcode:
procedure TForm1.ExpandFromListClick(Sender: TObject);
var expanded:TStringList;
    reference,current:TListItem;
    s:string;
begin
expanded:=TStringList.Create;
expanded.Assign(ExpandDirs(LVList.Selected.Caption + LVList.Selected.SubItems[0])); //Expanddirs liefert eine stringlist
for s in expanded do
 begin
 current:=LVList.Items.Insert(LVList.Selected.Index+1); //das hier sollte noch gehen, current wird automatisch zeiger.
 current.Caption:=ExtractFilePath(s);
 current.SubItems.Add(ExtractFileName(s))
 end;
reference:=LVList.Selected; //wird auch automatisch zum zeiger
current:= LVList.GetNextItem(reference,sdbelow,[isSelected]); //current wird neu belegt
while not (current = nil) do //schleife
 begin
  expanded.Assign(ExpandDirs(current.Caption+current.SubItems[0]));
  for s in expanded do
   begin
    current:=LVList.Items.Insert(LVList.Selected.Index+1); //current dient wieder als zeiger auf eingefügtes listitem
    current.Caption:=ExtractFilePath(s);
    current.SubItems.Add(ExtractFileName(s))
   end;
  reference:=current; //altes current wird neue referenz
  current:=LVList.GetNextItem(reference,sdbelow,[isSelected]);//current wird neu belegt
 end;

reference.Free;
current.Free;
end;
Oder muss ich da wirklich mit "echten" Pointern arbeiten und referenzieren/dereferenzieren?

EDIT: ja es geht anstandslos. hab mich jetzt getraut das ganze zu kompilieren . Hab den titel jetzt umbenannt um dem ganzen wenigstens ein bisschen sinn zu geben.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat