Is it normal that the Dim and Global have the same effect ? A Global variable should be used anywhere, but a Dim variable should not be recognized in functions?! What is the difference between a Dim and a Global variable? Dim $d1 = 1 Global $g1 = 1 MsgBox(0,"","D1="&$d1&@CR&"G1="&$g1) dim $x test($x) MsgBox(0,"","D1="&$d1&@CR&"G1="&$g1) func test($x) MsgBox(0,"","D1="&$d1&@CR&"G1="&$g1) $d1 += 1 $g1 += 1 EndFunc