Erzeugen einer Komponente über .create


Eine neue Komponente erzeugt man über die Funktion Create, auch constructor genannt. Als Anfänger, oder Umsteiger von einer anderen Sprache kann man aber leicht durcheinanderkommen, wie genau der Aufruf denn nun aussehen muß.

Folgende Zeile wird vom Compiler anstandslos übersetzt, führt aber zur Laufzeit zu einer Schutzverletzung:

var MyEdit : TEdit;
begin

  MyEdit.Create;

Richtig muß es natürlich heißen:

  MyEdit := TEdit.Create(self);
Delphi 1 Delphi 2 Delphi 3 Delphi 4
nicht getestet Version nicht betroffen getestet

siehe auch:


Delphi FAQ