Ich habe ein Problem, dass ihr vielleicht zu lösen wisst:
Ich benutze eine LinkedList, mit der ich angemeldete verwalten möchte.
Ansich habe ich mir gedacht, dass vorerst eine Deklaration der Linked List als "Global" ausreichend sein sollte, damit ich diese in jeder Prozedir verwenden kann. Offenbar ist dem nicht so - der Compiler sagt mir, dass meine Linked List offenbar nicht initialisiert wurde. (Ist sie das nicht nach New?)
Mein Programm sieht in etwa so aus:
Code: Alles auswählen
; Server-Programmcode
InitNetwork
InitKeyboard
Structure sClients
name.s
ID.l
EndStructure
Global NewList Clients.sClients()
Declare (---Alle Prozeduren---)
PrepareServer()
Repeat
If SEvent = NetworkServerEvent()
Select SEvent
Case #PB_NetworkEvent_Connect
NewClient(EventClient())
Case #PB_NetworkEvent_Data
WorkData(EventClient())
Case #PB_NetworkEvent_Disconnect
RemoveClient(EventClient())
EndIf
If KeyboardReleased(#PB_Key_Escape)
CloseAllClients()
End
EndIf
ForEver
(---Etliche Prozeduren---)
Procedure CloseAllClients()
ForEach Clients()
SendNetworkString(Clients()\ID, "S#01: Server shutting down")
Next
EndProcedure
Wie kann ich das Ganze elegant lösen?