Gambas France BETA


Pas de compte ? Incription

Bug, re-bonjour à tous et bonne année

1
AuteurMessages
O.Coquet#1 Posté le 4/1/2020 à 09:53:23
Ce qui n'est pas devra-t-être inventéBonne année à tous !
Voila bien longtemps que je ne suis pas venu ici mais Noël, un raspberry pi 4 et un peu de temps libre m'ont fait revenir à mes anciennes amours.

Que d'évolutions sur Gambas, sur le Rasp, c'est la version 3.12 qui est en paquetage, et je tombe sur Le bug ! pas de chance.
Voici la description:
Fonction externe déclarée comme suit:

Extern Fake(Channel As Long, data As Long, data2 As Long) As Long In "libk8055"

cette fonction renvoie la valeur de data2 en long.

Appel de la fonction:

Message.Info(Fake(1, 100, 200))

La valeur obtenue est 100 soit data et pas data2.

Je creuse, et je m’aperçois que lors de l'appel d'une fonction externe le premier paramètre est à la bonne place mais le second est nul et le troisième prend la valeur du deuxième.

J'ai fait la vérification avec une fonction à deux paramètres, même souci, le premier paramètre passe bien et le second est nul. m'est avis que ce problème est du à une boucle qui commence à 0 et pas à 1 (par exemple). J'ignore si ce bug existe dans la version 3.14, je ne peux as la tester sur rasp....

Merci de vos suggestions et commentaires.

Amitié à tous.
Olivier


Raspberry pi 3 et 4
Quelques autres "vieux" ordinateurs !
Flachy Joe#2 Posté le 4/1/2020 à 20:50:15
Iguane : Il Gambas Uniquement pour Activer ses NEuronesSalut,
es-tu bien sur du type de donnée à passer ?
Sur un environnement 32 bits le type long en C est un type integer en Gambas, cf http://gambaswiki.org/wiki/doc/extern
;) Flachy Joe ;)
O.Coquet#3 Posté le 5/1/2020 à 12:26:31
Ce qui n'est pas devra-t-être inventéOui, j'ai essayé plusieurs types de données et le résultat est le même de plus la version que j'utilisais est celle que j'avais mise en téléchargement ici en 2017 et qui fonctionnait bien.
Aujourd'hui elle ne fonctionne plus alors que l'environnement est le même...
A vérifier mais à mon avis il s'agit bien d'un bug.....

amitié
Olivier
Raspberry pi 3 et 4
Quelques autres "vieux" ordinateurs !
spheris#4 Posté le 5/1/2020 à 12:36:13
Hello olivier,
Et si tu essayes en type 'variant', que se passe t il?
O.Coquet#5 Posté le 5/1/2020 à 15:58:36
Ce qui n'est pas devra-t-être inventéje n'ai effectivement pas essayé, mais sauf erreur de ma part les "variants" ne sont pas autorisés dans les appels de fonctions externes...


amitié
Olivier
Raspberry pi 3 et 4
Quelques autres "vieux" ordinateurs !
O.Coquet#6 Posté le 5/1/2020 à 16:03:45
Ce qui n'est pas devra-t-être inventéje viens de faire le test = pas mieux.....
Raspberry pi 3 et 4
Quelques autres "vieux" ordinateurs !
spheris#7 Posté le 5/1/2020 à 16:47:31
Je n'ai pas la solution à ton problème de bug en passant par la libk8055.
En général je compile l'exécutable de la VM110 sur le rapsberry, puis à l'aide de gb, je lance la commande :

exec["k8055","-d:",madonnee]

C'est moins direct mais cela a le mérite de fonctionner quelque soit la plateforme.

;)
O.Coquet#8 Posté le 6/1/2020 à 17:55:23
Ce qui n'est pas devra-t-être inventéBon pour contourner le problème, j'ai ré-écrit quelques fonctions de la lib, mais c'est pas idéal, d'autant que le problème doit être identique avec toutes les librairies.....

amitié
Olivier
Raspberry pi 3 et 4
Quelques autres "vieux" ordinateurs !
spheris#9 Posté le 7/1/2020 à 16:21:24
Olivier,
Peut être pourrais-tu poster ta lib dans la forge (si c'est faisable) pour que j'y jette un coup d'oeil.
Merci
;-)
O.Coquet#10 Posté le 15/1/2020 à 12:31:49
Ce qui n'est pas devra-t-être inventéJe le fais dès que j'ai 5minutes, mais bon j'ai juste rajouté deux fonctions avec un seul argument au lieu de deux....

Quelqu'un pourrait-il tester si la dernière version de Gambas a ce problème ?

Pour le test, n'importe quelle librairie fera l'affaire.

amitié
Olivier
Raspberry pi 3 et 4
Quelques autres "vieux" ordinateurs !
O.Coquet#11 Posté le 18/1/2020 à 12:18:16
Ce qui n'est pas devra-t-être inventéBon c'est compliqué,
en fait télécharge la version source de la librairie, décompresse la, et je vais mettre seulement les deux fichiers à remplacer ici.

amitié
Olivier
Raspberry pi 3 et 4
Quelques autres "vieux" ordinateurs !
1