Hallo zusammen,
Ich nutze den Beispielcode aus folgendem Thread um die rufId.dll der Klicktel/Rufident CD anzusprehen. Das ganze ermöglicht eine Rückwärtsuche in der Klicktel Datenbank.
http://www.delphipraxis.net/61170-ru...nd-nutzen.html
Das ganze funktioniert in einer normalen Anwendung einwandfrei, wenn ich allerdings den Code in einen Dienst stecke startet dieser erst gar nicht.
Fehlermeldung:
"Runtime error 217 at 000112A7" und anschließend
"Fehler 1053: Der Dienst antwortete nicht rechtzeitig auf die Start- oder Steuerungsanforderung."
Es reicht schon folgendes in den initialization Abschnitt der
Unit zu stecken:
Delphi-Quellcode:
initialization
DllHdl := 0;
FuncPtr := Nil;
DLLPath:= DllPath + 'rufid.dll';
DllHdl := LoadLibrary(PChar (DLLPath));
if DllHdl > 0 then
begin
FuncPtr := GetProcAddress( DllHdl, 'SucheTelefonnummer' );
if FuncPtr <> nil then @PSucheTelefonnummer := FuncPtr;
FuncPtr := GetProcAddress( DllHdl, 'UseVersion' );
if FuncPtr <> nil then @PUseVersion := FuncPtr;
end;
DllHdl ist nach Aufruf von LoadLibrary0, GetLastError ist auch 0 (getestet mit Messageboxen). Gehe ich den Code in Einzelschritten durch hat DllHdl einen Wert > 0 und GetLastError liefert wieder 0. Ich verstehe nicht wieso LoadLibrary mir kein
Handle für die
DLL gibt obwohl GetLastError behauptet das alles ok war.
Was mache ich falsch?
Vielen Dank schon mal
AliDi