Bonjour,
c'est une question que j'ai déjà évoquée et qui reste pour moi d'actualité puisque je m'y attelle à nouveau pendant ces vacances scolaires.
J'utilise en Windev plusieurs bases en parallèle c'est à dire en simultané. J'utilise également d'une manière générale le transactionnel et les verrous. Mes bases sont actuellement mariaDB. J'utilise les privilèges assez finement.
En Windev pour utiliser le transactionnel (et les blocages) sur plusieurs requêtes en MySQL, je devrais être obligé d'utiliser SQLConnect qui ne permet d'utiliser qu'une base à la fois. C'est totalement inacceptable. Une autre solution est d'utiliser l'analyse classique et HExecuteRequeteSQL mais les blocages fonctionnent mal et surtout le transactionnel ne fonctionne que sur une seule requête. Or bon nombre d'opérations nécessite plusieurs requêtes enchaînées au terme desquelles on "commit" ou non. J'ai essayé aussi les affreux Hlitxxxx sans plus de succès.
Pour pallier ce problème, je fais appel à une dll delphi qui est appelée par Windev. En 32 bits (depuis Windev 7.5 et Delphi 7 ), l'ensemble est fonctionnel. Windev permet également de compiler en 64 bits (et disposent des drivers MySQL et MariaDB en 64 bits). Je compile le projet en 64 bits, la dll (VCL) Delphi aussi et j'obtiens un plantage totalement muet du programme au moment de l'appel de la méthode de la dll : gelé !
Je passe des Pchars à la dll (les requêtes et les Params). Elle me retourne un entier (un N° d'erreur). La question est de savoir si la réalisation d'une dll et son appel en 64 bits présentent une différence notable que j'ignorerais avec la même réalisation et l'appel en 32 bits.
Merci.
Partager