Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pour résoudre de problème de perte de connexion avec mon serveur mysql, j'ai du détecter la sortie de veille. En cherchant un peu j'ai trouvé que windows déclanchait un WM_POWERBROADCAST
comme dans la version 8 que j'utilise il n'y a pas de pbm_powerbroadcast (en PB 11.5.1 non plus), j'ai codé en utilisant le pbm_other.
Voici ce que ca donne :
... event allevents pbm_other ... event allevents; // Voir http://msdn.microsoft.com/en-us/library/windows/desktop/aa373167(v=vs.85).aspx choose case Message.Number case 536 // WM_POWERBROADCAST = 536 (0x218) choose case wParam case 10 // PBT_APMPOWERSTATUSCHANGE (0xA) Power status has changed. case 18 // PBT_APMRESUMEAUTOMATIC (0x12) Operation is resuming automatically from a low-power state. This message is sent every time the system resumes. // Traitement en Sortie de veille case 7 // PBT_APMRESUMESUSPEND (0x7) Operation is resuming from a low-power state. This message is sent after PBT_APMRESUMEAUTOMATIC if the resume is triggered by user input, such as pressing a key. case 4 // PBT_APMSUSPEND (0x4) System is suspending operation. // Traitement en Entrée de veille case 32787 // PBT_POWERSETTINGCHANGE (0x8013) A power setting change event has been received. end choose end choose end event
Pour rétablir ma connexion j'ai fait quelque chose comme :
disconnect using sqlca; connect using sqlca;
sans le disconnect ca passait pas et je n'ai pas trop compris pourquoi mais bon ca a l'air rouler comme ca.
Dernière modification par FlorentP (07-02-2015 18:29:51)
Hors ligne
Je l'ai mis en résolu parce que ce n'était pas une question mais une solution.
Hors ligne