Message de rapport:
 

[Composant] Thread + Procédure

Sujet: [Composant] Thread + Procédure
par Agent_X sur 13/4/2006 16:50:13

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 :


AD_Start()


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 class

Dans 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
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2