J'essaie de comprendre comment déclarer à la fois un enregistrement et un nombre d'événements d'objets qui s'utilisent mutuellement. Le problème est quelle que soit la façon dont je les déclare, j'ai un "identifiant non déclaré". Donc avec le code ci-dessous, est-ce que je peux les amener à s'utiliser les uns les autres? Les événements seront utilisés dans un objet et l'enregistrement sera transmis et utilisé dans le constructeur de l'objet.Comment déclarer un enregistrement contenant des événements qui utilisent l'enregistrement comme paramètre
TMyEvent = procedure(Sender: TObject; var Rec: TMyRecord) of object;
TMyRecord = record
OnMyEvent: TMyEvent;
end;
Est-ce possible? Il doit fonctionner dans toutes les versions de Delphi 7 et plus.
+1. BTW: La variable avant Rec: PMyRecord n'est pas nécessaire, à moins que votre code de gestion d'événement alloue un nouvel enregistrement et l'affecte à 'Rec'. C'est la même chose que lorsque vous passez un objet; par exemple, si vous voulez passer un 'TStringList' dans une procédure et lui ajouter des chaînes supplémentaires, vous n'avez pas besoin d'utiliser' var SList: TStringList', mais vous pouvez utiliser 'const SList: TStringList' à la place. –
@jerry vous avez accepté la réponse trop rapidement –
@DavidHeffernan Je ne pense pas que je l'ai fait, car il a parfaitement résolu mon problème, et l'autre réponse que je ne peux pas utiliser. Juste, je n'ai rien mentionné d'être compatible avec toutes les versions jusqu'à 7. –