charvista wrote:My System : Vista Home Premium x86, and PB 4.50 x86. (Same problem on W7 x86)
Same problem here with PB 4.51 RC 2 x86 on Windows XP x86, compiled to Unicode.
//edit:
charvista wrote:On further investigation, it seems that only *some* characters are not passing the PokeS/PeekS, as well PokeA, PokeB, PokeC etc when using their ascii value.
I didn't encounter a problem with PokeA() and PeekA(). What is the code that showed problems with these functions to you?
The following code -- when compiled to Unicode -- confirms the problem regarding PokeS() and PeekS():
Code: Select all
Macro Hb (_x_)
RSet(Hex(_x_),2,"0")
EndMacro
Define *m.Ascii, i.a, p.a
*m = AllocateMemory(10)
Debug "-- PokeS() errors:"
For i = $00 To $FF
; PokeA(*m, i) ; works well
PokeS(*m, Chr(i), 1, #PB_Ascii)
If i <> *m\a
Debug "i = $" + Hb(i) + ", *m\a = $" + Hb(*m\a)
EndIf
Next
Debug ""
Debug "-- PeekS() errors:"
For i = $00 To $FF
*m\a = i
; p = PeekA(*m) ; works well
p = Asc(PeekS(*m, 1, #PB_Ascii))
If *m\a <> p
Debug "*m\a = $" + Hb(*m\a) + ", p = $" + Hb(p)
EndIf
Next
Output:
Code: Select all
-- PokeS() errors:
i = $80, *m\a = $3F
i = $82, *m\a = $3F
i = $83, *m\a = $3F
i = $84, *m\a = $3F
i = $85, *m\a = $3F
i = $86, *m\a = $3F
i = $87, *m\a = $3F
i = $88, *m\a = $3F
i = $89, *m\a = $3F
i = $8A, *m\a = $3F
i = $8B, *m\a = $3F
i = $8C, *m\a = $3F
i = $8E, *m\a = $3F
i = $91, *m\a = $3F
i = $92, *m\a = $3F
i = $93, *m\a = $3F
i = $94, *m\a = $3F
i = $95, *m\a = $3F
i = $96, *m\a = $3F
i = $97, *m\a = $3F
i = $98, *m\a = $3F
i = $99, *m\a = $3F
i = $9A, *m\a = $3F
i = $9B, *m\a = $3F
i = $9C, *m\a = $3F
i = $9E, *m\a = $3F
i = $9F, *m\a = $3F
-- PeekS() errors:
*m\a = $80, p = $AC
*m\a = $82, p = $1A
*m\a = $83, p = $92
*m\a = $84, p = $1E
*m\a = $85, p = $26
*m\a = $86, p = $20
*m\a = $87, p = $21
*m\a = $88, p = $C6
*m\a = $89, p = $30
*m\a = $8A, p = $60
*m\a = $8B, p = $39
*m\a = $8C, p = $52
*m\a = $8E, p = $7D
*m\a = $91, p = $18
*m\a = $92, p = $19
*m\a = $93, p = $1C
*m\a = $94, p = $1D
*m\a = $95, p = $22
*m\a = $96, p = $13
*m\a = $97, p = $14
*m\a = $98, p = $DC
*m\a = $99, p = $22
*m\a = $9A, p = $61
*m\a = $9B, p = $3A
*m\a = $9C, p = $53
*m\a = $9E, p = $7E
*m\a = $9F, p = $78
Regards, Little John