prozedureinsprungpunkt
-
hallo zusammen,
ich habe ein problem mit dem erstellen einer dll. sobald ich mein hauptprogramm starte, erscheint die fehlermeldung "der prozedureinsprungpunkt '...' wurde in der dll '...' nicht gefunden". wenn ich aber mit dem dll export viewer in die dll schaue, dann ist diese funktion vorhanden.
was kann dann diese fehlermeldung auslösen? muss ich etwas besonderes tun, um einen prozedureinsprungpunkt zu definieren?dies ist bereits die zweite dll, die ich erstelle. die erste funktioniert normal, ohne dass ich einen unterschied zur zweiten (nicht funktionierenden) feststellen könnte.
wenn ich die funktionalität, die ich in die dll auslagere, direkt im hauptprogramm einbinde, läuft alles normal.
danke für eure ideen!
-
Könnte sein, dass Du noch eine alte DLL im Verzeichnis liegen hast wo die DLL geladen wird? Wäre so ein typischer Fehler...
Simon
-
hi simon,
daran habe ich auch gerade gedacht, aber leider keine alte dll gefunden. die entsprechende dll ist nur einmal auf dem gesamten rechner vorhanden.
hättest du noch eine andere idee?
danke!
-
Wie wird exportiert und importiert?
Mit __declspec(dllexport) / __declspec(dllimport)?
Mit *.def File?
...
Simon
-
ich includiere eine datei mit
#ifndef DLL_EXPORT #define DECLDIR __declspec(dllimport) #else #define DECLDIR __declspec(dllexport) #endifund setze dann bei bedarf
#define DLL_EXPORTin den header.
die funktion wird ja auch mit der exakt korrekten signatur vom dll export viewer angezeigt.

-
ok, ich habe den fehler gefunden. mit dem dependency walker habe ich gesehen, dass mein hauptprogramm noch auf einen uraltordner zugegriffen hat, der doch noch eine alte versio nder dll enthielt.
vielen dank simon!