|
Accueil → WINDEV 2024 → Plantage d'un programme utilisant un API après migration de WD21 vers WD22 |
Plantage d'un programme utilisant un API après migration de WD21 vers WD22 |
Débuté par Olivier, 22 mai 2017 17:29 - 3 réponses |
| |
| | | |
|
| |
Membre enregistré 88 messages Popularité : +2 (2 votes) |
|
Posté le 22 mai 2017 - 17:29 |
Bonjour, J'ai une application développée en WD21, qui utilise un module USB connecté à des machines pour récupérer des comptages. Ce module USB (marque DEDITEC) est géré par une API.
En WD21, j'ai développé le programme qui marche très bien. Il est installé sur un serveur Windows 2012R2 (anglais), et, est utilisé en mode TSE (sur des clients légers). (Seul Windows 2012R2 peut gérer ce périphérique USB via le client léger, c'est le pourquoi de cet O.S.)
Début Avril, j'ai migré l'application en WD22, et j'ai travaillé dessus (presque 2 mois) pour la faire évoluer.
Début de semaine dernière, la mise à jour étant terminée, j'ai donc compilé le programme (en 64bits) et l'ai installé sur le serveur.
A l'exécution, le programme se plante violemment (erreur Windows, pas possible à tracer) dès que je sollicite l'API.
J'ai donc passé 3 jours à mettre en évidence le phénomène, et j'ai crée un projet (contenant une fenêtre, et tout ce qu'il faut pour faire tourner l'API). Je l'ai communiqué à PCSOFT, mais sans le module externe, ils n'arrivent pas à reproduire le cas.
Je précise que sur un PC en Windows 7 Pro, cela fonctionne tout à fait correctement, et que le même programme compilé en WD21 fonctionne aussi sur le serveur 2012R2..... c'est vraiment la combinaison API,WD22 et 2012R2 qui pose problème.
Je voudrais savoir si quelqu'un aurait rencontré un problème similaire, dans une configuration identique: à Savoir un programme en WD22, utilisant une API sur un serveur Windows 2012R2?
Pour info, j'ai dû prendre une assistance directe, pour que l'on essaie de déboguer le problème.
Cordialement Olivier.
-- Olivier Heckel |
| |
| |
| | | |
|
| | |
| |
Posté le 22 mai 2017 - 21:17 |
Bonjour Olivier, dans tout ce que tu décris, une chose m'inquiète:
Début de semaine dernière, la mise à jour étant terminée, j'ai donc compilé le programme (en 64bits) et l'ai installé sur le serveur.
64 bits!!!!
as tu essayé en 32 bits ?
Si non, essaye, parceque si ton api/dll est en 32 bits, elle ne pourra pas être appelée par une appli en 64 bits, et comme tu ne précise ce 64 bits que de ce coté la...
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 88 messages Popularité : +2 (2 votes) |
|
Posté le 24 mai 2017 - 17:00 |
bonjour Fabrice, Désolé je n'avais pas été notifié de ta réponse.... En fait l'API est livrée avec les DLL 32 et 64 bits. la compilation est faite en installation combinée 32/64. A l’exécution du programme, que ce soit en 32 ou 64 bits (en fonction du paramètre EnMode64bits()), je charge soit la DLL 32 soit la DLL 64. Donc je pense avoir la totalité de la chaine en 64.
Encore une fois, tout fonctionne très correctement une fois compilé en WD21, et la même chose ne fonctionne pas une fois compilé en WD22, SUR UN SERVEUR WINDOWS 2012R2. Sur mon PC de développement (64bits), les 2 versions WD21 et WD22 fonctionnent correctement. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 948 messages Popularité : +30 (92 votes) |
|
Posté le 25 mai 2017 - 02:22 |
Coucou,
sa vient pas de DEDITEC ?
-- Charly CanDo. Forg en Nouvelle-Zélande - In üs we trust |
| |
| |
| | | |
|
| | | | |
| | |
|