Il seguente spezzone di codice B4A colora lo schermo di una tonalità di blu
B4X:
Dim coloreX As Long
coloreX=Colors.RGB(50,109,179)
Log(coloreX)
Activity.Color = coloreX
e stampa il numero del colore
-13472333
Quest'altro spezzone (scritto in VB6) fa la medesima cosa (stesso colore) ma stampa un altro numero (11758898)
B4X:
Dim ColoreX As Long
ColoreX = RGB(50, 109, 179)
Debug.Print ColoreX
BackColor = ColoreX
Intuisco che ci deve essere una relazione tra i 2 numeri ma non so quale. Qualcuno mi sa dare un suggerimento ?
Il tutto mi servirebbe per controllare la corretta trasposizione di codice da VB6 a B4A.
Grazie.
This is the english section of the forum not the Italian.
Try change colors.rgb into colors.ARGB(255,50,109,179) and check if this could be the reason.
The problem is about how B4a uses numbers (signed).
In B4a bytes ranges from-127 to 127, in VB6 from 0 to 255. So your '179' is used by b4a as a signed (negative) number.
Your VB6 11758898 means 0xB36D32 (B3=179, 6D=109, 32=50) unsigned.
The result in B4a is -13472333 which is a signed 0xFF326DB3.