Autor Beitrag
rowkajjh
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 27.10.06 16:24 
Hallo,

ich habe Objekte, die ich in einer Liste verwalte. Diese Verwaltung passiert in einer unit. Zwei Funktionen daraus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
Procedure TArticleCtrl.ClearList;
var
  article : ^TArticle;
begin

    while Articles.Count>0 do
    begin
        article := Articles.Items[0];
        article.Free;
        Articles.Delete(0);
    end;

end;

Function TArticleCtrl.LoadFromFile(const FileName: String): Integer;
Var
    art : TArticle;
begin
   art    := TArticle.Create;
   Result := art.LoadFromFile(FileName);

   if(Result = 0then
       Articles.Add(art)
   else
       art.Free;
end;


Warum muß ich (muß ich?) in ClearList ^TArticle verwenden, in LoadFromFile aber TArticle. So wie ich das bisher verstanden habe, sind Objekte in Pascal immer Zeiger.

Man, bin ich verwirrt.

Danke und Tschau!

Moderiert von user profile iconAXMD: Delphi-Tags hinzugefügt
rowkajjh Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 27.10.06 17:47 
Ach, ich glaube, ich habs.

In dem Beispiel, welches mit vorlag, war das Objekt, welches in der Liste gespeichert wurde, vom Typ record. Ich habe aber eine richtige Klasse.

Bei record muß ich mit New), Dispose und ^TRecord arbeiten, bei richtigen Objekten (Klassen) ist ja der Variablenname autom. ein pointer.

Rischtisch?