Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Fehler im Serverprogramm, wer kann helfen ?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
arduno



Anmeldungsdatum: 12.05.2011
Beiträge: 252

BeitragVerfasst am: 01.03.2012, 01:10    Titel: Fehler im Serverprogramm, wer kann helfen ? Antworten mit Zitat

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
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 01.03.2012, 14:53    Titel: Antworten mit Zitat

Code:
Dim As connectionType myserver = "Server"

Da fehlt das SHARED.

Und ich würde darum bitten, den Post nicht 10x zu verändern. Gestern war das noch ein ganz TSNE-unabhängiger Code und vor einer Stunde eine Frage, wie man den Client in einen Server umwandelt (zur Vollständigkeit: eben durch die obige Codezeile).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
arduno



Anmeldungsdatum: 12.05.2011
Beiträge: 252

BeitragVerfasst am: 01.03.2012, 14:59    Titel: Antworten mit Zitat

Jup, danke.

Dieses Programm war mir jetzt als Frage logischer als das vorhergende.

Gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz