Online Forums
Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.
Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.
Do not use the Contact page for technical issues.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- General Issues, Building
- System.Runtime.InteropServices.SEHException in RawEasyDAClient
System.Runtime.InteropServices.SEHException in RawEasyDAClient
Best regards
Please Log in or Create an account to join the conversation.
For response 1#:
I tested the app and your assumption is right. As I said, this is an ASP.NET MVC project and the user need to check the values of some tags in a one shoot call (Just a one shoot per event), so for each click event, I create an EasyDAClient and read multiple values of some tags, by the end of the ActionResult, the values are displayed in a modal. That's all. So for now I have two options, the first is to pass the EasyDAClient to static, check if the var was instanced and test the app. The second option is destroy the instance of EasyDAClient to be sure that the instance is not created (With wich code can I destroy the instance?)
For response 2#: Tested in 64bit, but same results.
For response 3#: I be wainting for the new version.
Thanks for your helps, I will post the results.
Please Log in or Create an account to join the conversation.
this may be a bug somewhere in the EasyDAClient parts that are written in managed C++. Unfortunately, I have no idea how to resolve unless we get a simple reproducible scenario that we can run and debug here.
Saying that, though, there are some (wild) ideas to experiment with:
1. Somewhat to the contrary you found, the exception appears to be related to the destruction of the (last) EasyDAClient, not to its construction. As an attempt for workaround, try to keep at least one EasyDAClient instance around for the lifetime of your app, if that's doable (and, do not explicitly dispose of them).
2. The particular exception trace you sent indicates that the component is running in a 32-bit process. If you have a 64-bit machine, configure the ASP.NET so that a 64-bit process is used, to see if that helps.
3. We should have a new version coming out in approx. 2 weeks or less. There was no fix specifically addressing this issue, but there is always a chance that it would behave better. Have a look at our Web site in 2 weeks and try QuickOPC 2018.3.
Best regards
Please Log in or Create an account to join the conversation.
EasyDAClient client = new EasyDAClient();
This is the exception
System.Transactions Critical: 0 : <TraceRecord xmlns="schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical">
msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled Excepción no controlada /LM/W3SVC/2/ROOT-1-131854678805846913 System.Runtime.InteropServices.SEHException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Un componente externo produjo una excepción. en AfxThrowInvalidArgException()
en CBasicWorkerThread.{dtor}(CBasicWorkerThread* )
en CEasyAbstractEngine.{dtor}(CEasyAbstractEngine* )
en CEDAAbstractEngine.{dtor}(CEDAAbstractEngine* )
en OpcLabs.EasyOpcRaw.DataAccess.CDAInnerEngine.{dtor}(CDAInnerEngine* )
en OpcLabs.EasyOpcRaw.DataAccess.CDAInnerEngine.__vbaseDtor(CDAInnerEngine* )
en OpcLabs.EasyOpcRaw.DataAccess.CDAInnerEngine.__vecDelDtor(CDAInnerEngine* , UInt32 A_0)
en CEasyAbstractModule.DestroyDAEngine(CEasyAbstractModule* , CEDAAbstractEngine** pDAEngine)
en CEasyAbstractModule.RemoveDAEngine(CEasyAbstractModule* , CEDAAbstractEngine** pDAEngine)
en OpcLabs.EasyOpcRaw.CInnerModule.ReleaseDAEngine(CInnerModule* , CEDAAbstractEngine* pDAEngine)
en OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.!RawEasyDAClient()
en OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.Dispose(Boolean A_0)
en OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.Finalize()</StackTrace><ExceptionString>System.Runtime.InteropServices.SEHException (0x80004005): Un componente externo produjo una excepción.
en AfxThrowInvalidArgException()
en CBasicWorkerThread.{dtor}(CBasicWorkerThread* )
en CEasyAbstractEngine.{dtor}(CEasyAbstractEngine* )
en CEDAAbstractEngine.{dtor}(CEDAAbstractEngine* )
en OpcLabs.EasyOpcRaw.DataAccess.CDAInnerEngine.{dtor}(CDAInnerEngine* )
en OpcLabs.EasyOpcRaw.DataAccess.CDAInnerEngine.__vbaseDtor(CDAInnerEngine* )
en OpcLabs.EasyOpcRaw.DataAccess.CDAInnerEngine.__vecDelDtor(CDAInnerEngine* , UInt32 A_0)
en CEasyAbstractModule.DestroyDAEngine(CEasyAbstractModule* , CEDAAbstractEngine** pDAEngine)
en CEasyAbstractModule.RemoveDAEngine(CEasyAbstractModule* , CEDAAbstractEngine** pDAEngine)
en OpcLabs.EasyOpcRaw.CInnerModule.ReleaseDAEngine(CInnerModule* , CEDAAbstractEngine* pDAEngine)
en OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.!RawEasyDAClient()
en OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.Dispose(Boolean A_0)
en OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient.Finalize()</ExceptionString></Exception></TraceRecord>
Excepción no controlada del tipo 'System.Runtime.InteropServices.SEHException' en App_Web_OpcLabs.EasyOpcClassicRaw.x86.dll
Un componente externo produjo una excepción.
Please Log in or Create an account to join the conversation.
- Forum
- Discussions
- QuickOPC-Classic in .NET
- General Issues, Building
- System.Runtime.InteropServices.SEHException in RawEasyDAClient