Bonjour,

Je suis en train de reprendre une application Delphi qui pilote Excel.
Actuellement l'application utilise un TTimer cadencé à 10 millièmes de secondes. L'évènement du timer traite 1 ligne du fichier Excel

Donc l'application traite 1 ligne d'Excel
Elle attend le prochain évènement
Elle traite la ligne suivante.
Et ainsi de suite.

Les temps de réponse sont évidemment très longs : autant de lignes à traiter autant de fois on attend
10 millièmes de secondes


J'ai essayé d'enchainer la totalité du traitement (2000 lignes d'Excel à traiter) avec juste une temporisation toutes les 100 lignes

Code : Sélectionner tout - Visualiser dans une fenêtre à part
while ((attente + interval) > gettickcount) do application.ProcessMessages;
attente := gettickcount;

Cela fonctionne parfaitement
Je voudrais avoir votre avis sur l'utilité de ce genre de pause. Est-ce que l'OLE est vraiment asynchrone et que la partie Delphi continue à avancer pendant que la partie Excel effectue un traitement ?

Merci d'avance