I have a .NET application that integrates using LFImageEnable80.dll. It has been working since 2010. We just upgraded it from client 9 to 10.2 and now the Laserfiche Windows client crashes. My application has not changed at all. It has worked without changes on version 8.3 and 9.0 and 9.1 and 9.2 After upgrading to the 10.2 client we have a problem that i will describe in steps below.
1. My application uses LFImageEnable80 to perform a search. Laserfiche responds by loading the "Search Results" window showing the proper two hits. At this point, my integration application has completed (that is all it does) and it closes.
2. In the Search Results window, the user clicks a document in the list and it loads in the Document Viewer without any issue.
3. In the Document Viewer, the user clicks the Scan button to open the Laserfiche Scanning window. It loads without issue.
4. At this point, the user can either scan a document or not (doesn't matter). But when the user closes the Laserfiche Scanning window - it closes properly, but the other two open windows (Search Results and Document Viewer) both crash simultaneously displaying an error message each. The details of those error messages can be found below. Laserfiche is now in an unstable state and requires shutdown and restart.
=========================================
Error details for Search Result Window:
Error Code: 9051
Error Message: The specified operation is not recognized. [9051]
------------ Technical Details: ------------
LFSO:
Call Stack: (Exception)
LFSession::ProcessResponse
LFSession::SendRequest (GET /+LF/search/hitcount/1bc70af3-9c9a-
ILFObjectImpl::Read
CLFSearch::GetSearchHit
Additional Details:
HRESULT: 0xc004235b (LFSession::ProcessResponse, LFSession.cpp:3898)
(LFSO/10.2.0.383)
LF.exe (10.2.0.839):
Call Stack: (Current)
CLFDocument::ReloadDocument
Call History:
CLFDocSec::InitForPages
CLFEntrySec::HasRight
CLFEntrySec::HasRight
CLFEntrySec::HasRight
CLFEntrySec::HasRight
CLFEntrySec::HasRight
CLFClientAutomation::ExecuteAutomationCommand (GetInstanceInfo)
IsRepositoryLoggedIn
=========================================
Error details for Document Viewer:
Error Code: 9051
Error Message: Could not get document information.
The specified operation is not recognized. [9051]
------------ Technical Details: ------------
LFSO:
Call Stack: (Exception)
LFSession::ProcessResponse
LFSession::SendRequest (GET /+LF/search/hitcount/1bc70af3-9c9a-
ILFObjectImpl::Read
CLFSearch::GetSearchHit
Additional Details:
HRESULT: 0xc004235b (LFSession::ProcessResponse, LFSession.cpp:3898)
(LFSO/10.2.0.383)
LF.exe (10.2.0.839):
Call Stack: (Current)
CLFDocument::ReloadDocument
Additional Details:
Exception: 0xc004235b [9051] (The specified operation is not recognized.) (CLFDocument::ReloadDocument at LFDocument.cpp:1873)
Call History:
CLFDocSec::InitLockInfo
CLFEntrySec::HasRight
CLFDocSec::InitForPages
CLFEntrySec::HasRight
CLFEntrySec::HasRight
CLFEntrySec::HasRight
CLFEntrySec::HasRight
CLFEntrySec::HasRight
Other important facts.
1. Laserfiche Windows Client version 10.2.0.839
2. Laserfiche Runtime 10
3. Originally my application used COM Interop assemblies pulled from Laserfiche SDK 9.2 but after seeing this error, I have recompiled using COM Interop assemblies from the Laserfiche SDK 10 with no difference.
4. I am guessing that the Doc Viewer and Result Window are both attempting to Reload the document after detecting that the Scanner window has closed and anticipating that a change occurred to the document. It is that Reload that is crashing (just a guess).