Einzelnen Beitrag anzeigen

Gravitar

Registriert seit: 8. Okt 2006
94 Beiträge
 
Delphi 7 Enterprise
 
#1

Tesseract.dll unter Delphi einbinden

  Alt 24. Feb 2013, 15:30
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?
  Mit Zitat antworten Zitat