Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TMenuItem.Create klappt nicht
patmann2001 - Fr 04.10.02 22:13
Titel: TMenuItem.Create klappt nicht
Hi
Ich möchte gerne zur Laufzeit in mein Hauptmenü weitere Untermenüs einfügen. Darum habe ich in der Hilfe von Delphi nachgeschlagen und dort steht folgendes Beispiel
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| var NewItem: TMenuItem; I : integer; begin { zuerst Trennlinie erzeugen } NewItem := TMenuItem.Create(Self); NewItem.Caption := '-'; { neuen Eintrag in Menü FENSTER einfügen } Fenster.Add(NewItem); { jetzt für jedes Formular einen Eintrag erzeugen und einfügen } for I := 0 to Screen.FormCount-1 do begin NewItem := TMenuItem.Create(Self); NewItem.Caption := Screen.Forms[I].Name; Fenster.Add(NewItem);
end; end; |
Ich habe daraus eigentlich nur den Variablenname und den Createaufruf herausgenommen.
Ich bekomme jedoch schon beim Compilieren folgenden Fehler
Zitat: |
[Fehler] test.pas(545): Undefinierter Bezeichner: 'Self'
|
Woran liegt das?
cu Patmann
patmann2001 - Fr 04.10.02 22:38
Ich habe jetzt den Eintrag self durch den Namen des Hauptmenüs ersetzt, dann klappt es. Warum schreiben die dann in der Hilfe self :?:
cu Patmann
Delete - Sa 05.10.02 09:04
Das "self" wird möglicherweise daher resultieren, dass es eine form-bezogene Prozedur ist, z.B.
Quelltext
1: 2:
| procedure TForm1.BuildMenu(Sender: TObject); ... |
usw. In dem Fall würde "self" für die Form (Form1) stehen. Das Rätsel könnte aber nur Borland lösen, da die ja den Prozedur/Funktionskopf vergessen haben. :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!