J'amerais savoir si dans le code ci-dessous il s'agit d'un bug ou non.
Dans l'exemple [1] il s'agit d'une Procedure sans argument avec ReturnString$ qui n'est pas mit en Global.
Le résultat n'est pas bon.
Dans l'exemple [2] il s'agit d'une Procedure sans argument avec ReturnStringEnGlobale$ mit en Global.
Le résultat est bon.
Dans l'exemple [3] il s'agit d'une Procedure avec 1 argument non utilisé avec ReturnStringNONGlobale$ qui n'est pas mit en Global.
Le résultat est bon.
D’ailleurs "ReturnStringNONGlobale$" peut même être mit en "Protected" le résultat est bon aussi.
Code : Tout sélectionner
; [1] Procedure sans argument avec ReturnString$ qui n'est pas mit en Global.
ProcedureDLL.i MaFonction1()
ReturnString$ = "Test1"
*ReturnString = @ReturnString$
ProcedureReturn *ReturnString
EndProcedure
Debug PeekS(MaFonction1()) ; Resultat bizarroide
; [2] Procedure sans argument avec ReturnStringEnGlobale$ mit en Global.
Global ReturnStringEnGlobale$
ProcedureDLL.i MaFonction2()
ReturnStringEnGlobale$ = "Test2"
*ReturnString = @ReturnStringEnGlobale$
ProcedureReturn *ReturnString
EndProcedure
Debug PeekS(MaFonction2()) ; Resultat CORRECT
; [3] Procedure avec 1 argument non utilisé avec ReturnStringNONGlobale$ qui n'est pas mit en Global.
ProcedureDLL.i MaFonction3(varBidonUtiliseeNullePart$)
ReturnStringNONGlobale$ = "Test3"
*ReturnString = @ReturnStringNONGlobale$
ProcedureReturn *ReturnString
EndProcedure
Debug PeekS(MaFonction3("Bibidondon")) ; Resultat CORRECT
Quand dans un code situé dans une Dll on utilise le mot-clé "Debug", cela ne fonctionne plus.
Y a t'il un truc à paramétrer dans l'IDE pour que cela continu de fonctionner.
Parce que je suis obligé d'utiliser Messagerequester et c'est moins pratique.
[Autre bug] Sous Linux on ne peut pas modifier la Police du spinGadget (c'était le cas avec la 4.60b3)
Peut-être que cela a été rectifié.
Bye.