Bonjour,
Je développe une petite application pour faire des requêtes sur une base de données Firebid 3 en utilisant des composants UIB.
Bien qu'utilisant Windows 10 64 bits, je l'ai d'abord développée sur une installation de Lazarus/FPC (les deux trunc début novembre)créée en version 32 bits avec fpcdeluxe fpcupdeluxe-i386-win32.exe. Ce dernier permettant d'installer le module de x86_64 pour windows, j'ai pu faire fonctionner sans problème mon application en 32b comme en 64b.
Désirant corriger FPC à causes certaines anomalies (fuites mémoires) gênantes pour d'autres applications, j'ai refait mon installation de Lazarus FPC dans les mêmes conditions. Pas de problème en 32b, mais lors de la compilation en 64b un message signale que le déguggeur ne fonctionnera pas.
J'ai donc refait l'installation de Lazarus/FPC en 64b avec fpcupdeluxe-x86_64-win64.exe et le module de cross-compilation i386 en 32b.
Mon application fonctionne très bien en 64b, mais en 32b, la lecture d'un champ de type timestamp provoque une erreur "Invalid floating point operation" lors de l'affichage suivi de l'affichage de la fenêtre assembleur jointe
Je suis loin d'être un spécialiste de l'assembleur, mais il me semble que les instructions comme "fild" sont spécifiques au 64b. Comme l'erreur semble bien apparaitre dans la procédure de sysutils concernant les timestamps, s'agit-il d'une erreur dans le module de cross-compilation et existe-t-il un moyen de la réparer?
André
Partager