Type long
Publié : dim. 05/oct./2025 22:22
Bonjour,
j'obtiens une erreur en V6.21 ou 6.20 avec le code suivant, alors que ça marchait sans probleme en 6.03
(pas testé toutes les versions intermédiaires).
(NB: Ce code sert juste à illustrer le probleme...)
Avec la variable imgnum déclarée en tant que Long, la ligne avec ImageGadget(...) renvoie une erreur "Le #Image spécifié n'est pas initialisé"
Si imgnum n'est pas déclaré, ou déclaré mais sans extension de type, ça marche.
Qu'est-ce qui a changé entre la 6.03 et la 6.20 qui explique ce problème?
Je suppose que ImageID(#Image) devait accepter un argument sur 4 octets (casté en 8?), et ça ne passe plus?
Mais je n'ai rien vu dans le changelog des differentes versions qui corresponde à ça.
j'obtiens une erreur en V6.21 ou 6.20 avec le code suivant, alors que ça marchait sans probleme en 6.03
(pas testé toutes les versions intermédiaires).
(NB: Ce code sert juste à illustrer le probleme...)
Avec la variable imgnum déclarée en tant que Long, la ligne avec ImageGadget(...) renvoie une erreur "Le #Image spécifié n'est pas initialisé"
Si imgnum n'est pas déclaré, ou déclaré mais sans extension de type, ça marche.
Qu'est-ce qui a changé entre la 6.03 et la 6.20 qui explique ce problème?
Je suppose que ImageID(#Image) devait accepter un argument sur 4 octets (casté en 8?), et ça ne passe plus?
Mais je n'ai rien vu dans le changelog des differentes versions qui corresponde à ça.
Code : Tout sélectionner
UsePNGImageDecoder()
Global imgnum.l ; KO
;Global imgnum ; OK
Procedure LoadProc()
imgnum = LoadImage(#PB_Any, #PB_Compiler_Home + "Examples\Sources\Data\GeeBee2.bmp") ; Charge l'image depuis un fichier
ImageGadget(#PB_Any, 0, 0, 128, 128, ImageID(imgnum)) ; Affichage
EndProcedure
;----------------- exemple d'utilisation -----------------
If OpenWindow(0, 200, 200, 400, 120, "Exemple", #PB_Window_SystemMenu)
LoadProc()
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf