Toon posts:

[VB] Microsoft Script Control weigert *

Pagina: 1
Acties:

Verwijderd

Topicstarter
d

[ Voor 110% gewijzigd door Verwijderd op 12-02-2004 17:18 ]


  • RocketKoen
  • Registratie: December 2001
  • Laatst online: 11-08 11:45
we doen dat niet zo:
Ik heb nog geen antwoord op mijn vraag

maar zo:
*schop*

TheS4ndm4n#1919


Verwijderd

Topicstarter
d

[ Voor 101% gewijzigd door Verwijderd op 12-02-2004 17:18 ]


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Ik heb even [code=vb] tags toegevoegd hier en daar, wat de layout stukken goed doet :P Verder ben ik zelf geen held in VB, maar lijkt het je niet handig om erbij te posten hoe de functie 'SendChatMsg' gedefinieerd is? :?

Professionele website nodig?


Verwijderd

Topicstarter
d

[ Voor 100% gewijzigd door Verwijderd op 12-02-2004 17:18 ]


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Ik ben echt de draad kwijt.... wie roept er dan die event aan? Want het lijkt erop dat je gewoon parameters op runtime zit te bedenken?

Professionele website nodig?


  • JohanDM
  • Registratie: Augustus 2002
  • Laatst online: 16-07-2021

JohanDM

Optimist

Scripting kent enkel het Variant datatype en dat levert problemen bij het doorgeven van ByRef argumenten (=default in VB 6.0) aan VB code als die niet van het datatype Variant zijn.
Je kan de argumenten van SendChatMsg best ByVal maken zodat de Scripting Engine de Variant wel gaat casten naar het eigenlijke datatype, wat in scripting niet gebeurt bij ByRef parameters.
In jouw voorbeeld word dat dan:
Visual Basic:
1
2
3
Public Sub SendChatMsg(ByVal nSocket As Integer, ByVal sMsg As String)
' Jouw code ...
End Sub

Als je ByRef moet werken omdat je ook een waarde wil teruggeven naar de VBScript code dan moet je ze van het datatype Variant maken.

"Two things are infinite: the universe and stupidity. And the former I'm not so sure about." -- Albert Einstein


Verwijderd

Topicstarter
d

[ Voor 99% gewijzigd door Verwijderd op 12-02-2004 17:18 ]


  • DukeMan
  • Registratie: Mei 2000
  • Niet online
Probeer het volgende is:

Visual Basic:
1
2
3
4
Sub ChatMsgReceived(nSocket, sMsg)
    SendChatMsg(CInt(nSocket), "Ik ben er niet zoals je ziet!!")
End Sub
REM Typemismatch dus


Dan weet je zeker dat er een integer mee gegeven wordt.

Verwijderd

Topicstarter
d

[ Voor 100% gewijzigd door Verwijderd op 12-02-2004 17:18 ]

Pagina: 1