![]() |
Prüfen einer Seriennummer bei der Installation
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:
Der Compliler sagt mir immer "Anweisung erwartet aber Funktion gefunden".
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. Wo liegt mein Fehler? P.S. Wofür ist der Hinweis auf "ShareMem" Muss ich mich bei einer DLL um die Speicherverwaltung kümmern? :gruebel: |
Re: Prüfen einer Seriennummer bei der Installation
Versuch es mal so:
Delphi-Quellcode:
Ich hoffe, ich habe jetzt keinen Fehler gemacht, lange keine DLL mehr geschrieben :oops:
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 sharemem; function checkSerial(Eingabe:string): Boolean;stdcall; begin Result := Eingabe = 'Willi'; end; exports checkSerial; begin end. |
Re: Prüfen einer Seriennummer bei der Installation
Danke für die schnelle Hilfe.
Das Projekt lässt sich jetzt jedenfalls fehlerfrei erzeugen. Ich werde die Funktion jetzt etwas ausweiten und dann mal einen Praxistest machen. Gruß Holger. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:11 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