Also habe ich mit dem Visualdesigner mir eine Oberfläche erstellt.
Doch wenn ich das Programm jetzt ausführe bleibt es hängen.
Er Öffnet zwar das #MainWindow aber nicht mehr die Gadgets die in dem Window sind. Kann dann immer nur den Prozess killen.
Ich hoffe mir kann einer von euch sagen warum dies so ist und mir einen kleinen Tip geben.
Wäre sehr dankbar.
Verwende Pb 4.0
mfg
Cofter
Code: Alles auswählen
;- Window Constants
;
Enumeration
#MainWindow
EndEnumeration
;- MenuBar Constants
;
Enumeration
#MenuBar_0
EndEnumeration
Enumeration
#Menu_Exit
#MENU_Hilfe
#MENU_Ueber
EndEnumeration
;- Gadget Constants
;
Enumeration
#ServerFrame
#ListPlayer
#ConsoleStringGadged
#CommandGadget
#SendConsole
EndEnumeration
;- StatusBar Constants
;
Enumeration
#StatusBar_0
EndEnumeration
;- Procedures
Procedure Open_MainWindow()
If OpenWindow(#MainWindow, 240, 147, 746, 524, "Solania Server v0.2b", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If CreateMenu(#MenuBar_0, WindowID(#MainWindow))
MenuTitle("File")
MenuItem(#Menu_Exit, "Exit")
MenuTitle("Options")
MenuTitle("Info")
MenuItem(#MENU_Hilfe, "Hilfe")
MenuItem(#MENU_Ueber, "Über")
EndIf
If CreateStatusBar(#StatusBar_0, WindowID(#MainWindow))
EndIf
If CreateGadgetList(WindowID(#MainWindow))
Frame3DGadget(#ServerFrame, 20, 70, 520, 380, "Console")
ListViewGadget(#ListPlayer, 560, 80, 170, 370)
StringGadget(#ConsoleStringGadged, 30, 90, 500, 350, "Console v0.2b", #PB_String_ReadOnly)
StringGadget(#CommandGadget, 20, 460, 520, 30, "Commands")
ButtonGadget(#SendConsole, 550, 460, 80, 30, "Send Console")
GadgetToolTip(#SendConsole, "Send Command to Console")
EndIf
EndIf
EndProcedure
Procedure recieve_information()
*Buffer = AllocateMemory(50000) ; frisst den speicher auf!!!!
SEvent = NetworkServerEvent()
If SEvent
ConsoleColor(15,0)
ClientID = EventClient()
Select SEvent
Case 1
SetGadgetText(#ConsoleStringGadged,"Neuer Client Connectet! " +Str(ClientID))
Case 2
ReceiveNetworkData(ClientID, *Buffer, 50000)
PrintN(PeekS(*Buffer))
Case 3
SetGadgetText(#ConsoleStringGadged,"Client " +Str(ClientID)+ " versucht Datei zu schicken!")
Case 4
SetGadgetText(#ConsoleStringGadged,"Client " +Str(ClientID)+ " verlässt den Server")
EndSelect
EndIf
FreeMemory(*Buffer)
EndProcedure
If InitNetwork()
in_db = InitDatabase()
db_examine = ExamineDatabaseDrivers()
db_driver = NextDatabaseDriver()
db_descript$ = DatabaseDriverDescription()
db_driver_name$ = DatabaseDriverName()
If CreateNetworkServer(0,7000)
Open_MainWindow()
Else
MessageRequester("Error","Server konnte nicht gestartet werden!")
EndIf
Else
MessageRequester("Error","Netzwerk konnte nicht initialisiert werden!")
EndIf
Repeat
recieve_information()
Delay(1)
ForEver