To illustrate my first post, here are 2 examples with two exe created with exactly the same code (the first under PB6.03, the second under PB610b2) running under exactly the same conditions.
Example 1:
Example 2:
Note that the message in the 2nd example is not at all the same as in the 1st (it corresponds to the content of a global variable used in other procedures

).
The source of the macro and procedure (the ';ResultMSG' lines correspond to tests to understand the source of the problem):
Code: Select all
Macro Mc_FormatageMsg(ArgChaine)
ReplaceString(ArgChaine,Chr(32),Chr(160),#PB_String_InPlace)
EndMacro
Procedure Pc_Traitement_BtFPArreter()
Debug #PB_Compiler_Procedure+"()",5
Protected.a ResultatMSG
Protected.s TitreMsg,TexteMsg
If IsThread(*DonneesThread\IDThread)
Pc_Thread_Pause(*DonneesThread)
Select *DonneesThread\TypeTraitement
Case 1:TitreMsg="Analyse de dossiers":TexteMsg="Confirmer l'arrêt de l'analyse du dossier ?"
Case 2:TitreMsg="Création des galeries":TexteMsg="Confirmer l'arrêt de la création des galeries ?"
EndSelect
;ResultatMSG=MessageRequester(TitreMsg+" 1",TexteMsg,#PB_MessageRequester_YesNo|#MB_ICONQUESTION)
;ResultatMSG=MessageRequester(TitreMsg+" 2",UnescapeString(TexteMsg),#PB_MessageRequester_YesNo|#MB_ICONQUESTION)
ResultatMSG=MessageRequester(TitreMsg+" 3",Mc_FormatageMsg(UnescapeString(TexteMsg)),#PB_MessageRequester_YesNo|#MB_ICONQUESTION)
;ResultatMSG=MessageRequester(TitreMsg+" 4",ReplaceString(TexteMsg,Chr(32),Chr(160),#PB_String_InPlace),#PB_MessageRequester_YesNo|#MB_ICONQUESTION)
Pc_Thread_Reprise(*DonneesThread)
If ResultatMSG=#PB_MessageRequester_Yes
Pc_Thread_Arret(*DonneesThread)
EndIf
EndIf
EndProcedure