Com et les services windows
Un petit conseil sur l'utilisation de COM avec les Services Windows.
aujourd'Hui j'ai essayé d'accéder à un document XML à partir d'un service Windows. Quand j'ai prototypé mes classes à l'aide d'une application Windows forms tout a bien fonctionné, mais quand j'ai utilisé les mêmes classes dans un service Windows, j'ai gardé l'obtention de l'erreur 'CoInitialize n'a pas été appelé'.
CoInitialize doit être appelée pour chaque thread lors de l'utilisation de tout type d'objet COM. Le hic, c'est que le TService classe qui est livré avec Delphi crée son propre thread de support pour l'exécution de la OnExecute événement. Une fois que vous savez cela, il est assez simple à corriger votre code
procédure TMyService.ServiceExecute(Sender: TService) commencer CoInitialize(néant) //Ton code ici enfin CoUnInitialize fin fin |
Com et les services windows
Com et les services windows : Plusieurs milliers de conseils pour vous faciliter la vie.
Un petit conseil sur l'utilisation de COM avec les Services Windows.
aujourd'Hui j'ai essaye d'acceder a un document XML a partir d'un service Windows. Quand j'ai prototype mes classes a l'aide d'une application Windows forms tout a bien fonctionne, mais quand j'ai utilise les memes classes dans un service Windows, j'ai garde l'obtention de l'erreur 'CoInitialize n'a pas ete appele'.
CoInitialize doit etre appelee pour chaque thread lors de l'utilisation de tout type d'objet COM. Le hic, c'est que le TService classe qui est livre avec Delphi cree son propre thread de support pour l'execution de la OnExecute evenement. Une fois que vous savez cela, il est assez simple a corriger votre code
procedure TMyService.ServiceExecute(Sender: TService) commencer CoInitialize(neant) //Ton code ici enfin CoUnInitialize fin fin |
Com et les services windows
By commentfaire
Com et les services windows : Plusieurs milliers de conseils pour vous faciliter la vie.