Toon posts:

[VB6] Error: Unsupported variant types

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben een email progsel aan het bouwen in VB.

Ik heb het eerst in een los form gebouwd. Alles werkte, ik kon email verzenden. Ik heb de hele code en een form met een WinSock control in een DLL gezet. DLL geregistreerd en in een nieuwe programma gehangen.

Bij het aanroepen van de DLL gaat het fout :(
code:
1
2
3
4
5
6
7
Option Explicit
    Public commSMTP As clsSMTP

Private Sub cmdSend_Click()
    Set commSMTP = New clsSMTP
    commSMTP.sendMessage "bcf@home.nl", "Test"
End Sub

De regel:

commSMTP.sendMessage "bcf@home.nl", "Testen!"

geeft dus de error 'Unsupported variant types'
Ik heb al vanalles geprobeerd en gezocht, helaas geen resultaat.

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 28-08 17:06

Sponge

Serious Game Developer

Hoe ziet de sub eruit die je aanroept dan? (gewoon even de "Public sub sendmessage (...)"

ook kan de fout in de DLL zelf zitten, en dan wordt het zoals je het nu hebt lastig debuggen. Je kunt proberen de DLL vanuit de IDE te draaien, en dan gewoon de references naar die DLL te wijzen (de filename is dan VB6.exe), als er een fout optreed in de DLL (in VB dus), dan gaat VB gewoon in debug mode...

Verwijderd

Topicstarter
De DLL is goed, ik heb het form en de class in een lege exe gezet en erg 3 textboxen (to,subject,body) en een knop.
Werkte perfect.

Verwijderd

Voor de zekerheid:
Je zegt dat je 3 textboxen hebt (to,subject,body), maar ik zie maar 2 parameters in je code (to,subject).

Verwijderd

Topicstarter
De twee zijn eigenlijk to en de body :)
Maar goed, in het begin waren het er twee, ik heb later nog
subject toegevoegd.

Ik heb ook alle types al variant gemaakt, en dat werkt ook niet.

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 17:11
Wat is het protype van die functie? Bekijk dat ding eens in de Object Browser en vertel wat voor een typen hij wil hebben.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
Hij wil strings hebben:
code:
1
2
3
4
5
6
7
Public Sub sendMessage(strRecipient As String, strMessage As String, strSubject As String)
    strSTMPmessege = Trim$(CStr(strMessage))
    strSTMPRecipient = Trim$(CStr(strRecipient))
    strSTMPSubject = Trim$(CStr(strSubject))
    winSockSMTP.Connect Trim$(iniFilesIO.getInfo("SMTP", "Server")), Trim$(iniFilesIO.getInfo("SMTP", "Port"))
    m_State = MAIL_CONNECT
End Sub

En later heb ik er variants van gemaakt.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 03-09 15:18

Crazy D

I think we should take a look.

Variants zou moeten werken, aangezien je vanuit je vbscript variants meegeeft. Zet er in je dll ook voor de zekerheid ByVal voor, dat de waardes dus by value mee worden gegeven en niet byref (wat de default is).

[edit] |:( haal ff 2 topics door de war, dit heeft niks met VBscript te maken... :z

Probeer het anders eens met een testdll die niks anders doet dan bv de string die je meegeeft, in een msgboxje uitspuugt.

Exact expert nodig?

Pagina: 1