Saturday, 15 June 2013

c# - EOleSysError "The system cannot find the file specified" in COM object -


I am working on a Delphi 7 project which uses COM components to communicate outside the dynamic code. All these components have been developed in C #. Along with all the COM components, the .tlb and .dll files were registered to other components registered in the registry, and one of them is accessible in the Delphi code.

When accessing the function of that particular COM object, it is taking the error -

Project ABC. Class 'EOleSysError' message with 'System can not find the specified file' process has stopped

  1. Import type library - DLL has been added and installed
  2. Registry - registry entry same

I used to rebuild DLL, making DLL code associated with the Delphi code folder, and using the COM component to create a registry entry in Delphi Not others are working fine using the same process but it must resolve is not a

This issue calibrate I do?

You have confirmed that you have 64 bit assembly, your Delphi compiler produces 32 bit executable A 32-bit executable can not consume an in-pri 64 bit COM server Although the COM server is registered, it searches for 32-bit executable 32 bit COM registry that is registered in the 64 bit COM registry and it is concluded That COM object is not registered.

Your Options:

  1. Consume assembly out-of-piece.
  2. Switch the assembly to create 32 bit assembly, and consume it in-coop.

No comments:

Post a Comment