Dll Aufruf von Delphi zu Autoit

  • Hallo zusammen,

    ich versuche ein kleines tool zu erstellen, das mithilfe einer dll pxd sound nach wav convertiert.

    habe hierzu den dll aufruf aus einem delphi script:

    Code
    procedure W2P(input: PChar; output: PChar); stdcall; external 'pxd32d5.dll' name 'W2P';


    versuche diesen nun so in autoit zu nutzen:

    [autoit]

    DllCall($hDLL, "int", "W2P", "ptr", $InFile, "ptr", $OutFile)

    [/autoit]


    die dll wird aber nicht geöffnet.

    jemand von euch bitte so nett der mir hilft den aufruf richtig zu erstellen ?


    hier mein autoit test script:

    [autoit]

    $InFile = @ScriptDir & "test.pxd"
    $OutFile = @ScriptDir & "test.wav"

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

    $hDLL = DllOpen(@SCRIPTDIR &"pxd32d5.dll")
    IF $hDLL THEN
    $ret = DllCall($hDLL, "int", "W2P", "ptr", $InFile, "ptr", $OutFile)
    IF IsArray($ret) THEN
    MsgBox(16,@SCRIPTNAME,"DllCall ok!")
    ELSE
    MsgBox(16,@SCRIPTNAME,"DllCall error!")
    ENDIF
    DllClose($hDll)
    ENDIF
    EXIT

    [/autoit]


    Danke !


    PS: wenn ich mit Opera hier Beiträge versuche zu schreiben, stürzt dieser ab :(
    nehme nun Firefox.

    Einmal editiert, zuletzt von HobbyCoder (6. März 2011 um 14:47)

  • Willkommen im Forum ;)

    @ScriptDir enthält keinen abschließenden Backslash, deshalb musst du ihn jedes Mal anhängen, bevor du den Dateinamen angibst:
    $datei = @ScriptDir & "\Name.ext"

    Außerdem solltest du PChar als str übersetzen und nicht als ptr.

  • Hi,
    benutzt du Win32 oder eine 64Bit-Version?

    Der Call sollte also lauten

    [autoit]

    $ret = DllCall($hDLL, "int", "W2P", "str", $InFile, "str", $OutFile)

    [/autoit]


    oder aber

    [autoit]

    $ret = DllCall($hDLL, "int", "W2P", "str*", $InFile, "str*", $OutFile)

    [/autoit]
    Zitat von HobbyCoder

    wenn ich mit Opera hier Beiträge versuche zu schreiben, stürzt dieser ab

    Bei einer der frühen 10er Versionen gab es Probleme zwischen Opera und der Woltlab-Forensoftware. Das ist nun sowohl seitens Opera als auch durch ein Update von Woltlab gefixt. Welche Operaversion nutzt du?

  • Vielen dank für die Wilkommensgrüße und die Antworten :)

    Ich benutze Opera:
    Version 11.01
    Build 1190
    Plattform Win32
    Betriebssystem Windows XP

    Ich werde die Tipps gleich mal probieren, das \ habe ich ganz vergessen *schäm*
    Und mit dem str hatte ich zuerst auch versucht, aber wenn die Dll gar nicht erst gefunden werden kann...kein Wunder das nichts geht.

    Habe gerade Urlaub und die Nacht durchgemacht, sehr peinlich mit dem fehlendem \ :wacko:

    Danke Euch !