Ik ben bezig aan een simpel spelletje dat straks over netwerk moet gaan draaien. De info over de players wordt alsvolgt opgeslagen:
Maar goed, als je wat door Winsock wilt gaan sturen, moet het een string zijn. M.a.w. ik moet deze Type omzetten in een String. Hiervoor had ik al CopyMemory gebruikt, maar dat werkt niet goed ofzo, vast omdat het doubles zijn denk ik.
In de serverwindow had ik dit gemaakt:
en in de client window dit:
even voor de duidelijkheid: mijn app heeft dus 2 windows, 1 server en een client die met elkaar alleen maar via Subs en Functions communiceren.
Als je dan in de client window de waarden van die doubles opvraagt, komt er 0 uit, of geeft VB een fatal error [lekker dat je dan ook je source code kwijt ben btw]. Weet iemand een betere manier om deze structure om te zetten in string, en weer terug?
code:
1
2
3
4
5
6
7
8
9
10
11
12
| Private Type Plr
X As Double
Y As Double
VX As Double
VY As Double
PL As Boolean
PR As Boolean
PU As Boolean
PD As Boolean
End Type
Dim Player(8) As Plr |
Maar goed, als je wat door Winsock wilt gaan sturen, moet het een string zijn. M.a.w. ik moet deze Type omzetten in een String. Hiervoor had ik al CopyMemory gebruikt, maar dat werkt niet goed ofzo, vast omdat het doubles zijn denk ik.
In de serverwindow had ik dit gemaakt:
code:
1
2
3
4
5
| Function SendInfo(playernum As Byte) As String
Dim k As String * 40
CopyMemory ByVal VarPtr(k), ByVal VarPtr(Player(playernum)), 40
SendInfo = k
End Function |
en in de client window dit:
code:
1
2
3
4
5
| Private Sub Timer2_Timer()
Dim k As String * 40
k = Form1.SendInfo(0)
CopyMemory ByVal VarPtr(Player(0)), ByVal VarPtr(k), 40
End Sub |
even voor de duidelijkheid: mijn app heeft dus 2 windows, 1 server en een client die met elkaar alleen maar via Subs en Functions communiceren.
Als je dan in de client window de waarden van die doubles opvraagt, komt er 0 uit, of geeft VB een fatal error [lekker dat je dan ook je source code kwijt ben btw]. Weet iemand een betere manier om deze structure om te zetten in string, en weer terug?