![]() ![]() (D)COM is supposed to resolve this transparently by loading it into a surrogate 32-bit process and exposing it in an out-of-process way, but with it come configuration and permission-related headaches, and more issues with normal OPC tools "assumptions". Second, even if the in-process works in 32-bit world, the implementing DLL is 32-bit only, and therefore can NOT run in-process within a 64-bit process. At least some of the RSLinx servers are in-process servers - which is not wrong per se, but it is very unusual in the OPC world, meaning that not all tools are ready for it. One of them can be directly related to this. There are some issues with this server (Google for them.). ![]() In additional to an already complicated issues with 64-bit OS and (mostly 32-bit) OPC servers, the fact that it is RSLinx makes things more complex. Thank you for your assistance to this point. I will report back once I have further information so that others can benefit from whatever I gain out of this. The same solution on the RSLinx box continues to exhibit the same behavior.ĭue to some technicalities, I'm able to make little further progress with this box and I'm exerting some political will to get a better test VM - One that I can modify to an extent so I can try to get the same issues on it as I'm seeing in the production environment. We were able to resolve the issue on a test box using a forced 32-bit compilation on the EXE and associated DLLs, but that uses a Matrikon/Graybox simulator. Whatever RSLinx is doing behind the scenes is definitely different. I just wanted to reply quickly to provide an update. ![]() Please Log in or Create an account to join the conversation. Doing so will bypass the extra internal step needed to transform the ProgID to CLSID, eliminating some possible error situations. In this case the ServerClass string passed to QuickOPC methods must look like a CLSID enclosed in curly brackets (""). If you are just after making things work, you can consider replacing the use of symbolic ProgIDs of the target OPC servers in the client code by their corresponding numerical CLSIDs. But OPC does some extra things - it has the "server browser" (OPCEnum) component, and rules for looking up info in the registry, and if either the server, or the client, or OPCEnum, does something that's not fully correct, the code may end up "not seeing" the server registration info, which results in "Invalid Class String". Normally, COM/DCOM does good job in hiding the 32/64 bit differences and making it all work transparent. 64 bit problem will manifest itself as "Invalid Class String", because the registry has some common parts, some 32-bit specific parts, some 64-bit specific parts, and then some synchronized and "reflected" parts, which is done by Windows to hold the 32/64 bit worlds together. If that does not work try doing a "Send/Receive All Folders" in Outlook, this can be done in the Send/Receive tab > click Send/Receive All Folders, after the Send/Receive is complete, restart the machine and try the sync again.Yes, a good portion of 32 vs. Once the MAPIs are disabled, restart the machine and try running the sync again. (Optional) Click the "File Name Extensions" options again to disable the extensions showing. Now in the folder below, find "ClxMapi64.exe" and "ClxMapi.dll". Click the View in the top of the file explorer and on the right enable "File Name Extensions" if it is not already enabled.ģ. Open the file explorer of Windows and navigate to C:\Program Files (x86)\CompanionLink.Ģ. In the window that opens, check the option "Disable MAPI", then click OK to save.ġ. On your keyboard hit the key combination CTRL SHIFT U 3. You can achieve this automatically through CompanionLink settings:ġ. If the error still occurs, we will need to disable two files in the CompanionLink folder. Please use the following guide to run a quick repair of Outlook. If you receive an Invalid Class String, try the following:
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |