Italian validazione fallita

LordZenzo

Well-Known Member
Licensed User
Longtime User
oggi mi capita questo
if posizioni(1)=posizioni(0) then ... questa validazione per controllare se due oggetti occupano una stessa posizione

posizione(1) [x=1, y=1, t=3]
posizione(0) [x=1, y=1, t=3]
ossia uguali eppure la validazione fallisce, ma solo se i valori sono stati recuperati da mysql
 

LucaMs

Expert
Licensed User
Longtime User
Gli oggetti (in generale) non contegono valori ma puntano a zone di memoria che contengono il valore, quindi due oggetti risultano uguali se puntano alla stessa zona di memoria.

Quindi scrivere If Oggetto1 = Oggetto2 non confronta il contenuto dei due oggetti, ma i loro puntatori (alle memorie).

Spiegato malissimo, ma spero si capisca :p
 
Last edited:

sirjo66

Well-Known Member
Licensed User
Longtime User
Luca ha centrato il problema !!!
Devi confrontare i valori, non i puntatori ai valori, quindi:
B4X:
If posizioni(0).x = posizioni(1).x And posizioni(0).y = posizioni(1).y And posizioni(0).t = posizioni(1).t Then
    .......
End If
 
Top