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:
function myDSID:PChar;stdcall;
...
begin
...
end;
exports
myDSID;
und in der exe:
Delphi-Quellcode:
implementation
...
function myDSID:PChar; stdcall;
external 'func.dll';
{$R *.dfm}
das klappt auch wunderbar, so nun will ich in der
dll noch mehr Funktionen unterbringen, was dann knapp so aussieht:
Delphi-Quellcode:
function myDSID:PChar;stdcall;
...
begin
...
end;
function myLaender:Byte;stdcall;
begin
...
end;
function myLand(i:byte):PChar;stdcall;
begin
...
end;
exports
myDSID,
myLaender,
myLand;
und in der exe:
Delphi-Quellcode:
implementation
...
function myDSID:PChar; stdcall;
external;
function myLaender:Byte; stdcall;
external;
function myLand(i:byte):PChar; stdcall;
external;
{$R *.dfm}
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"
naja dann habe ich noch folgendes ausprobiert(zuerst mit den Indizes dann mit name):
im exports Teil der
DLL:
Delphi-Quellcode:
exports
myDSID index 1 name 'myDSID',
myLaender index 2 name 'myLaender',
myLand index 3 name 'myLand';
und in der exe entsprechend
Delphi-Quellcode:
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';
ich weiß langsam nicht mehr weiter... wäre nett, wenn mich jemand mal mit nem Zaunpfahl auf meinen Fehler verweisen könnte
zumal es ja am Anfang schon ging...
vielen Dank schon mal im Vorraus =)
lg Rociel
Kommt ein Nullvektor zum Psychiater: "Herr Doktor, Herr Doktor ich bin so orientierunglos."
Mitglied der anonymen Algebraabhängigen