Delphi: This form of method call only allowed for class methods
Frage von Gast | Letztes Update am 27.07.2022 | Erstellt am 01.07.2012
Ich habe in Delphi zwei Units, die jeweils einem Fenster in meinem Programm entsprechen. In dem ersten Fenster habe ich eine Prozedur definiert, die ich in dem zweiten Fenster aufrufen möchte.
Mein erster Ansatz war folgender, um die procedure aufzurufen:
MeineProzedur(Sender);
Delphi fand die Procedure so allerdings nicht, weswegen ich dachte, man müsste halt noch den Namen der Form voranstellen:
TForm1.MeineProzedur(Sender);
Allerdings funktioniert auch das nicht. Das Programm kompiliert zwar, aber es kommt beim Aufrufen des Programms zu folgender Fehlermeldung, mit der ich nichts anfangen kann:
This form of method call only allowed for class methods
Ich habe schon probiert, die Prozedur in den public Bereich zu schreiben und sowas, aber es funktioniert einfach nicht. Kann mir jemand helfen?
Ähnliche Themen
Delphi: Event Reihenfolge einer Form - Von OnCreate bis OnDestroy
Info | 1 Kommentar
PHP: Formular-Eingaben als Array an PHP Skript schicken
Tipp | 0 Kommentare
Bild vor dem Upload im Browser verkleinern
Tutorial | 5 Kommentare
JavaScript: Submit einer Form abfangen
Tutorial | 0 Kommentare
Delphi: Globale Behandlung von Fehlermeldungen (Exceptions)
Tutorial | 0 Kommentare
HTML5 Canvas als Bild an Server senden und speichern
Tutorial | 0 Kommentare
Delphi: Mehrzeilige Caption für TLabel (zur Laufzeit und Design Zeit)
Tutorial | 1 Kommentar
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
TForm1 ist nur der Type, also quasi eine Beschreibung dessen, wie deine Form aussieht. Daher kannst du aus diesem "Bauplan" keine Prozedur aufrufen.
Probiere es mit folgender Variante:
Irgendwo steht am Anfang deiner Unit "Form1: TForm1". Das bedeutet, dass "Form1" vom Typ "TForm1" ist. Und daher können Prozeduren nur aus "Form1" aufgerufen werden, nicht aus "TForm1".
Letztes Update am 27.07.2022 | Erstellt am 01.07.2012