Zitat von
Morlon:
erstmal willkommen bei
DP
Schau mal
hier. Da wird gezeigt wie du
DLL's debuggen kannst.
Ich glaub aber dein Fehler ist, dass 'Name' fehlt. Versuchs mal so:
Delphi-Quellcode:
function GetFileVersion(const Filename: string; var Version: string; typ: Integer): Boolean; stdcall;
external 'olt_data.dll' Name 'GetFileVersion';
Grüße
Habe ich probiert. Liegt aber nicht daran ... ich vertsehe nich, warum der Pointer ungültig ist ... im Programm selbst hat es fehlerfrei geklappt!
EDIT:
Ich habe vergessen zu erwähnen, dass die Funktion ohne Probleme seinen dienst tut, aber der Fehler "Ungültige Zeigeroperation" kommt hin oder her ... warum?!
Warum nicht schon, als die Funktion im Programm slebst integriert war?
EDIT2:
könnte dies hier vllt. etwas damit zu tun haben?
Delphi-Quellcode:
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der
ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-
Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die
Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle
Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die
sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur
Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL.
Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String-
Informationen als PChar- oder ShortString-Parameter übergeben. }