Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1148to1152
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

falsche DLL-Aufrufkonvention

falsche DLL-Aufrufkonvention
Peter
Werte VBA Experten,
Ich habe im Link https://www.herber.de/bbs/user/68779.xls eine Excel Datei abgelegt, wo ich via Makro auf die EAPI.DLL (ZIP Datei siehe https://www.herber.de/bbs/user/68781.zip) zugreifen möchte.
Wenn ich das Marko starte, dann erhalte ich beim Aufruf der Datei Start die Meldung "Falsche DLL-Aufrufkonvention".
Das Ergebnis der Aufrufs der Funktion Start sollte 0 sein, wenn es OK ist oder -1010 bei einem Fehler.
Vielen Dank für die Unterstützung.
Grüße
Peter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Thread wurde zum 2.Mal eröffnet
24.03.2010 13:55:22
NoNet
Hallo Peter,
wenn Du schon unbedingt einen Thread zweimal eröffnen "musst", dann setze doch bitte zumindest einen Link zum ersten Beitrag, so dass die freiwillig Helfenden sehen können, welche Antworten schon gegeben wurden und was evtl. bereits versucht wurde um das Problem zu lösen !!!
In Deinem Fall war das folgender Thread :
https://www.herber.de/forum/archiv/1144to1148/t1146173.htm#1146173
Gruß, NoNet
AW: Thread wurde zum 2.Mal eröffnet
24.03.2010 14:20:45
Nepumuk
Hi,
die DLL liefert einen Long- und keinen Interger-Wert zurück. Daher der Fehler beim Aufruf.
Ich hab mir die DLL mal im Dependency-Walker angeschaut, die hat ja Unmengen von Abhängigkeiten. Unter anderem auf eine DLL die ich nicht auf meinem Rechner habe: IESHIMS.DLL
Ich kann daher deine DLL aufrufen, aber dabei stürtzt mir Excel ab.
Gruß
Nepumuk
Anzeige
AW: Thread wurde zum 2.Mal eröffnet
24.03.2010 15:06:49
Peter
Hallo Nepomuk,
Besten Dank für deine Unterstützung.
Die IESHIMS.DLL findest du im Link https://www.herber.de/bbs/user/68784.zip.
Laut http://social.technet.microsoft.com/Forums/en-US/w7itproinstall/thread/8a751f65-ade9-4b8b-a3d3-c720ccbd3d2c ist die IESHIMS.DLL unter Programme/Internet Explorer zu speichern.
Ich habe in der Function Start ( siehe https://www.herber.de/bbs/user/68785.xls) den Rückgabewert von Integer auf Long angepasst. Trotzdem kommt die Fehlermeldung "falsche DLL Aufrufkonvention".
Vielleicht hilft dir obiges weiter.
danke im Voraus.
Grüße
Peter
Anzeige
AW: Thread wurde zum 2.Mal eröffnet
24.03.2010 16:11:43
Nepumuk
Hallo,
ich habe ehrlich gesagt kein Interesse daran die DLL bei mir zum Laufen zu bekommen. Ich kenn den Code nicht und sie hat nicht mal eine digitale Signatur. Ist also eher suspekt.
So kann ich sie zumindest ohne Fehler aufrufen, allerdings schmiert mir Excel dabei ab. Und ohne den Code der DLL kann dir, außer dem Programmierer der sie erstellt hat, niemand sagen, was da schief läuft.
Option Explicit

Const WM_APP As Long = 32768
Const WM_EAPI_START_COMPLETED As Long = WM_APP + 1

Private Type TEapiNotifyParams
    Msg As Long ' message used to return result
    Handle As Long ' main application handle, used to send return result; Handle As Integer
End Type

Private Declare Function GetFocus Lib "user32" _
    () As Long
'---------------- Funktionsdeklarationen -------------------------------------------------
'Description:
'Use Connect function to establish connection with server.
'Arguments:
'[in] NotifyParams - used to notify application about method result.
'[in] SSystemUrl - server connection string.
'[in] SLogin - user login name.
'[in] SPassword - user password.
'Return Value:
'If request passed to server successfully then result of this function is S_IAPI_OK.
'Upon method completion on server-side, the message (with parameters taken from NotifyParams)
'will be send to application with pointer to the return value in LParam. Return value is nil (IAPI_TYPE_NILL).
'Summary:
'Used to connect to server.

Private Declare Function Start Lib "C:\Users\Max Kaffl\Desktop\Test\Eapi.dll" ( _
    ByRef SystemNotifyParams As TEapiNotifyParams, _
    ByVal BaseCurrencyId As Integer, _
    ByVal SLogin As String, _
    ByVal SPassword As String, _
    ByVal SSystemUrl As String) As Long

Sub Dealbook_Start()
    
    Dim params As TEapiNotifyParams
    Dim url As String
    Dim login As String
    Dim password As String
    Dim BaseCurrency As Integer
    Dim result As Long
    
    params.Msg = WM_EAPI_START_COMPLETED
    params.Handle = Application.hwnd
    'params.Handle = GetFocus() 'Alternative
    url = "http://demo.gftforex.com:8080/naming.ior"
    login = "demonachbaur"
    password = "siopt321"
    BaseCurrency = 0 'Euro
    result = Start(params, BaseCurrency, login, password, url)
    
End Sub



Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige