33 Stimmen

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?

AntwortenPositivNegativ
3Beste Antwort3 Stimmen

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:

Form1.MeineProzedur(Sender);

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

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

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.