Hallo,
ich habe mir eine Installation für meine Anwendung mit dem Installshield Express von D2007 Pro erzeugt.
Nun bietet der Installationsassistent die Möglichkeit eine Seriennummer prüfen zu lassen indem man eine
DLL angibt.
Die Beispiele die IS mitliefert sind leider in C++
Leider habe ich bisher noch nie DLLs angelegt.
Ich habe dann versucht mit dem Delphi
DLL-Experten eine
DLL anzulegen die einfach nur eine Funktion zur Prüfung enthält.
Hier der code
Delphi-Quellcode:
library validateSerialNr;
{ 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. }
uses
SysUtils,
Classes;
{$R *.res}
begin
function checkSerial (sSerialString :
string) : boolean;
begin
if (sSerialString = '
Willi')
then result := true
else result := false;
end;
end.
Der Compliler sagt mir immer "Anweisung erwartet aber Funktion gefunden".
Wo liegt mein Fehler?
P.S. Wofür ist der Hinweis auf "ShareMem"
Muss ich mich bei einer
DLL um die Speicherverwaltung kümmern?