By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,948 Members | 795 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,948 IT Pros & Developers. It's quick & easy.

VC++6 app not working properly without Visual Studio 6 Installed

P: 21
Hi All,

we have a VC++6 application which was working fine on some machines.
Production machines arrived and we find out that the app doesn't work properly untill we install VC++6 (Visual Studio) on the machines.

I eventually tried to rebuild everything (dlls and app and everything) in Visual Studio 2003 (painful) but it didn't make it.

All the dlls seem to be present on the machines, but the app doesn't run; after installing VC++6 it goes just fine.

Could this be any kinf of system or application framework DLL overriding issue?

thanks for your help,

Giovanni
Aug 10 '07 #1
Share this Question
Share on Google+
5 Replies


weaknessforcats
Expert Mod 5K+
P: 9,197
That's bizarre.

If I understand correctly, the app won't run unless VC++ 6.0 is on the computer???

That is, if you uninstall VC++ 6.0 on a machine that's working, then the app quits working, too??

There is no framework issue for dlls between VC++ 6.0 and Visual Studio.NET 2003. Unless you are somehow confusing a C dll with a C++ dll or a C# dll.

The only things I know of that does not ship any longer with Visual Studio.NET are the pre-ANS C++ libraries. You would see your code using iostream.h.
Aug 10 '07 #2

P: 21
If I understand correctly, the app won't run unless VC++ 6.0 is on the computer???
Exactly, but only on the new production machines (everything is the same except the processor, which is not relevant I think).

All the machines are running WinXP SP2.

I didn't try to uninstall VC++6. This is something I'll try (I started working on this yesterday, the application was there since a long time ago).

I don't think there's any confusion between .NET/C/C++ DLLs as everything was (and is) working fine on VC++6 on the older development and test machines.

What I did is try to build DLLs and app in VS2003 but I got some debug issues there (http://www.thescripts.com/forum/thread691006.html). I was able to build in release in VS2003, but the application behaves the same way as the old VC++6 app:

The startup Dialog doesn't show up and if you try to call it from the other Dialog which's there the application quits (crashes), without any error.

Where are we heading?

Many thanks for your help,

Giovanni
Aug 10 '07 #3

P: 21
I was able to locate the problem:

when calling CDialog::Create I was passing only the dialog ID as first parameter

Expand|Select|Wrap|Line Numbers
  1. pDlg->Create( ID)
I found sone articles related to similar problem so I started passing a pointer to the parent window

Expand|Select|Wrap|Line Numbers
  1. pDlg->Create( ID, this)
I am calling it from another dialog (main one).

after changing this the application STOPPED CRASHING (can't see application error in Event Viewer and the application keeps going) but THE DIALOG DOESN'T APPEAR.

rings any bell?

Thanks,

G
Aug 13 '07 #4

weaknessforcats
Expert Mod 5K+
P: 9,197
Don't you have to do a DoModal() to get the dialog to appear?? I am very weak in MFC and intend tio stay that way. I may be at the end of my abilioty to help you.
Aug 14 '07 #5

P: 21
It is a modeless dialog so there's no DoModal.

Anyway:

I solved it:
I got an activeX control on the dialog and on production machines the MSCOMCTL.OCX was not registered.

Thanks for helping!

G
Aug 15 '07 #6

Post your reply

Sign in to post your reply or Sign up for a free account.