Titan FTP Server dllcall

  • Hallo,

    bisher habe ich kaum mit dll's gearbeitet. Der Titan FTP Server bietet eine DLL mit der ich Einstellungen vornehmen kann. Darauf möchte ich gerne zugreifen. Leider klappt das nicht so ganz.

    Die Seite für die DLL mit den Funktionen etc und einem VB6 Beispiel: http://www.southrivertech.com/support/titanf…lp/titanftp.htm

    Das möchte ich nun in Autoit umsetzen.
    Ich habe es so versucht.

    [autoit]

    Local $user = 'xxxx'
    Local $pass = 'xxxx'
    Local $server = 'xxxx'
    Local $port = '31001'
    Local $titandll = @WindowsDir & '\System32\' & 'srxCOM.dll'
    Local $titandll = 'C:\Windows\System32\srxCOM.dll'Local $dll

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $dll = DllOpen($titandll)
    $dll = DllCall($dll, "str", "SRX_Connect", "str", $server, 'str', $port, 'str', $user, 'str', $pass)

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0, 'Test', @error)

    [/autoit]

    Leider gibt @error immer 3 zurück, also Funktion nicht vorhanden. Was mache ich falsch?

    3 Mal editiert, zuletzt von EvilMoe (18. Juli 2011 um 18:45)

    • Offizieller Beitrag

    Leider ist unter dem Link keine detaillierte Beschreibung der Dll vorhanden (keine Parameter, Datentypen..).
    Das VB-Bsp. zeigt nur, wie diese Dll als Objekt Instanz initiiert wird und die Funktionen als Methoden auf dieses Objekt angewendet werden.
    Du kannst ja mal testen, ob du dieses Objekt, wie im Bsp., erstellen kannst ($obj=ObjCreate - mit IsObj($obj) prüfen).

  • Das klappt leider nicht, es kommt die Meldung das es kein Objekt ist.

    [autoit]

    $obj = ObjCreate("srxCom.SRXTitan") ; Get the Windows Shell Object

    [/autoit][autoit][/autoit][autoit]

    If Not IsObj($obj) Then
    MsgBox(0,"Debug","Objection Creation Fail")
    Exit
    Else

    [/autoit]
  • Leider ist unter dem Link keine detaillierte Beschreibung der Dll vorhanden (keine Parameter, Datentypen..).
    Das VB-Bsp. zeigt nur, wie diese Dll als Objekt Instanz initiiert wird und die Funktionen als Methoden auf dieses Objekt angewendet werden.
    Du kannst ja mal testen, ob du dieses Objekt, wie im Bsp., erstellen kannst ($obj=ObjCreate - mit IsObj($obj) prüfen).

    Ich danke die vielmals! Das hat mich auf die Idee gebracht die DLL manuell zu registrieren und siehe da, es läuft!

    [autoit]

    $obj = ObjCreate("srxCom.SRXTitan")
    If Not IsObj($obj) Then
    MsgBox(0,"Debug", "Objection Creation Fail")
    Exit
    EndIf
    $obj.SRX_Connect( "xxx", 31001, "xxx", "xx")
    $obj.SVR_SetAttr("FTP", "WelcomeMsg", "TEst home | Autoit")
    $obj.SRX_Disconnect()

    [/autoit]