Click here to Skip to main content
15,916,398 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi all,

I am working on an application, which uses Oracle as database and also have socket and winshock to be implemented into it.

For Oracle, i had already installed the Oracle client and the application is running fine with Oracle and socket programming. But for Oracle to execute as required, the application platform is to be set to x64.

Now, when i add the Winshock control into the application the application stop working. Because Winshock controls requires the platform target to be set to either x86 or Any CPU. Anyhow, the same code implementation is working fine for another project, where the platform target is set to x86.

Please do suggest me some method, so as to use OCX and DLL of different platform into one project. I am working on Windows 8.1 Pro, 64 bit operating system with Visual Studio 2012 and Oracle 11g client.

Any help will be highly appreciated.

What I have tried:

I had tried registering both the Oracle(OraOleDB11.DDL) and Winshock(MSWINSCK.OCX) to both the versions of regsvr32, i.e. c:\Windows\system32 and c:\Windows\syswow64.

Also, both the working find in independent applications. But both are not working together in one application.
Posted
Comments
Richard Deeming 26-Jul-16 8:43am    
Assuming you mean the winsock control (no "h"), that's an ancient and long-dead control from the VB6 era. The .NET framework has built-in classes that can completely replace that control, and which will work with any platform target.
RickZeeland 26-Jul-16 10:02am    
A possible way is to build a separate "host" in x86 mode which contains your control and handles the IO. The host could then communicate with your x64 application e.g. via pipes, which is a very fast method. See the WCF documentation for more information.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900