Login mot de passe
Plantage presque aléatoire [forum - SQLManagerX]

Parcourir ce sujet :   1 Utilisateur(s) anonymes





Re: Plantage presque aléatoire
SQLManagerX Team
Inscrit:
2004/7/1 12:49
De Grenoble (38)
Messages: 2108
Hors Ligne
bonjour,

bon voila le mecanisme qui va permttre de controler les tratiement et ne pas se trouver dans le meme traitement simutlanement

une procedure globla

PROCEDURE PG_ChergementEnCours
()
//-------------------------------------------------
// procedure lancer dans un thread secondaire 
// qui permet de savoir qu'on est dans un trateiment
//-------------------------------------------------
indice est un entier
BOUCLE
   
// mettre un code ici pour eviter le warning
   
si indice >=1000 alors sortir
FIN
//------------------------------------------------


ensuite suivant le cas que tu veux c'est assez simple
cas ou tu ne veux pas que le code de cahrgement d'une table ou ZR se lance simultanement (je l'utilise dans une messagerie instannée) : chargement de la ZR

//--------------------------------------------
// on utilise le thread pour attendre que le chargement soit disponible
//--------------------------------------------
TANTQUE ThreadEtat("ChargementTableMess") <> Inexistant _ET_ ThreadEtat("ChargementTableMess")<>-1
    Multitâche
(-1)
FIN
//----------------------------------------
// le thread est dispo donc on fait le chargement
//----------------------------------------
ThreadExécute("ChargementTableMess",threadNormal,PG_ChergementEnCours)
/----------------------------------------

TRATIEMENT DU CHARGEMENT COMME D'HABITUDE

//---------------------------------------------------------
// cahrgement terminé on arrete le thread
//---------------------------------------------------------
ThreadArrête("ChargementTableMess")
//----------------------------------------------------------


ou alors dans un clc de table ou ZR pour eviter que le clic suivant viennent se melanger
dans affichage d'une ligne ou ZR par exemple


//--------------------------------------------
// on utilise le thread pour attendre que le chargement soit disponible
//--------------------------------------------
TANTQUE ThreadEtat("ChargementTableMess") <> Inexistant _ET_ ThreadEtat("ChargementTableMess")<>-1
    Multitâche
(-1)
FIN
//----------------------------------------
// le thread est dispo donc on fait le chargement
//----------------------------------------
ThreadExécute("ChargementTableMess",threadNormal,PG_ChergementEnCours)
/----------------------------------------

TRAITEMENT AFFICHAGE DE LA LIGNE

//---------------------------------------------------------
// cahrgement terminé on arrete le thread
//---------------------------------------------------------
ThreadArrête("ChargementTableMess")
//----------------------------------------------------------


voila on pourrait le faire avec des variable globale mais avec les thread tu peux le faire, et avantage tu peux nommer ton thread comme tu veux (dans threadExecute) donc tu pourrais en avoir un peu partout

je le fait par exemple dans une procedure _executeRequeteSQL qui renvoie une source de données et donc ce mecanisme m'assure que je ne fait pas de mySQLExec simultanné qui font planté la dll

voila en esperant que cela soit clair
j'ai pensé a ca car c'est un code pour une messagerie je rempli la table des message en arriere plan mais faut pas que le user clique sur affichage d'un element de la table alors que je suis dans la requete sql donc j'utilise le premier cas

voila

Posté le : 2018/9/8 10:37
_________________
----------
Firetox
8 rue Georges Méliès
38130 ECHIROLLES
..............................
http://emidev.fr
http://www.teecod.fr/web/Informatique/accueil
Transférer la contribution vers d'autres applications Transférer

Sujet Auteurs Dernières réponses
     Plantage presque aléatoire cbekier 2018/9/6 13:29
       Re: Plantage presque aléatoire Firetox 2018/9/6 14:51
       Re: Plantage presque aléatoire cbekier 2018/9/6 15:00
         Re: Plantage presque aléatoire Firetox 2018/9/6 15:15
           Re: Plantage presque aléatoire cbekier 2018/9/7 19:16
             Re: Plantage presque aléatoire Firetox 2018/9/7 19:58
               Re: Plantage presque aléatoire cbekier 2018/9/7 20:15
                 Re: Plantage presque aléatoire Firetox 2018/9/8 10:37
                   Re: Plantage presque aléatoire Firetox 2018/9/8 10:47
                     Re: Plantage presque aléatoire fulgence01 2018/9/20 16:37
                       Re: Plantage presque aléatoire Firetox 2018/11/8 12:34





[Recherche avancée]