Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Zugriffverletzung beim Procedure Aufruf

  Alt 5. Jan 2007, 13:46
Hallo,

weil Klassen einfacher mit TList zu handhaben sind.
Listen speichern nur Zeiger, bei Records müsste man also mit Zeiger arbeiten.

Delphi-Quellcode:
type
  TMyClass = class;
  PMyRecord = ^TMyRecord;
  TMyRecord = record;
var
  MyClass: TMyClass;
  MyRecord: PMyRecord;
  List: TList;
begin
  List:= TList.Create;

  MyClass:= TMyClass.Create;
  MyClass.Variable:= bla;
  List.Add(MyClass);

  MyRecord:= new PMyRecord;
  MyRecord^.Variable:= bla;
  List.Add(MyRecord);

 // leeren der Liste ...
  List.Free;
end;
Klassenvariablen sind automatisch Pointer,
also entfällt das ^ zum Dereferenzieren.


Heiko
Heiko
  Mit Zitat antworten Zitat