22 Voix

Delphi: This form of method call only allowed for class methods

Question de Invité | 23/06/2022 à 12:45

J'ai deux units dans Delphi, chacune correspondant à une fenêtre de mon programme. Dans la première fenêtre, j'ai défini une procédure, que je voudrais appeler dans la deuxième fenêtre.

Ma première approche pour appeler la procédure était la suivante:

MaProcedure(Sender);

Cependant, avec cette approche, Delphi n'a pas pu trouver la procédure, alors j'ai pensé que je dois précéder le nom du formulaire (form) pour dire à Delphi où la procédure est définie:

TForm1.MaProcedure(Sender);

Cependant, cette approche ne le fait pas non plus. Le programme compile, mais lorsque vous ouvrez le programme, le message d'erreur suivant se produit, avec lequel je ne peux rien faire:

This form of method call only allowed for class methods

J'ai déjà essayé de définir la procédure dans la section public et de telles choses, mais cela ne fonctionne tout simplement pas. Est-ce que quelqu'un peut m'aider?

RépondrePositifNégatif
2Meilleure Réponse2 Voix

TForm1 est seulement le type, quelque chose comme une description de l'apparence de votre formulaire. Par conséquent, vous ne pouvez pas appeler une procédure de ce plan de construction.

Essayez-le avec l'approche suivante:

Form1.MaProcedure(Sender);

Quelque part au début de votre unit, il y a écrit "Form1: TForm1". Cela signifie que "Form1" est du type "TForm1". Et par conséquent, les procédures ne peuvent être appelées que de "Form1", pas "TForm1".
23/06/2022 à 21:27

RépondrePositif Négatif
Répondre

Sujets Connexes

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.