Bonjour,
je developpe aujourd'hui un composant X qui sera utilisé dans une application(projet) Y.
Premier probléme :
Dans ce composant j'ai une fenetre nommée "Interface" ouverte donc par le projet client.
L'appui sur un des boutons de cette fenetre execute le code suivant :
qui est une procédure globale du composant.
Voici le code de AD_Start() :
ThreadExécute("NomThread",threadNormal,"CInterface::ThreadClient"
Ca lance donc un thread chargé d'executer
une méthode globale de classDans la documentation windev on peut lire :
Citation :
Si <Procédure W-Langage> est une méthode globale de classe , le "thread" est automatiquement arrêté à la fin de l'exécution du projet.
Ce que je fais est que dans cette methode globale de classe je fais un trace dans un fichier ( pour voir si mon thread travaile toujours)
Mon probléme est que dés que je ferme la fenetre mon thread est arrété
Second probléme :
j'execute ce code dans une méthode de class de mon composant :
ExécuteTraitement(:NOM_PROC,trtProcédureProjet)
où NOM_PROC représente le nom d'une procédure existante dans le projet client.
Dans la doc windev on peut lire :
Citation :
trtProcédureProjet
Exécute la procédure désignée. Cette procédure est une procédure du projet accueillant le composant WinDev / WebDev.
Ce paramètre peut être utilisé uniquement pour un composant WinDev / WebDev intégré dans un autre projet.
Cependant ca n'execute pas la procédure globale de mon projet client
Voici l'erreur :
Citation :
Exception composant Interface
Dump de l'erreur du module <WD90VM.DLL> <9.01Ga>.
- Appel WL :
Traitement de <CInterface.Transmission>, ligne <74>, thread <0>
Fonction <ExécuteTraitement>, n° de syntaxe <0>
- Niveau : erreur fatale (EL_FATAL)
- Code erreur : 1004
- Code erreur WD55 : 0
- Pas de code d'erreur système
- Pas de message d'erreur système
- Que s'est-il passé ?
Le code doit être recompilé.
- Infos de debug :
En-tête invalide
Identifiant objet : 143e5b78032965c2
Identifiant code : 00070000
Fonction (0,0)
- Infos attachées :
EIT_DATEHEURE : 13/04/2006 16:29:35
EIT_PILEWL :
Méthode Transmission(CInterface.Transmission), ligne 74
Méthode ThreadClient (CInterface.ThreadClient), ligne 30
Ai-je mal compris la doc ou alors je fais quelque chose mal ?
Merci de votre aide