Toon posts:

[VB6] Winsock .remotehost property pakt mijn string niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Een erg vaag probleem dit;
Heb een programma met een Winsock ActiveX object erin. Daarvan moet ik de remote host instellen.

Dit werkt:
Visual Basic:
1
formMain.wsockData.RemoteHost = "10.212.115.89"

Dit werkt ook:
Visual Basic:
1
2
strIp = "10.212.115.89"
formMain.wsockData.RemoteHost = strIp


Maar dit werkt niet??
Snipplet uit modInstellingen:
Visual Basic:
1
2
3
4
intNetIpG1 = 10
intNetIpG2 = 212
intNetIpG3 = 115
intNetIpG4 = 89

Snipplet voor winsock remotehost:
Visual Basic:
1
formMain.wsockData.RemoteHost = CStr(modInstellingen.intNetIpG1) & "." & CStr(modInstellingen.intNetIpG2) & "." & CStr(modInstellingen.intNetIpG3) & "." & CStr(modInstellingen.intNetIpG4)

En ook dit niet (logischerwijs dan):
Visual Basic:
1
formMain.wsockData.RemoteHost = CStr(modInstellingen.intNetIpG1 & "." & modInstellingen.intNetIpG2 & "." & modInstellingen.intNetIpG3 & "." & modInstellingen.intNetIpG4)


Als ik er een breakpoint voorzet en kijk wat de waarde van de property remotehost is, dan is dat in alle gevallen "10.212.115.89" terwijl bij de stukjes waar het dus niet werkt .state op 6 blijft staan (listening) en waar ik zei dat het wel werkt maakt hij gewoon een verbinding (connected)...?

In C kon kan je bij winsock netjes die groepen los ingeven, en hier gaat hij een beetje raar doen... Nouja?!

Wat doe ik fout met mijn string?

[ Voor 4% gewijzigd door Verwijderd op 13-04-2007 09:26 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
En als je dit eens probeert?

Visual Basic:
1
2
3
4
Dim MyIP as String
MyIP modInstellingen.intNetIpG1 & "." & modInstellingen.intNetIpG2 & "." & modInstellingen.intNetIpG3 & "." & modInstellingen.intNetIpG4

formMain.wsockData.RemoteHost = MyIP


Dan kun je in ieder geval een breakpoint setten en kijken wat MyIP is geworden (niet dat het anders niet kan, maar toch). Note dat ik hier even uit ga van het automatisch 'casten' van bytes* naar string in VB6.

* Aangenomen dat intNetIpG1 etc. bytes zijn?

[ Voor 18% gewijzigd door RobIII op 12-04-2007 15:37 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Integers, en dat had ik al geprobeerd. De string die .RemoteHost ingaat IS in beiden gevallen OPTISCH gelijk bij mijn breakpoint. Dat het is hele vreemde eraan!

Gebruik voor de zekerheid trouwen Cstr, hoewel je normaliter gewoon intergers tussen je string kan gooien bij VB6...

Die integers worden ergens uit het Windows register gehaald (met een vb6 functie die altijd strings uitgeeft maar ze worden dan met Cint omgezet). Het zijn gewoon integers, niets speciaals...

[ Voor 27% gewijzigd door Verwijderd op 13-04-2007 09:28 ]


  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 29-11 17:06
Misschien kan je even een watch op strIp zetten van je 2e stukje code en dan kijken wat het type is. En dan een watch op de code van RobIII en dan kijken of daar verschil in zit?


Hmmm, blijkbaar gaat het zetten van die string wel goed, maar het connecten niet.

Zojuist even dit geprobeerd en dat werkt gewoon :?

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Command1_Click()
  SaveSetting "TestWSock", "IP", "IP1", "10"
  SaveSetting "TestWSock", "IP", "IP2", "212"
  SaveSetting "TestWSock", "IP", "IP3", "115"
  SaveSetting "TestWSock", "IP", "IP4", "89"
End Sub

Private Sub Command2_Click()
Dim tmpString As String
  tmpString = GetSetting("TestWSock", "IP", "IP1") & "." & _
              GetSetting("TestWSock", "IP", "IP2") & "." & _
              GetSetting("TestWSock", "IP", "IP3") & "." & _
              GetSetting("TestWSock", "IP", "IP4")
              
  Winsock1.RemoteHost = tmpString
  
  Debug.Print Winsock1.RemoteHost
  
End Sub


Hij print netjes dit:

10.212.115.89

[ Voor 71% gewijzigd door urk_forever op 13-04-2007 09:42 ]

Hail to the king baby!


Verwijderd

Topicstarter
JA bij mij print hij het ook... Maar op de een of andere manier blijft het object op listening staan?! Wordt er gek van!