arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 01.03.2012, 01:10 Titel: Fehler im Serverprogramm, wer kann helfen ? |
|
|
Hallo, in der "Sub server" werden diese 3 beanstandet:
myserver.senden(sBuffer)
Fehlermeldung:
zusi-w-armatur-server.bas(298) error 41: Variable not declared, myserver in 'myserver.senden(sBuffer)'
zusi-w-armatur-server.bas(301) error 213: Symbol not a CLASS, ENUM, TYPE or UNION type, before '.' in 'myserver.senden(sBuffer)'
zusi-w-armatur-server.bas(304) error 213: Symbol not a CLASS, ENUM, TYPE or UNION type, before '.' in 'myserver.senden(sBuffer)'
Wo muss jetzt im Programm etwas geändert werden ?
Danke.
Gruss
Code: |
#Include Once "window9.bi"
#Include Once "TSNE_V3.bi"
#Include once "fbgfx.bi"
#Include once "vbcompat.bi"
#Include once "rotation6-4.bas"
#Include Once "DrawString.bi"
Using FB
Open Cons FOR Output AS #1
Declare Sub screen_draw
Declare Sub zeichne_objekt
Declare Sub bitmap_header
Declare Sub server
Declare Sub TSNE_Disconnected(ByVal V_TSNEID as UInteger)
Declare Sub TSNE_Connected(ByVal V_TSNEID as UInteger)
Declare Sub TSNE_NewData(ByVal V_TSNEID as UInteger, ByRef V_Data as String)
Declare Sub TSNE_NewConnection(ByVal V_TSNEID as UInteger, ByVal V_RequestID as Socket, ByVal V_IPA as String)
Declare Sub TSNE_NewConnectionCanceled(ByVal V_TSNEID as UInteger, ByVal V_IPA as String)
Dim shared as HWND g_hwndODS
Dim shared as RECT g_rcODS
Dim shared as BITMAPV4HEADER bmi
Dim hWnd as HWND
Dim Shared As Integer event,hdc
Dim Shared As integer hit,font
hwnd=OpenWindow("screen",10,10,400,800) : CenterWindow(hwnd)
TextGadget(1,270,150,60,20,"textgadget")
TextGadget(2,270,370,60,20,"textgadget")
TextGadget(3,270,590,60,20,"textgadget")
ButtonGadget(4,280,10,90,25,"Verbinden")
font=LoadFont("Arial",8)
SetGadgetFont(1,font)
SetGadgetFont(2,font)
SetGadgetFont(3,font)
g_hwndODS=ImageGadget(100,10,10,250,750)
GetClientRect(g_hwndODS , @g_rcODS )
bitmap_header
ScreenRes g_rcODS.right+1, g_rcODS.bottom+1, 32, 1, FB.GFX_NULL
Color ,RGB(200,200,200)
Cls
Dim Shared As Single x_t,y_t,x_m,y_m,x_b,y_b,scale
Dim Shared As Integer dst_hb,dst_hb2
Dim Shared As fb.image ptr zeig_t_scr_img
Dim Shared As fb.image ptr zeig_t_dst_img
Dim Shared As fb.image ptr kreis_t_img
Dim Shared As fb.image ptr zeig_m_scr_img
Dim Shared As fb.image ptr zeig_m_dst_img
Dim Shared As fb.image ptr kreis_m_img
Dim Shared As fb.image ptr zeig_b_scr_img
Dim Shared As fb.image ptr zeig_b_dst_img
Dim Shared As fb.image ptr kreis_b_img
Dim Shared As Integer partnerID, zaehler,geschw,mdrehz
Dim Shared As String sBuffer,zusidaten
Dim Shared As Single bremsdr
Dim shared TMutex as Any Ptr
TMutex = MutexCreate()
Const As single pi = 3.1415926, pi_180 = pi / 180
Type connectionType
As UInteger G_Server, G_Client
As Integer isServer
As String IP
Declare Constructor(Typ As String)
Declare Destructor
Declare Sub hosten
Declare Sub connecten
Declare Sub beenden
Declare Sub senden(Message As String)
End Type
Constructor connectionType(Typ As String)
If Typ = "Server" Then
isServer = 1
hosten
ElseIf Typ = "Client" Then
IP = "127.0.0.1"
connecten
Else
IP = Typ
connecten
EndIf
End Constructor
Destructor connectionType
beenden
End Destructor
Sub connectionType.beenden
If isServer Then
TSNE_Disconnect(G_Server) 'Server beenden
TSNE_WaitClose(G_Server) 'Warten bis Server beendet ist
Else
TSNE_Disconnect(G_Client) 'Client beenden
TSNE_WaitClose(G_Client) 'Warten bis Client beendet ist
EndIf
End Sub
Sub connectionType.hosten
Dim BV As Integer
BV = TSNE_Create_Server(G_Server, 9000, 1, @TSNE_NewConnection, @TSNE_NewConnectionCanceled) 'Server erstellen
If BV = TSNE_Const_NoError Then
Print "Server bereit"
Else
Print "Fehler: " & BV
EndIf
End Sub
Sub connectionType.connecten
Dim BV As Integer
BV = TSNE_Create_Client(G_Client, IP, 1435, @TSNE_Disconnected, @TSNE_Connected, @TSNE_NewData) 'Client erstellen
If BV = TSNE_Const_NoError Then
'Print "Suche Server"
Else
Print "Fehler: " & BV
EndIf
End Sub
Sub connectionType.senden(Message As String)
TSNE_Data_Send(partnerID, Message)
End Sub
Sub TSNE_Disconnected(ByVal V_TSNEID as UInteger)
'Handling, wenn disconnected wird
Print V_TSNEID & " wurde disconnectet"
End Sub
Sub TSNE_Connected(ByVal V_TSNEID as UInteger)
'neue Verbindung wurde aufgebaut
Print "Nun mit " & V_TSNEID & " verbunden"
partnerID = V_TSNEID
End Sub
Sub TSNE_NewConnection(ByVal V_TSNEID as UInteger, ByVal V_RequestID as Socket, ByVal V_IPA as String)
'Wenn versucht wird, eine neue Verbindung herzustellen
'Nur wichtig für den Server
Print "Ein Client versucht zu verbinden"
Dim XNewTSNEID as UInteger
Dim XReturnIPA as String
'Akzeptieren der Verbindung
TSNE_Create_Accept(V_RequestID, XNewTSNEID, XReturnIPA, @TSNE_Disconnected, @TSNE_Connected, @TSNE_NewData)
End Sub
Sub TSNE_NewConnectionCanceled(ByVal V_TSNEID as UInteger, ByVal V_IPA as String)
'Verhalten, wenn abgelehnt wird
Print "Verbindung wurde abgelehnt"
End Sub
Sub TSNE_NewData(ByVal V_TSNEID as UInteger, ByRef V_Data as String)
zusidaten=V_Data
End Sub
dst_hb=150*1.5
dst_hb2=dst_hb/2
zeig_t_dst_img = imagecreate(dst_hb,dst_hb,RGB(255,0,255))
zeig_t_scr_img = imagecreate(150,150,RGB(255,0,255))
kreis_t_img=imagecreate(dst_hb,dst_hb,RGB(255,0,255))
Circle kreis_t_img,(dst_hb2,dst_hb2),100,RGB(50,50,50),,,,f
Line zeig_t_scr_img,(75,75)-(75,150),RGB(255,0,0)
Line zeig_t_scr_img,(73,75)-(77,130),RGB(255,0,0),bf
zeig_m_dst_img = imagecreate(dst_hb,dst_hb,RGB(255,0,255))
zeig_m_scr_img = imagecreate(150,150,RGB(255,0,255))
kreis_m_img=imagecreate(dst_hb,dst_hb,RGB(255,0,255))
Circle kreis_m_img,(dst_hb2,dst_hb2),100,RGB(50,50,50),,,,f
Line zeig_m_scr_img,(75,75)-(75,150),RGB(0,255,0)
Line zeig_m_scr_img,(73,75)-(77,130),RGB(0,255,0),bf
zeig_b_dst_img = imagecreate(dst_hb,dst_hb,RGB(255,0,255))
zeig_b_scr_img = imagecreate(150,150,RGB(255,0,255))
kreis_b_img=imagecreate(dst_hb,dst_hb,RGB(255,0,255))
Circle kreis_b_img,(dst_hb2,dst_hb2),100,RGB(50,50,50),,,,f
Line zeig_b_scr_img,(75,75)-(75,150),RGB(0,0,255)
Line zeig_b_scr_img,(73,75)-(77,130),RGB(0,0,255),bf
scale=1.0
x_t=10
y_t=50
x_m=10
y_m=270
x_b=10
y_b=490
Dim As connectionType myserver = "Server"
screen_draw
SetTimer(hwnd,1,5,@screen_draw)
Do
event=WindowEvent()
If event=EventClose Then
End
EndIf
If event=eventgadget Then
EndIf
Sleep 1
Loop
myserver.beenden
Sub bitmap_header
With bmi
.bV4Size = len(BITMAPV4HEADER)
.bv4width = g_rcODS.right+1
.bv4height = -(g_rcODS.bottom+1)
.bv4planes = 1
.bv4bitcount = 32
.bv4v4compression = 0
.bv4sizeimage = (g_rcODS.right+1) * (g_rcODS.bottom+1) * 4
.bV4RedMask = &h0f00
.bV4GreenMask = &h00f0
.bV4BlueMask = &h000f
.bV4AlphaMask = &hf000
End With
End Sub
Sub zeichne_objekt
If len(zusidaten) > 8 Then
For zaehler=7 To len(zusidaten) Step 5
If zusidaten[zaehler-1]= 1 Then
geschw=Int(Cvs(Mid(zusidaten,zaehler+1,4)))
ElseIf zusidaten[zaehler-1]= 2 Then
bremsdr=Cvs(Mid(zusidaten,zaehler+1,4))
ElseIf zusidaten[zaehler-1]= 9 Then
mdrehz=Int(Cvs(Mid(zusidaten,zaehler+1,4))+0.5)
EndIf
mutexlock(tmutex)
ScreenLock
Put (x_t,y_t),kreis_t_img,trans
RotateScale(zeig_t_dst_img,zeig_t_scr_img,dst_hb/2,dst_hb/2,geschw+45,scale)
Put (x_t,y_t),zeig_t_dst_img,Trans
DrawString ,x_t+100,y_t+90,Str(geschw),&hffff00,Font14
SetGadgetText(1,Str(geschw))
Put (x_m,y_m),kreis_m_img,trans
RotateScale(zeig_m_dst_img,zeig_m_scr_img,dst_hb/2,dst_hb/2,mdrehz/10,scale)
Put (x_m,y_m),zeig_m_dst_img,Trans
DrawString ,x_m+100,y_m+90,Str(mdrehz),&hffff00,Font14
SetGadgetText(2,Str(mdrehz))
Put (x_b,y_b),kreis_b_img,trans
RotateScale(zeig_b_dst_img,zeig_b_scr_img,dst_hb/2,dst_hb/2,bremsdr*30+45,scale)
Put (x_b,y_b),zeig_b_dst_img,Trans
DrawString ,x_b+100,y_b+90,Str(Format(bremsdr,"0.0")),&hffff00,Font14
SetGadgetText(3,Str(Format(bremsdr,"0.0")))
ScreenUnLock
mutexunlock(tmutex)
Next
EndIf
End Sub
Sub screen_draw
hdc=GetDC(g_hwndODS)
zeichne_objekt
InvalidateRect( g_hwndODS, null, true )
With g_rcODS
StretchDIBits( hDC, _
0, _
0, _
.right - .left + 1, _
.bottom - .top, _
0, _
0, _
.right - .left + 1, _
.bottom - .top, _
ScreenPtr, _
CPtr( BITMAPINFO ptr, @bmi), _
DIB_RGB_COLORS, SRCCOPY )
End With
DeleteDC(hdc)
End Sub
Sub server
sBuffer =CHR(&H03)+CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(2)+CHR(0)
myserver.senden(sBuffer)
Sleep 100
sBUFFER =CHR(&H07)+CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(3)+CHR(0)+CHR(&H0A)+CHR(1)+chr(2)+Chr(9)
myserver.senden(sBuffer)
Sleep 100
sBUFFER =CHR(&H04)+CHR(0)+CHR(0)+CHR(0)+CHR(0)+CHR(3)+CHR(0)+Chr(0)
myserver.senden(sBuffer)
Sleep 100
End Sub
|
|
|