100% certain. It's the Vista upgrade that was promised to people who bought computers during the Nov '06 - Mar '07 period It generates an error 70.
--DB
Printable View
100% certain. It's the Vista upgrade that was promised to people who bought computers during the Nov '06 - Mar '07 period It generates an error 70.
--DB
How is it different? They are practically the same excluding some new goodies introduced in VB6.Quote:
Originally Posted by si_the_geek
VB6 was a major bug fix for its only one year older brother.
While I agree that VB6 is basically an improved (or 'corrected') version of VB5, the important point here is that they use different libraries - with only the VB6 versions supported on Vista (as already proven above). For the purposes of this thread, that is game over.
I can't remember the exact details of the differences between them, as it has been many years since I made the switch... the biggest issue for me at the time was that the multi-threading APIs work for VB5 but not in VB6, due to the alterations in the way that the code actually runs (I think this was due to a change in the internal threading model of the VM, but am not sure). There were other "losses" too, but I can't remember them.
In terms of the actual code you write they are obviously very similar, but they still differ in enough ways to need different libraries, and thus are effectively different products - only one of which has any kind of support under Vista.
The only library that is not supported under Vista (so you need to include it in your setup package) is MSVBVM50.DLL. All the other libraries used by VB5 applications are exactly those used by VB6, so you don't have to worry about them. The version of the libraries you can find under Vista also works for VB5.Quote:
Originally Posted by si_the_geek
I thought the version numbers were different for the other libraries in VB6 (hence being a different codebase), but it isn't particularly important.. the thing that matters is that (as you have found yourself) there are issues with VB5 programs on Vista, such as SendKeys.
VB 5 is just sooo old now that is it really worth it to use 5 and not switch to 6? I mean the code changes are that great and switching out controls to the 6 versions is not theat big of deal, but at least it would run better under Vista.
SendKeys is the only issue that has been pointed out so far. It was an issue even under VB6 but, also thanks to my "complaints" to Microsoft, the VB Program Manager responsible for Visual Basic 6 on Vista made the amendment a few months before the release of the latest OS.Quote:
Originally Posted by si_the_geek
If you replace the version of MSVBVM60.DLL that you find under Vista with an older version, SendKeys will stop working.
Moreover, SendKeys only works with the compiled (VB6) application.
The only reason why one may still want to program in VB5 is the perfect compatibility with Windows 98, that was shipped with the VB5 basic runtimes.Quote:
Originally Posted by RobDog888
It is supported but not included though. ;)Quote:
Originally Posted by esposito
Yes, it is supported in the sense that it still works under Vista, but the SendKeys issue was only resolved for VB6 and not VB5.Quote:
Originally Posted by RhinoBull
Quote:
Originally Posted by esposito
Hi Epositio,
To resolve the SendKeys issue on Vista you need to implement the above SendKeysA function as you have specified above.
I have installed Vista Ultimate on my machine and used the above function and I do not recieve the Run-Time Error 70 any more.
All I do is check what OS is being used and either use the SendKeysA function for Vista or the SendKeys function for the rest of the Window OS's.
Hope that helps.
Hi All,
I also got this problem with Windows 7.
So, I use the code from http://vb.mvps.org/samples/SendInput, it's ok.
LVD