Third party dll load error


Author
Message
Larry Caylor
Larry Caylor
Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)
Group: Awaiting Activation
Posts: 592, Visits: 3.7K
I'm working on adding a third party text to speech server to my application. To interface to the speech server, the vendor (NeoSpeech) provides a dll that communicates with their TTS server. The problem I'm having is I get an error when I try to load the dll. To trouble shoot the problem I created a simple standard non-StrataFrame WinForm application that consists of a form and a class that uses the dll to communicate with the TTS server. In this case everything works fine. Next I created a StrataFrame application (with out security). When I call the method in the class that uses the dll I get an error (see attachment). Any idea why it works with a standard WinForm application but not a StrataFrame WinForm application?
Attachments
TTS_DLL_Error.png (71 views, 69.00 KB)
Larry Caylor
Larry Caylor
Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)Advanced StrataFrame User (880 reputation)
Group: Awaiting Activation
Posts: 592, Visits: 3.7K
Mystery Solved. I was doing my testing in VS2010. When you create a standard WinForm project the target CPU is set to x86. When you create a StrataFrame WinForm project the target CPU is set to Any. The third party dll was compiled for x86 so it worked in the standard WinForm project but not the SF project. Setting the SF project compiler option to x86 fixed the problem. Now I just need to find out if the vendor has a version of the dll that targets Any CPU.
Trent Taylor
Trent Taylor
StrataFrame Developer (8.5K reputation)StrataFrame Developer (8.5K reputation)StrataFrame Developer (8.5K reputation)StrataFrame Developer (8.5K reputation)StrataFrame Developer (8.5K reputation)StrataFrame Developer (8.5K reputation)StrataFrame Developer (8.5K reputation)StrataFrame Developer (8.5K reputation)StrataFrame Developer (8.5K reputation)
Group: StrataFrame Developers
Posts: 6.6K, Visits: 6.9K
Ahh...yes, the inevitable problem faced by all over assemblies.  We have fought this in the past as well.  With everything practically an x64 environment anymore, it is best to allow your app to be built as "Any CPU" so that the app can run in either x86 or x64 and take advantage of the x64 when available.  Obviously, x86 will run in both.  But will be limited to 32-bit.  We have one old assembly in our medical app that we will replace next year that has been holding up back on the client side.  On our server, we are running at x64.  This will be a nice limitation to get rid of for sure!
Edhy Rijo
E
StrataFrame VIP (3.7K reputation)StrataFrame VIP (3.7K reputation)StrataFrame VIP (3.7K reputation)StrataFrame VIP (3.7K reputation)StrataFrame VIP (3.7K reputation)StrataFrame VIP (3.7K reputation)StrataFrame VIP (3.7K reputation)StrataFrame VIP (3.7K reputation)StrataFrame VIP (3.7K reputation)
Group: StrataFrame Users
Posts: 2.4K, Visits: 23K
Me too have a project which I am being forced to compile on x86 instead of x64, waiting for the vendor to provide x64 version is taking forever BigGrin

Edhy Rijo

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search