[rdnzl-devel] Problems with Interop calls
Edi Weitz
edi at agharta.de
Sun Dec 27 21:49:19 UTC 2009
I'm sorry that nobody was able to help here, but just out of
curiosity: Did you ever solve the problem?
On Tue, Mar 10, 2009 at 8:06 AM, Eric <den_er at gmx.de> wrote:
> Hello everybody first off all i wanna thank you for this nice interface to
> the .Net-Framework.
>
> Now to my problem:
>
> I'm using RDNZL to control to ORC-Systems via .Net, my problem is that one
> OCR (tesseract) is working fine with it because it is possible to compile it
> with Microsoft Visual Studio(no problem at all). The other OCR-System ABBYY
> FineReader consits of DLL for which ABBYY provides an Interop-Assembly
> to communicate with it directly from the .Net-Framework.
> For controlling FineReader im using a C# Klasse (as an mediator in a DLL)
> which does futher action and intraktion with the OCR-System. If i use this
> Class direktly with a console-application compield in the .net-framework
> everything is fine.
> But if i use lisp and RDNZL to create an instance of the class and call a
> function of instance that calls itself a function of the ABBYY
> Interop-Assemble sometime the function call into the assembly don't came
> back.
> And if i start the process from Lispworks again everything works fine.
>
> Normally i would say it has nothing to do with RDNZL, but maybe it has some
> effects on the .Net-Framework which make it reacted different ???
>
>
> So my question: Has someone experience with such a problem or does some know
> what i can do to find a workaround for this problem?
>
> -> When it stucks always the first call to the Interop-Assembly stucks, if
> this call don't stuck everything runs perfect.
> -> I also tried to call this Interop-Assembly directly with RDNZL with the
> same result, it sometimes stucks.
>
>
> Thanks a bunch for your help,
>
> Eric
>
> (If there is something unclear concerning my bad English and/or bad
> description i would be happy to describe it in detail)
>
> My System:
>
> - Win XP
> - LispWorks 5.1.1 Personal Edition
> - RDNZL 0.12.2.
> - Visual Studio 2008 Express Editions
> - .Net-Framework 3.5
>
>
> Some Code:
>
> Unfortunately i can not provide an complete example or my full code, but
> here are at least some snippets.
> Also there happens nothing special, so i think the problem is somewhere
> else... and there is no exception coming
> back as if it is waiting or the call is not delivered.
>
>
> The function with starts the hole process in lisp:
>
> (defun OCR++FineReaderBildAuswerten (Speicherort bild sprache
> neuerSpeicherort )
> (RDNZL:rdnzl-handler-case
> (let(dotNetList bilderAnzahl (ergebnis (list ) ))
> (OCR++FineReader-BilderPraeparieren (concatenate 'string
> Speicherort "\\" bild ) neuerSpeicherort) <<<---first Function to .Net see
> below
> (setq bilderAnzahl (- (OCR++FineReader-BilderAnzahl) 1))
> (loop for n from 0 to bilderAnzahl do
> (OCR++FineReader-BilderOeffen n)
> (OCR++FineReader-InhaltAnalysieren )
> (OCR++FineReader-InhaltAufbereiten sprache )
> (OCR++FineReader-Speichern neuerSpeicherort bild :frz t
> :txt t)
> (setq dotNetList (OCR--FineReader-TextDatenStrukturLesen))
> (setq ergebnis (cons
> (ORC--FineReader-erstelle-verschachtelterListe-Text dotNetList) ergebnis))
> (OCR--FineReader-DokumentenAnalyseSaeubern))
> (RDNZL:enable-rdnzl-syntax)
> (reverse ergebnis))
> ( "System.Exception" (e)
> (print (RDNZL:invoke e "ToString") )
> nil)
> ))
>
>
> ===============================================
> The first function which calls a function in the #Class:
>
> (defun OCR++FineReader-BildPraeparierenUndOeffnen(bild)
> (RDNZL:invoke fineref "bildPraeparierenUndOeffnen" bild ) )
>
> ===============================================
> The function in the C# Class which calls a function of the Interop-Assembly:
>
> public Boolean bildPraeparierenUndOeffnen(String bildpfad)
> {
> Logger.logIT(this, " bildPraeparierenUndOeffnen: " + bildpfad, log);
> bildInformation = pEngine.PrepareAndOpenImage(bildpfad,
> bildBearbeitungsParameter, null, ref dokumentenInformation);<<< here it
> stucks
> Logger.logIT(this, " bildPraeparierenUndOeffnen: ende", log);
> return true;
> }
> _______________________________________________
> rdnzl-devel mailing list
> rdnzl-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/rdnzl-devel
>
>
More information about the rdnzl-devel
mailing list