Moi aussi j'ai ce genre d'erreur et la réponse est toujours la même, c'est celle de Demivec : Il faut des constantes.
EcranX et EcranY doivent être constant.
C'est à dire que l'on ne peut pas utiliser de variable, il faut que "EcranX et EcranY" soient définis avant même la compilation.
Code : Tout sélectionner
#EcranX = 800
#EcranY = 600
Procedure CaptEcran (Destination$ , LargSortie = #EcranX, HautSortie = #EcranY)
;(....)
Debug "EcranX " + Str(LargSortie)
Debug "EcranY " + Str(HautSortie)
ProcedureReturn 1
EndProcedure
dest$=""
CaptEcran(dest$)
End
ou alors
Code : Tout sélectionner
Global EcranX
Global EcranY
Procedure DimensionEcranPureBasic()
ExamineDesktops()
EcranX = DesktopWidth(0)
EcranY = DesktopHeight(0)
EndProcedure
Procedure DimensionEcran()
EcranX = GetSystemMetrics_(#SM_CXSCREEN)
EcranY = GetSystemMetrics_(#SM_CYSCREEN)
EndProcedure
Procedure CaptEcran (Destination$)
;DimensionEcranPureBasic()
DimensionEcran()
LargSortie = EcranX
HautSortie = EcranY
;(....)
ProcedureReturn 1
EndProcedure
dest$=""
CaptEcran(dest$)
Debug "EcranX " + Str(EcranX)
Debug "EcranY " + Str(EcranY)
Je peux savoir pourquoi tu n'utilises pas les fonctions purebasic DesktopWidth(),... ?
Mesa