MikeD
11/11/2011 1:55:00 PM
"MM" <kylix_is@yahoo.co.uk> wrote in message
news:hu9ob71k9uor7bq33552t2ktin78eat4fs@4ax.com...
> Am I the last person using VB6 on Windows 2000?
>
> How many (guesstimate) are using VB6 on XP?
>
> And on Vista?
>
> And on Windows 7?
>
> If I'm going to have to move up a notch, I could jump straight to
> Windows 7, but I'd have to buy a whole load more hardware, probably
> (not enough RAM, CPU no longer fast enough, mobo old).
>
> If I stuck with XP, then there's no problem.
>
> Comments? (Remember back in September I had a God-awful job even
> getting VB6 to install on XP, until someone pointed out the trick with
> that java malarkey.)
FWIW, VB6 "works" on both Vista and Win7 with what I consider to only be
minor issues. I've personally never had ANY issues with VB6 on WinXP,
including installation. And I've installed both VB6 Pro and Ent editions on
many WinXP virtual machines.
Issues you may expect to encounter under Vista and Win7 (not complete by any
means; just some that I've personally encountered) are the Java problem
during installation (easily worked around), slow redraws in the Form
Designer (work-around by disabling desktop composition or just live with it
but it can be annoying), and various issues related to UAC. If you keep UAC
enabled, be SURE to right-click either a shortcut to VB6.exe or the .exe
file itself, select Properties, and check the box to run it as administrator
on the Compatibility tab (this is also where you'll find the checkbox for
disabling desktop composition). It is not necessary to run VB6 in any of the
OS compatibility modes, but you certainly can if you want (I've never
noticed any difference that it makes though).
A couple other IDE issues under Vista and Win7 is that some Property window
"popups" won't work. For example, the Palette tab for the BackColor and
ForeColor properties will be blank. This can be worked-around by disabling
visual themes. I seem to also recall a problem with the Data Environment
designer (perhaps other designers as well) that is also worked-around by
disabling visual themes and/or desktop composition. I very, very seldom ever
use the DE so my memory is a little hazy on that.
A more serious problem under Win7 (not sure about Vista as I've never really
used Vista) is if you use ADO in your app. To me, this isn't really a
problem with VB6 but with ADO. Win7 includes a new, non-redistributable
version of ADO 6.0 (IOW, no MDAC installation). Now you can set a reference
to older versions of ADO (2.0 to 2.8) and everything will be fine UNTIL you
run the compiled app on an earlier version of Windows that doesn't (and
can't) have ADO 6.0. And then you'll hit all kinds of problems with ADO.
The first time I had problems, I was able to somewhat trace it back to the
interface of ADO 6.0. I was able to do this because I was using ADO in an
ActiveX DLL project and when recompiling the DLL under Win7, I'd get the
"binary compatibility" dialog box with the following (even though, and maybe
because, the reference is for ADO 2.6):
Original definition:
Property Get Connection() As ADODB.Connection_Deprecated
Current definition:
Property Get Connection() As ADODB.Connection
I have found no viable solution to compiling under Win7 and the app working
under earlier versions of Windows. I tried setting the reference to other
versions of ADO, including ADO 6.0, and still had problems with the app
running on WinXP without ADO 6.0. So, bottom line is that you can develop
under Win7 but you'll need to compile any app using ADO under WinXP. You
can install Windows Virtual PC and XPMode for this purpose (so be sure Win7
is an edition that can use VPC and XPMode, or you can use the older Virtual
PC 2007 or some other virtual machine product but you'll need a legal
license for WinXP, whereas XPMode already is licensed simply by owning a
legal license of Win7).
Of course, there are still design considerations related to Vista and Win7
if you want your app to play nice in those OSes regardless of what version
of Windows you're running VB6 under.
--
Mike