Hi,
versuche gerade die libtesseract302.dll in Delphi einzubinden.
Über folgenden Code erfolgt (in einer eigenen
Unit) die Einbindung:
Delphi-Quellcode:
procedure LoadTessDLL;
begin
if TessDLLLoaded then Exit;
ErrorMode := SetErrorMode($8000{SEM_NoOpenFileErrorBox});
DLLHandle := LoadLibrary('libtesseract302.dll');
if DLLHandle >= 32 then
begin
TessDLLLoaded := True;
SaveExit := ExitProc;
ExitProc := @NewExit;
// @TessDllAPI := GetProcAddress(DLLHandle,'TessDllAPI');
// Assert(@TessDllAPI <> nil);
@TessDllBeginPage := GetProcAddress(DLLHandle,'TessDllBeginPage');
Assert(@TessDllBeginPage <> nil);
Das Laden scheint zu funktionieren (jedenfalls, nachdem ich noch die liblept168.dll von Leptonia in das gleiche Verzeichnis kopiert habe).
Leider crasht das Programm bei dem Assert(@TessDllBeginPage)
Scheinbar liegt hier ein falscher Funktionsname bzw. Definition in der Procedure vor. Aber wie komme ich an die korrekten Funktionsnamen inkl. Parameter dieser
DLL heran?
Habe mich auf google/code schon einen Wolf gesucht.
Hat jemand dieses Problem schon für Delphi gelöst?