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
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
Partager