![]() |
Prozedureinsprungpunkt beim statischen Einbinden n. gefunden
Nabend liebe DP'ler
ich programmiere gerade wieder in bisschen an meinem DS-Tool weiter, und habe mir gearde zur Aufgabe gemacht, das programm etwas dynamischer zu gestalten. Dadurch kann ich später das Programm dann leichter aktualisieren wenn bei DieStämme neue Server hinzukommen, bzw. neue Länder. So, nun gut zuerst habe ich folgendes versucht: in der dll:
Delphi-Quellcode:
und in der exe:
function myDSID:PChar;stdcall;
... begin ... end; exports myDSID;
Delphi-Quellcode:
das klappt auch wunderbar, so nun will ich in der dll noch mehr Funktionen unterbringen, was dann knapp so aussieht:
implementation
... function myDSID:PChar; stdcall; external 'func.dll'; {$R *.dfm}
Delphi-Quellcode:
und in der exe:
function myDSID:PChar;stdcall;
... begin ... end; function myLaender:Byte;stdcall; begin ... end; function myLand(i:byte):PChar;stdcall; begin ... end; exports myDSID, myLaender, myLand;
Delphi-Quellcode:
nun mag ich die exe ausführen, und Delphi bleibt bei einem CPU-Fenster hängen, ich lass das Programm weiterlaufen und bekam ne Accessviolation, mit der ich nix anfangen konnte, später habe ich das Programm dann außerhalb von Delphi nochmal aufgerufen, und da kam dann die Fehlermeldung ala "Prozedureinsprungpunkt für Funktion myLand nicht gefunden"
implementation
... function myDSID:PChar; stdcall; external; function myLaender:Byte; stdcall; external; function myLand(i:byte):PChar; stdcall; external; {$R *.dfm} naja dann habe ich noch folgendes ausprobiert(zuerst mit den Indizes dann mit name): im exports Teil der DLL:
Delphi-Quellcode:
und in der exe entsprechend
exports
myDSID index 1 name 'myDSID', myLaender index 2 name 'myLaender', myLand index 3 name 'myLand';
Delphi-Quellcode:
ich weiß langsam nicht mehr weiter... wäre nett, wenn mich jemand mal mit nem Zaunpfahl auf meinen Fehler verweisen könnte ;)
function myDSID:PChar; stdcall;
external 'func.dll' index 1 name 'myDSID'; function myLaender:Byte; stdcall; external 'func.dll' index 2 name 'myLaender'; function myLand(i:byte):PChar; stdcall; external 'func.dll' index 3 name 'myLand'; zumal es ja am Anfang schon ging... vielen Dank schon mal im Vorraus =) lg Rociel |
Re: Prozedureinsprungpunkt beim statischen Einbinden n. gefu
wenn du im cpu-fenster hängen bleibst wird wohl eine Funktion in der DLL nicht gefunden und somit geht das "statiche" schief
|
Re: Prozedureinsprungpunkt beim statischen Einbinden n. gefu
ok, entschuldigt bitte, mein Fehler, ich hatte ganz vergessen dass ich die dll in einem Unterordner liegen habe, und den Pfad nicht angepasst hab, aber in dem Ordner der exe noch eine alte Version der dll lag.
Das Topic kann also gelöscht werden. sry nochmal :duck: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz