ich habe in einer DLL eine Function die den Versionswert giVersion exportieren soll :
---> Der Code aus der DLL :
Code:
// Function zum abrufen der Versionsnummer
function getVersion(giVersion : Integer): Integer;
begin
giVersion := 1001;
result := giVersion;
end;
// Hier die Exporte
exports
getVersion;
---> Der Code aus der Test Anwendung :
Code:
// Extern Versionsdaten aus der SM3DOGL.DLL
function getVersion(giVersion : Integer): Integer; stdcall;external 'SM3DOGL.DLL';
// Daten beim Klick abrufen und eintragen
procedure TForm1.Button1Click(Sender: TObject);
begin
gsVersion :=IntToStr(getVersion(giVersion));
Label3.Caption := gsVersion;
end;
Wenn ich jetzt auf dem Button klicke stürtzt die Anwendung ab, im Debug Modus hat die Variable aber den Wert aus der DLL erhalten. Was mache ich falsch ?
_________________ Gruß Sascha [SM3D Game Development]
du hast in deiner dll kein stdcall angegeben, aber in einer import unit? warum, dafür gibts keinen grund... entweder in beiden units, um mit anderen programmiersprachen arbeiten zu können, oder in keinen... aber abwechselnd? das muss irgendwo krachen. das würd ich erstmal überprüfen, wenns dann immernoch nicht geht, sag bescheid
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Nimm doch einen stink normalen String. So wie es auch bei OpenGL oder ähnlichen Dingen gemacht ist.
Andernfalls empfielt es sich den in 4 Interger (Byte) Werte aufdröseln. Aber da ist String tausend mal besser.
Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.