Please help save VB6 - Page 3
CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Page 3 of 10 FirstFirst 123456 ... LastLast
Results 31 to 45 of 141

Thread: Please help save VB6

  1. #31
    Join Date
    Jul 2001
    Location
    Sunny South Africa
    Posts
    11,090

    Re: Please help save VB6

    Quote Originally Posted by DataMiser View Post
    There are many commercial programs done it .Net. I can't tell you which off the top of my head but I have had several that required a version of the dot net framework to run.
    Nero ( used to burn CDs ) and CorelDraw are perfect examples. Since CorelDraw changed their versions to X4, X5 etc. the .NET Framework was needed. That sucks in my opinion and that is why I actually still use CorelDraw 10 ( although I am forced to use the newer versions when teaching those classes ). Since .Net framework was introduced into CorelDraw things started to become a bit more sloppy and sluggish.

    I'm starting to agree with you folks.... That is scary

  2. #32
    Join Date
    Jan 2006
    Location
    Chicago, IL
    Posts
    14,959

    Re: Please help save VB6

    Not for a few years... http://www.thefullwiki.org/VBDOS_1.0
    David

    CodeGuru Article: Bound Controls are Evil-VB6
    2013 Samples: MS CODE Samples

    CodeGuru Reviewer
    2006 Dell CSP
    2006, 2007 & 2008 MVP Visual Basic
    If your question has been answered satisfactorily, and it has been helpful, then, please, Rate this Post!

  3. #33
    DataMiser is offline Super Moderator Power Poster
    Join Date
    Jul 2008
    Location
    WV
    Posts
    4,813

    Re: Please help save VB6

    Quote Originally Posted by dglienna View Post
    Not sure what that means
    Always use [code][/code] tags when posting code.

  4. #34
    Join Date
    Dec 2001
    Posts
    6,332

    Re: Please help save VB6

    Quote Originally Posted by HanneSThEGreaT View Post
    Nero ( used to burn CDs ) and CorelDraw are perfect examples. Since CorelDraw changed their versions to X4, X5 etc. the .NET Framework was needed. That sucks in my opinion and that is why I actually still use CorelDraw 10 ( although I am forced to use the newer versions when teaching those classes ). Since .Net framework was introduced into CorelDraw things started to become a bit more sloppy and sluggish.

    I'm starting to agree with you folks.... That is scary
    I wonder if perhaps a programmer creating something in C++ or other language might also utilize some part of .net as a shortcut, or if they don't know how to do it otherwise. Is it possible for a program not written in .net to use the framework for certain functions, thus the requirement?
    Please remember to rate the posts and threads that you find useful.
    How can something be both new and improved at the same time?

  5. #35
    Join Date
    Jan 2006
    Location
    Chicago, IL
    Posts
    14,959

    Re: Please help save VB6

    C++ uses the framework. Even JAVA can use it.
    David

    CodeGuru Article: Bound Controls are Evil-VB6
    2013 Samples: MS CODE Samples

    CodeGuru Reviewer
    2006 Dell CSP
    2006, 2007 & 2008 MVP Visual Basic
    If your question has been answered satisfactorily, and it has been helpful, then, please, Rate this Post!

  6. #36
    Join Date
    Jul 2001
    Location
    Sunny South Africa
    Posts
    11,090

    Re: Please help save VB6

    Quote Originally Posted by WizBang View Post
    I wonder if perhaps a programmer creating something in C++ or other language might also utilize some part of .net as a shortcut, or if they don't know how to do it otherwise. Is it possible for a program not written in .net to use the framework for certain functions, thus the requirement?
    Have a look here :

    http://msdn.microsoft.com/en-us/libr...=vs.80%29.aspx

  7. #37
    Join Date
    Dec 2001
    Posts
    6,332

    Re: Please help save VB6

    Quote Originally Posted by dglienna View Post
    C++ uses the framework. Even JAVA can use it.
    Quote Originally Posted by HanneSThEGreaT View Post
    Ah, well that explains how some commercial programs might be able to use it without the source code being stolen. So, although a program can use the .net framework, it doesn't have to be completely written in it.
    Please remember to rate the posts and threads that you find useful.
    How can something be both new and improved at the same time?

  8. #38
    Join Date
    Feb 2013
    Location
    United States
    Posts
    56

    Smile Re: Please help save VB6

    I programmed in Visual Basic 6 professionally over a tens ago, but I have not used it since. I am actually quite surprised to hear that people are still using it. Perhaps, it is still being used because Visual Basic 6 was the only version of Visual Basic that could be compiled into machine code and thus, easily distributed. Having a background in C++ and Windows API, I am not a fan of Visual Basic. I felt like I was forced to ride a bike with training wheels. The thing, I liked about Visual Basic the most, was the ability to easily call any function in any DLL by just supplying the interface. This allowed me to bypass some of the limitations of Visual Basic.

    I lot of you are crying that Microsoft has abandoned Visual Basic 6. Do not feel so bad. In about fifteen or so years, people will be crying about Microsoft abandoning .NET! Microsoft keeps re-inventing the wheel with most of its products, because that is how Microsoft keeps making money. If you do not want someone else re-inventing your wheel, then re-invent it yourself.

    Quote Originally Posted by WizBang View Post
    Seems to me, that a programming language would be sorta crippled if it was written for a specific OS.
    Given that there are hundreds of millions of Windows users out there, I would hardly consider a programming language to be crippled if it can only be used to create applications that run on Windows. As far as I know, applications written for Windows NT 4.0 should still run on Windows 8 and all of the versions in between.

    Given that C++ apps rely heavily on the windows API, and that countless C++ apps exist, and continue to be developed, it seem to me that the API has to be maintained for that reason at the very least.
    Actually, all applications running on Windows rely on the Windows API. The Windows API is how the applications and the operating system communicate. Once an application, that does not rely on any run-time DLLs, is compiled, the language the application was written may not even be able to be determined.

    .net can only produce managed code, which can be decompiled back to usable source code. Commercial developers have enough trouble from pirates already, even without essentially giving away their code.
    Any executable file can be disassembled. Some are more tricky than others and converting that assembly code back into a higher level language may require a human to make sense of it. This can in some instances, however, be even more work than just writing something from scratch.

    Quote Originally Posted by treddie View Post
    There is absolutely no way to write code in .net faster than vb6 when just the typing overhead alone is far greater than in vb6.
    This statement would be true if it read "There is absolutely no way to write code in .net that runs faster than code written in vb6".

    Quote Originally Posted by dglienna View Post
    Ever try to run VB6 on an APPLE product? .Net can
    Apples can run Windows, so just about anything that runs on Windows can run on an Apple product. Since Apples and PCs now use the same processors, there is not even much of a performance drop.

    Quote Originally Posted by WizBang View Post
    IMHO, .net is not much more than a competitor to Java. And like Java, .net finds a place within companies who need proprietary software, which is not for wide commercial distribution.
    .NET was Microsoft's response to being successfully sued by Sun Microsystems for J++. Java is used a lot to run web servers and thus, the Java applications are only accessible to the people who work on the web servers, not the web browser clients.

    Quote Originally Posted by HanneSThEGreaT View Post
    Since .Net framework was introduced into CorelDraw things started to become a bit more sloppy and sluggish.
    This should be expected since .NET applications are compiled into byte code that must then be emulated by the .NET run-time DLLs. Applications compiled into machine code need no such emulation. I agree with everyone who says this was a step backwards. I have been saying Java was a step backwards ever since the first time I heard about it.
    Last edited by Coder Dave; February 21st, 2013 at 02:28 AM.

  9. #39
    Join Date
    Dec 2001
    Posts
    6,332

    Re: Please help save VB6

    Quote Originally Posted by Coder Dave View Post
    Given that there are hundreds of millions of Windows users out there, I would hardly consider a programming language to be crippled if it can only be used to create applications that run on Windows. As far as I know, applications written for Windows NT 4.0 should still run on Windows 8 and all of the versions in between.
    I'll suggest rereading what I said, in context. What I meant was, if a language was designed to produce programs only for a specific version of an OS, be it windows or any other.
    Actually, all applications running on Windows rely on the Windows API. The Windows API is how the applications and the operating system communicate. Once an application, that does not rely on any run-time DLLs, is compiled, the language the application was written may not even be able to be determined.
    Indirectly, yes. With that I'd agree. But one can write an application in VB6, Java, .net, and many others, without directly accessing the windows API. It happens behind the scenes.

    I actually suspect that Microsoft may hope to discontinue the windows API altogether, perhaps in part to put an end to the debacle of DLL mismatching. I mean, if enough programmers were to embrace the .net framework the way it is being promoted, they wouldn't directly access the windows API (I am under the impression that doing so is already "taboo"). Then, there wouldn't be so much a need to continue exporting the functions. That way, when they want to change something at that level, the programmer wouldn't even have to know, as the interface provided by the framework would continue to operate the same way. It would essentially make (to use your words) "training wheels" a necessary part of windows programming. There might possibly be a way around that, but it wouldn't be particularly easy. Thus most programmers, especially by that time, wouldn't likely even attempt it.
    Any executable file can be disassembled. Some are more tricky than others and converting that assembly code back into a higher level language may require a human to make sense of it. This can in some instances, however, be even more work than just writing something from scratch.
    I tend to agree, but .net makes it comparatively easy. As I understand it, the reason is because .net code is managed, thus it only compiles to intermediate code. I've read the same goes for Java.

    But there again, this plays into Microsoft's stated goal, which would essentially make end user systems not much more than dummy terminals. How? Easy. With programs that are vulnerable to theft of source code, programmers would be practically forced to deploy their wares only on servers, to be accessed over the Internet. I see the push for "cloud" servers as yet another step in this direction.

    Thank goodness there are other languages for producing windows programs out there besides .net. But they'd all stand to be seriously hindered if not destroyed if the API is evaporated.
    Please remember to rate the posts and threads that you find useful.
    How can something be both new and improved at the same time?

  10. #40
    DataMiser is offline Super Moderator Power Poster
    Join Date
    Jul 2008
    Location
    WV
    Posts
    4,813

    Re: Please help save VB6

    Quote Originally Posted by Coder Dave View Post
    This statement would be true if it read "There is absolutely no way to write code in .net that runs faster than code written in vb6".
    Actually no, it would still be false. While it is true that in general VB6 can create code that runs faster than what is created in Vb.Net the fact that VB.Net can use all 6 cores on a 6 core processor at the same time means that you can write code that will run faster in Vb.Net than in VB6. There are also many things that you can do in .Net that are simply not possible in VB6 so it would be hard to find a way to write something faster when that something can not be written at all.
    Always use [code][/code] tags when posting code.

  11. #41
    Join Date
    Jan 2006
    Location
    Chicago, IL
    Posts
    14,959

    Re: Please help save VB6

    Click-once can deploy a NET app to a user desktop that just goes away immediately after it closes. Only opens from the web link. Hard to imagine in the VB6 days.
    David

    CodeGuru Article: Bound Controls are Evil-VB6
    2013 Samples: MS CODE Samples

    CodeGuru Reviewer
    2006 Dell CSP
    2006, 2007 & 2008 MVP Visual Basic
    If your question has been answered satisfactorily, and it has been helpful, then, please, Rate this Post!

  12. #42
    Join Date
    Feb 2013
    Posts
    11

    Re: Please help save VB6

    Actually no, it would still be false. While it is true that in general VB6 can create code that runs faster than what is created in Vb.Net the fact that VB.Net can use all 6 cores on a 6 core processor at the same time means that you can write code that will run faster in Vb.Net than in VB6. There are also many things that you can do in .Net that are simply not possible in VB6 so it would be hard to find a way to write something faster when that something can not be written at all.
    .

    Not so true since there are many mathematical processes and processes in general that do not lend themselves to parallelism, or where parallelism is very limited. So a "fast" language should not depend on multi-processing to get the speed it should be expected to have without MP. Case in point, some years ago, I had written a program that numerically solved for the position and velocity of a spacecraft moving through the solar system. The positions of the planets at each second were based on periodic coefficients such that out of the 8 planets involved (Mercury is too small as the 9th planet to have any bearing on the problem, unless you are very close to it), only 8 threads could be concurrent and no more. Although it ran roughly 20% faster than my vb6 version (which was cool by itself), the program still had to send data to the screen, and THAT was a huge performance loss in .Net due to the gawd-awful performance of GDI+. So gain here, lose there...That's no way to build a newer, "better" language.

    In addition, the notion that vb6 does not support parallelism is not true. It's not easy, but it CAN be done.

  13. #43
    Join Date
    Feb 2013
    Location
    United States
    Posts
    56

    Re: Please help save VB6

    Quote Originally Posted by WizBang View Post
    But one can write an application in VB6, Java, .net, and many others, without directly accessing the windows API. It happens behind the scenes.
    By "behind the scenes" you mean within the run-time DLLs. The run-time DLLs, in turn, call the Windows API.

    I actually suspect that Microsoft may hope to discontinue the windows API altogether, perhaps in part to put an end to the debacle of DLL mismatching.
    The DLL mismatching debacle ended with Windows NT 4.0. Every process gets its own copy of the Windows API DLLs in its process memory so DLLs that use global or static variables no longer affect other processes. Also, 16-bit DLLs used ordinal numbers to identify export functions. These numbers were assigned sequentially when the DLLs were compiled. If a DLL was later updated with a function inserted somewhere between existing functions, the functions after the inserted function would have their ordinal numbers shifted, causing all types of havoc. 32-bit DLLs generally use function names to identify the export functions. Open an executable file in Notepad and scroll down towards the end. You will see the statically linked function names amongst the other gobbledygook. (Incidentally, never try to modify an executable file in Notepad because Notepad automatically converts null characters to spaces, among other reasons.)

    As far as DLL versions goes, the Windows API DLLs (kernel32.dll, gdi32.dll, user32.dll, ...) are written to be backwards compatible. Newer versions of the DLLs may contain additional export functions, but the previous export functions should not change or disappear. Only official Windows updates should ever replace the Windows API files. Other software installations should never do that. Likewise, applications that use their own support DLLs, should install those DLL files in their own folders along side their executable files, not in the Windows directory! This may have been done in the pass to save on hard disk space, but there is absolutely no reason for it anymore. (Third party driver files that have to be installed in the Windows directory can still cause conflicts.)

    The Windows Application Programming Interface will never be discontinued! As I wrote before, the Windows API is how every application communicates with the operating system, whether you see it or not.

    I mean, if enough programmers were to embrace the .net framework the way it is being promoted, they wouldn't directly access the windows API (I am under the impression that doing so is already "taboo").
    The only people, who consider accessing the Windows API directly to be "taboo", are those who want you to only use .NET and those who fear what they do not know. .NET will never be fully embraced because it uses an intermediate code middle man which slows it down. Code written to call the Windows API directly will run faster with less memory overhead. I write all my applications to call the Windows API directly. Sure, it takes some time to learn the Windows API, but it is not any harder than learning the constantly changing frameworks. To make development quicker, code can be reused over and over.

    That way, when they want to change something at that level, the programmer wouldn't even have to know, as the interface provided by the framework would continue to operate the same way.
    If the Window APIs or any libraries for that matter are carefully updated to be fully backwards compatible, the existing interfaces will not change.

    As I understand it, the reason is because .net code is managed, thus it only compiles to intermediate code. I've read the same goes for Java.
    Yes, Microsoft copied Java on this, but Java was not the first to do it either.

    But there again, this plays into Microsoft's stated goal, which would essentially make end user systems not much more than dummy terminals. ... I see the push for "cloud" servers as yet another step in this direction.
    Mainframes are secretly making a comeback.


    Now, for those of you who want to continue to use Visual Basic 6, there really is nothing stopping you from doing so. As long as Microsoft continues to make the newer versions of Windows backwards compatible, your applications and Visual Basic Studio should still work fine. (I would hope all the bugs in Visual Basic Studio have been resolved by now.) You may not be able to access the newer features intrinsically through Visual Basic, but this can still be accomplished indirectly by calling the Windows API directly. I admit calling DLL functions from Visual Basic is somewhat awkward, but maybe somebody could encapsulate the necessary code in classes so you do not have to look at it. I do this with some of my code.

  14. #44
    DataMiser is offline Super Moderator Power Poster
    Join Date
    Jul 2008
    Location
    WV
    Posts
    4,813

    Re: Please help save VB6

    Quote Originally Posted by treddie View Post
    .

    Not so true since there are many mathematical processes and processes in general that do not lend themselves to parallelism, or where parallelism is very limited. So a "fast" language should not depend on multi-processing to get the speed it should be expected to have without MP. Case in point, some years ago, I had written a program that numerically solved for the position and velocity of a spacecraft moving through the solar system. The positions of the planets at each second were based on periodic coefficients such that out of the 8 planets involved (Mercury is too small as the 9th planet to have any bearing on the problem, unless you are very close to it), only 8 threads could be concurrent and no more. Although it ran roughly 20% faster than my vb6 version (which was cool by itself), the program still had to send data to the screen, and THAT was a huge performance loss in .Net due to the gawd-awful performance of GDI+. So gain here, lose there...That's no way to build a newer, "better" language.

    In addition, the notion that vb6 does not support parallelism is not true. It's not easy, but it CAN be done.
    You'll note that i did not refer to any one specific code just the fact that VB.Net can generate faster code than VB6. This is not always going to be the case but it is at times. I was responding to the statement that there would be absolutely no way to write code in .Net that runs faster than code in VB6 which is a false statement. It is possible and in some cases very likely.

    Also I pointed out that there are things that can't be coded in VB6 that can be coded in VB.Net so clearly those are going to run a lot faster since the VB6 version would not run at all
    Always use [code][/code] tags when posting code.

  15. #45
    Join Date
    Feb 2013
    Posts
    11

    Re: Please help save VB6

    Also I pointed out that there are things that can't be coded in VB6 that can be coded in VB.Net so clearly those are going to run a lot faster since the VB6 version would not run at all
    You make good points, but I still say that the deficiencies in vb6 are only because they dumped it and didn't add more to that language. There is no reason why vb6 could not have gone with full parallelism and other goodies you find in .net. Again, it has nothing to do with what's on the inside to make it work...It has everything to do with how the user gets something done. That has more to do with evolution of a product, and I don't see .Net as an evolution of vb, but more a whole different gene pool.

Page 3 of 10 FirstFirst 123456 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Azure Activities Information Page

Windows Mobile Development Center


Click Here to Expand Forum to Full Width

This is a CodeGuru survey question.


Featured


HTML5 Development Center