Cela doit être plus facile pour les développeurs, sinon ils devraient expliquer que les variables globales ne peuvent être modifiées dans le gestionnaire OnTick qu'à mi-chemin, lorsque l'événement timer se produit et que le programme y passe.
pusheax: C'est probablement plus facile pour les développeurs, sinon ils devraient expliquer que les variables globales ne peuvent être modifiées qu'à mi-chemin dans le gestionnaire OnTick, lorsqu'un événement de minuterie s'est produit et que le programme y est passé.
Il existe de courts "blocs ininterrompus" pour cela. L'interruption attend quand même qu'elle se termine, puis s'interrompt.
MetaDriver: Il existe de courts "blocs ininterrompus" pour cela. L'interruption attend qu'elle se termine dans tous les cas, puis s'interrompt.
Je ne le savais pas du tout, et j'ai écrit en supposant qu'il pourrait y avoir une interruption et que les données ne seraient pas entièrement traitées.
Définir les drapeaux pour commencer et terminer le traitement.
Yurich: Une interruption se produit lorsque OnTick est en cours d'exécution et qu'un événement plus important, tel que OnTimer, est arrivé. L'exécution de OnTick est mise en pause, le code OnTimer est exécuté, puis OnTick est exécuté à nouveau.
En somme, vous avez besoin d'une sorte de multithreading.
Et je n'étais pas du tout au courant et j'ai écrit avec la possibilité qu'il y ait une interruption et que les données ne soient pas entièrement traitées.
Je mets des drapeaux pour commencer et terminer le traitement.
C'est parti. Le public est déjà à mi-chemin, vous pouvez entrer en toute sécurité.
si seulement :)
C'est probablement plus facile pour les développeurs, sinon ils devraient expliquer que les variables globales ne peuvent être modifiées qu'à mi-chemin dans le gestionnaire OnTick, lorsqu'un événement de minuterie s'est produit et que le programme y est passé.
si seulement :)
Je ne veux pas utiliser MessageBox sans réfléchir.
Il existe de courts "blocs ininterrompus" pour cela. L'interruption attend qu'elle se termine dans tous les cas, puis s'interrompt.
Je ne le savais pas du tout, et j'ai écrit en supposant qu'il pourrait y avoir une interruption et que les données ne seraient pas entièrement traitées.
Définir les drapeaux pour commencer et terminer le traitement.
Une interruption se produit lorsque OnTick est en cours d'exécution et qu'un événement plus important, tel que OnTimer, est arrivé. L'exécution de OnTick est mise en pause, le code OnTimer est exécuté, puis OnTick est exécuté à nouveau.
Et avec les interruptions, tout serait dans le même fil.
Et je n'étais pas du tout au courant et j'ai écrit avec la possibilité qu'il y ait une interruption et que les données ne soient pas entièrement traitées.
Je mets des drapeaux pour commencer et terminer le traitement.
C'est parti. Le public est déjà à mi-chemin, vous pouvez entrer en toute sécurité.
;)
En général, il faut au moins un peu de multithreading pour les maternelles.