Je voudrais savoir si il est possible de mettre en place quelque chose comme ceci:
procedure waitandcall(time,@MyProcedureOrFunction)
qui s'exécutent de la fonction ou de la procédure que j'ai créé ?
Je ne suis pas sûr si elles sont appelées les rappels.
OriginalL'auteur ELCouz | 2012-12-28
Il est tout à fait possible, et vous n'avez même pas besoin d' @ avant votre fonction.
En fait, tous les événements sont basés sur ce.
Commencer par définir un type pour votre fonction/procédure
Ensuite, vous pouvez utiliser votre type de procédure n'importe où, tant que votre procédure de signature correspond à votre type.
Si vous êtes en utilisant une méthode de l'objet au lieu d'une simple procédure/fonction, vous devez utiliser
of object
Pour appeler votre rappel de l'intérieur, vous pouvez utiliser quelque chose comme ceci:
Juste un exemple sur la façon dont vous pouvez utiliser la fonction de rappel.
Si je comprends ce que cela signifie que je pouvais passer toute la procédure ?
Tant que la déclaration est la même (même paramètres, même type de retour, même convention d'appel), oui.
Ne pouvait pas l'utiliser avec stdcall
OriginalL'auteur ESG
Rappels sont exactement ce que ceux qui sont appelés, et Delphi est tout à fait capable de créer et de les appeler. Ils sont également connus comme pointeurs de fonction. Voir les Types de Procédure dans la documentation.
Si il fait ce que son nom l'indique, vous pouvez le faire de deux instructions:
Sleep(t); F;
Fondamentalement, je voulais un "blocage" de la procédure (pour un sujet) qui permettent de compter le temps (gettickcount) et wait (sommeil) puis lancer la procédure
Oh bien, vous venez de m'a fait réalisé que j'ai overthinked un peu... juste dormir(x quantité de temps)
OriginalL'auteur Rob Kennedy