07-05-2012 10:55 AM
Hi,
my application creates a DIAdem instance ... New DIAdem.TOCommand ...
On Win7/32 this runs as expected.
On Win7/64 I get the exception REGDB_E_CLASSNOTREG
When DIAdem is already running, the New DIAdem.TOCommand throws the same exception.
Now when I try to close DIAdem it tells me:
How can I use the TOCommand interface on Win7/64?
Thank You,
gemu
DIAdem 2010 / Windows 7/64 / Visual Studio 2010 / VB 2010
Solved! Go to Solution.
07-07-2012 02:17 AM
I assume you try to access it with .net(VB).
If so you have to run the x86 version of the .net assembly.
Any CPU will adapt to the Processor.
(Run the 32 bit version on Windows7/32bit which will work. Run the 64 bit version on Windows 7/64 bit which will fail.)
DIAdem COM components are 32 bit only.
Is it possible that this causes your Problem?
Please set thePlatform to x86 and try again.
07-09-2012 07:53 AM
Thank you for this hint!
I have changed the platform to x86.
However there is the same exception.
Any other idea?
gemu
07-09-2012 08:37 AM
Hmm I just added the following code to an vb project into initialization of the form
MsgBox("Load DIAdem") Dim oDIAdem As Object oDIAdem = CreateObject("DIAdem.TOCommand") If Not oDIAdem.bInterfaceLocked Then Dim iSuccess : iSuccess = oDIAdem.CmdExecuteSync("MsgBoxDisp ""From DIAdem""") End If MsgBox("Loaded")
at least on my windows 7/64bit machine it works out fine. Even with "any CPU" setting. So there seems to be an adapter for the 32/64bit thing for vb or com on my machine.
All three boxed do show up.
07-10-2012 03:24 AM
The problem is solved.
The DIAdem installation was corrupt.
A repair installation didn't change anything,
however a complete de-installation and re-installation brought success.
Now it works now as expected, even with "any CPU" setting.
Thanks for your help
gemu