Announcement

Collapse
No announcement yet.

"can't find DLL entry point" in VBA Anwendung (BCB5-->6)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • "can't find DLL entry point" in VBA Anwendung (BCB5-->6)

    Hatte eine DLL mit BCB 5 erstellt und sie in eine Anwendung eingebunden. Wenn ich nun mit den selben sources files die DLL mit BCB 6 bilde, bringt die Anwendung (VBA code) einen Run-time Error ('453' in VBA): can't find DLL entry point "Name der Funktion" in Pfad so und so (correkter DLL-Pfad). Der Fehler kommt beim Aufrufen der Funktion in VBA. Die Funktion wurde in VBA (Anwendungsprogramm) auch deklariert und ist fuer die Weiterleitung von Daten (gespeichert in einer Datei) zustaendig, die in der Anwendung vom User ausgewaehlt wird, zwischen VBA und der DLL. In der DLL werden die Daten dann weiterverarbeitet und zum Schluss an die Anwendung zurueckgegeben.
    <B>In VBA help steht folgende Beschreibung:</B>
    The dynamic-link library (DLL) in a user library reference was found, but the DLL function specified wasn't found within the DLL. This error has the following causes and solutions:

    1. You specified an invalid ordinal in the function declaration.
    Check for the proper ordinal or call the function by name.

    2. You gave the right DLL name, but it isn't the version that contains the specified function.
    You may have the correct version on your machine, but if the directory containing the wrong version precedes the directory containing the correct one in your path, the wrong DLL is accessed. Check your machine for different versions. If you have an early version, contact the supplier for a later version.

    3. If you are working on a 32-bit Microsoft Windows platform, both the DLL name and alias (if used) must be correct. Make sure the DLL name and alias are correct.

    4. Some 32-bit DLLs contain functions with slightly different versions to accommodate both Unicode and ANSI strings. An "A" at the end of the function name specifies the ANSI version. A "W" at the end of the function name specifies the Unicode version.
    If the function takes string-type arguments, try appending an "A" to the function name.

    <B>Habe kontrolliert:</B>--> Funktion ist in DLL vorhanden (ueber impdef.exe)
    --> Es funktioniert alles mit BCBv5 DLL.
    --> Funktion wurden als public deklariert in VBA

    Was koennte hier der Fehler sein? Koennte es sein, dass ich in VBA was aendern muss? Wenn die oben genannte Fehlermeldung kommt, heisst das, dass die Funktion nicht gelesen werden kann oder dass der Entry Point der DLL(allgemein) nicht gefunden wird?

    Bin fuer jede Idee dankbar!
    Gruss Marylin

  • #2
    Hallo,

    vielleicht werden vom BCB6 die Funktionsnamen verändert. Mit Hilfe des Kommandozeilentools TDUMP.EXE kann man sich die in der DLL befindlichen Funktionen anschauen. Der Vergleich mit der BCB5-DLL sollte dann eventuell Unterschiede zeigen.

    Gruß Ud

    Comment

    Working...
    X