Das Problem liegt tiefer im Fehlen von Grundlagen.
Ein AccessFehler kommt immer dann, wenn man auf eine Struktur (Klasse) zugreifen möchte, wo es aber keine gültige Instanz gibt.
Delphi-Quellcode:
type
TFoo = class
Data : string;
end;
var
foo : TFoo;
begin
foo.Data := 'Hallo'; // <- AccessFehler
foo := TFoo.Create;
foo.Data := 'Hallo'; // Alles ok
foo.Free;
foo.Data := 'Hallo'; // <- AccessFehler
foo := TFoo.Create;
foo.Data := 'Hallo'; // Alles ok
foo := nil; // <- Upps, ein Speicherleck erzeugt
foo.Data := 'Hallo'; // <- AccessFehler
end;
Mit einem Beispiel aus dem Leben gegriffen, könnte man es so erklären:
Zitat:
Du planst in deinem Zimmer ein Regal aufzustellen. Das Regal soll rot, 1.5m hoch und 1m breit werden.
Wenn du jetzt in dieses Regal ein Buch stellst, fällt das auf den Boden (ein Absturz), weil du hast das Regal noch nicht gekauft (Instanz)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)