Fugitive from vb6

My apologies if this is the wrong place to post. I am a fugitive from classic vb6. Very disillusioned by M$oft’s pulling the plug on that. Visual dot.net is nothing like vb6. (and the vb6 IDE does not work on Windows 10). Probably moving to Linux. I would like a language as near as possible to vb6. It must have the following

an IDE
the ability to compile to an exe for Windows, + for Linux.
the ability to design programs to print formatted accounting reports
the ability to design programs to work with random access files using User Defined Types
preferably able to port in vb6 code with minimal change (I know this one is tall order)

I worked with VB6 and VB.NET for many years. I think you will be very happy with Xojo. It is it’s own toolset and it is not intended as a direct replacement. However, it should feel very comfortable for someone coming from VB6.

I’m not sure about your UDT with random access files. That can be a broad definition. If you need a single user database, SQLite is built in and is very,very easy to use. On the other hand, if you need a multi-user DB, then you can easily choose from several such as PostgreSQL and MySQL.

Welcome to the community!

[quote=214735:@Alan Ford]My apologies if this is the wrong place to post. I am a fugitive from classic vb6. Very disillusioned by M$oft’s pulling the plug on that. Visual dot.net is nothing like vb6. (and the vb6 IDE does not work on Windows 10). Probably moving to Linux. I would like a language as near as possible to vb6. It must have the following

an IDE
the ability to compile to an exe for Windows, + for Linux.
the ability to design programs to print formatted accounting reports
the ability to design programs to work with random access files using User Defined Types
preferably able to port in vb6 code with minimal change (I know this one is tall order)[/quote]

Welcome to sanctuary. There are a lot of people who came from VB here. You will be amazed by the number of threads that start by “In VB, I use to do this …”. Just do a search in the forum with “VB6” :wink:
https://forum.xojo.com/conversations/all?search=vb6

Xojo is its own language. Although similar to VB6, its not a clone, and you need to understand that while it is most appreciated by escapees from .NET, it does require a bit of learning.

Yes. Brilliantly. With exactly the same source code.

Yes. Although like in VB, you may need third party tools if you need elaborate reports, and several are available.

Depends what you want to achieve. Random access files are available. Although Xojo does not have user defined types, using classes brings the same kind of features.

The languages are similar enough to enable easy adaptation. But I would not recommend trying to cut and paste. It would be much more work to fix the numerous errors.

As I said, a lot of people here did practice, or still practice VB6, and will generally try their best to assist.

First let me say I’m not familiar with VB

[quote=214735:@Alan Ford]an IDE
the ability to compile to an exe for Windows, + for Linux.
[/quote]

Xojo Can compile for Window, Linus and Mac. I only do Mac and Windows

Xojo’s bulit in reporting tool is somewhat limited but may suffice … I don’t use it. There are 3rd party tools and of course you can hand code them

You might be able to use structures, depending on the data, but I think that would be better handled with a class I think.

[quote]
preferably able to port in vb6 code with minimal change (I know this one is tall order)[/quote]

I hear there are significant similarities, but having never use VB I really don’t know.

  • Karen

Thanks chaps, for your speedy replies. I emphasise that I hated dot.net and am not a fugitive from it as I never used it. I would stay with vb6 but don’t trust microsoft not to break it in the future and of course it does not run on Linux. Answering specific points, the UDT is called U D Structure in dot.net. It is equivalent to the old random access files, which I still prefer. I am not interested in database files SQL etc. I have large a accounting suite that uses random access files and that what I want to do. As for printing formatted reports, this is trivial in vb6 (it is much more complex in dot.net). I would rather not use add ons.

XOJO is not VB6, but as a VB6 transfuge myself, I can tell you that the transition is ralatively painless. (I still maintain a VB6 application that runs on Win 7, 8.1 and 10 - yes, this is actually feasible. But like you, I know that VB6 time has long passed. I have a large Xojo project to replace and enhance my last standing VB6 application.)

You need to be ready to change some of the ways that you were doing things and you need to embrace OOP in order to best realize the power of Xojo. There are far less third party plugins for XOJO than there were for VB6, but you will generally find what you need for most purposes. Some ActiveX controls designed for use with VB6 even work with XOJO. (It would be best to find equivalent ways native to XOJO, but when all else fails, an ActiveX can be tried)

With XOJO, you will quickily discover that with a very similar codebase, you can create applications that run on for Windows, OSX, Linux, and even create web applications. With the new framework, gradually introduced for all platforms, but initially made available mostly for IOS, you can even make IOS applications (from a Mac computer only, due to Apple technical restrictions).

As Michel mentioned, cut and paste of VB6 code may work in some cases, but most of the time, it will not. Been there done that myself. Now, I know better.

Download XOJO and try it. You will be able to find for yourself how easy it is to make the transition. The only thing you cannot do is compile. You will need a paid licence for that. There will be issues where you may need help. You will find on this forum a large number of fellow developers ready to help you reach the next level.

Regarding defined types: as suggested by Karen, structures will let you do exactly that, very much in the same way as you did in VB6. I make heavy use of structures to create page or class properties.

Welcome to the Xojo world!

I was in the same boat 5 years ago, and have since ported my main program from VB6 to Xojo. For Printed Reports, I ended up buying BKeeney Shorts reporting tool, it was the only thing I could find that would replace the code-driven reports I had in my old VB6 program. There are a lot of great things about Xojo that are superior to VB6 such as not having to rely on registering DLLs with the system, and if you are inclined to address the Mac market, you can get a Mac version out of the same code base with minimal effort.

One area that you will definitely think VB6 is vastly superior is the debugger / with it s run-and-edit capabilities. That is one thing that VB6 has an advantage.

I was hard pressed to think of any feature/function in VB6 that you would miss when using Xojo. You then mentioned printing reports with no add-ons… Printing and Reports in Xojo are not fantastic and there many easier ways to produce reports than what Xojo provides. Especially if you do not use any of the great add-ons available.

I think Xojo IS the best commercially supported cross platform spiritual successor to VB6 in the market. That being said I don’t know of any others. VB6 is now over 15 years old and a lot of things have changed in the software world.

I can recommend Xojo but keep an open mind to whats going on under the hood. Windows and VB6 worked like milk and cookies but Xojo tackles a lot with multiple platforms. You will at times have to consider whether the target is Windows or Linux and make small adjustments to your code and plan to accommodate.

Xojo will get you 90% there in most every situation but the rest is your skill as a developer. I feel like VB6 might have held your hand a little bit more than Xojo does. It may also be a consequence of simply being more powerful than VB6. Either way if you are satisfied with VB6 and only wish Microsoft would continue to support it then I see no reason you would not be satisfied with Xojo.

Structures would be roughly analogous to VB’s udt’s

How can you hate something you don’t know?

Since it stopped working in Windows 8, as well now in 10, it is obvious they specifically did something to kill it. I have apps from way before that still work perfectly well.

Let us face it : Microsoft wants VB6 gone.

I don’t think they really can prevent all VB6 apps to execute, because of the millions of programs, business or otherwise, that are here.

But the Windows 10 specific features may become out of limits. That may mean they go one step further in the future and prevent VB6 executables to run, for instance, in the Windows Store Centennial bridge, effectively barring these apps from ever entering the Windows Store.

Maybe he tried and got burned by namespaces, different syntax, incompatible commands, you name it. Up to printing that has become awfully complex.

I bought VB 4 Pro back in some like 1995 and used it until I discovered RealBasic back in late 2001. But I did use VB. NET in 2013 to develop a half dozen apps for the Windows Store. It is a whole different language. Unlike 2002 RealBasic I am able to run unchanged in the present Xojo, VB up to 6 sources are lost to VB .NET. Or they require quite a bit of adaptation.

The Xojo new framework is a walk in the park as compared to the jump one has to do to go from VB6 to .NET.

Another thing is, Microsoft forums are absolutely nothing like what we have here. There, you ask a question, and a Microsoft person points you to the documentation page. Very seldom other users try to help the way we do here.

The supposed abundance of third party tools for VB. NET was not terribly obvious to me. Maybe there are and I am too dumb to find them . It seems VB users are rather secretive about the tools they use, and unlike our third party provider, their toolkit geniuses could not care less about helping in forums. As for the Windows Store incarnation of VB, there are simply none still today I could find, when I sorely needed some way of printing from that ■■■■.Contrary to the Xojo examples, the cràp they offer to do so is structured in such a way that even a mother cat could not find her kittens in there (how can we pile up methods calls upon methods calls as to completely obfuscate the actual roadmap ?).

As a comparison, Jean-Paul Devulder came up with a printing solution for iOS within a month or so of its release with his DTPlugins.

I cannot say I hate VB. NET, but there are aspects of it that are deeply unpleasant.

The runtime will be supported until at least 2024 for desktop applications (including new versions of windows as long as it is for applications for the desktop versions). There are even (in-official) instructions how to install the IDE on Windows 10.

He has stated:

Hence my comment.

I’m all for it that he starts diving seriously into Xojo. It’d be a wise move.

But nonetheless, VB .NET is in my humble opinion a great IDE, a great language – and a great framework. It was a steep learning curve for me a decade ago moving to VB .NET, but how does one advance in life if one is not willing to learn? And if it is only to then be able to substantially state: I hate it.

As I am an autodidact, semi-professional, part-time in-house programmer only, the move to VB .NET was a real challenge. The first time as a hobby-programmer I was confronted with something I thought I would never be able to master. But I did. I invested a lot of my free time. Not only am I now able to program in large with VB .NET, it also gave me the courage to move forward and learn stuff I never dreamed to be able to learn: compilers, functional programming languages, the Cocoa framework, the Objective C runtime, Smalltalk, etc.

It is important to choose the right tool. And one has to know as many tools as possible to be able to choose. VB6 programmers not willing to embrace that motto do not have my understanding. VB6 has been “deprecated” more than 10 years. Whining about this in 2015 is ridiculous.

Fact is, moving from VB6 to VB. NET was indeed quite a challenge. For some with enough perseverance, time, and an open mind, anything can be learned. For others, the fact that Microsoft, indeed back in 2002, imposed that new framework all the sudden, was felt as somewhat of a betrayal.

The kind of heated discussions we sometimes still have about the RS IDE versus Xojo is child game as compared to the flames in programmer’s forums of the time.

It is amazing to see an IDE and a language which has been dropped by its maker soon 15 years ago still very much used today. It takes Windows 8 or 10 not to run it’s IDE to finally persuade people like our OP to transition to something else. And yet, I am convinced there are a significant number of VB6 developers who stick to Windows 7 precisely because it runs VB6.

After so many years using RB/RS/Xojo, and also because I do practice VB. NET as well, I feel Microsoft showed a blatant contempt for existing code at the time. So much so that they in fact created an exceptional resistance. Brutalizing users like they did (and still do with UWP, but that is another story) is a recipe for losing customers. Microsoft with that ukase probably did more for other languages than any of them would have been able to accomplish.

If I was to compare with the way xojo is currently undertaking the need to embrace a new framework with iOS, I would say that they take care of shielding the user from nitty gritty and sordid under the hood details. I wrote it many times : computers are at our service, not the other way around. It is pretty preposterous to force users to think like computers, when a tad of abstraction can protect programmers from complexity doom.

I know in practice the rather tedious job of using the iOS framework in XCode for most everything. It is inherently complex. Xojo makes that transparent. Unless one wants to use declares, no need to learn about the intricacies of the gears inside the box. And even when there is need for that kind of clockworks, DTPlugins, iOSLib or iOSKit make it pretty transparent.

Xojo Web is another example of remarkable abstraction. Anybody familiar with web development knows that a site requires an amazing amount of wizard recipes in HTML, CSS, and JavaScript to get a good result. Xojo Web lets you design an online app with no knowledge of any of these tools, yet it wraps all the mentioned languages in an elegant RAD. No need for complexity.

The recent addition of the new framework to Desktop and Web is a perfect example of how to spare users from complexity shock : allow programmers to use both new framework and classic code in the same app, transparently and à la carte. That demonstrates what Microsoft should have done, instead of man handling users.

That’s the only part I disagree with your comment. Microsoft knew what they where doing at that time. It had to be – for technical reasons.

The issue is that a lot of non-programmers picked-up VB and they remained non-programmers up until VB6. Then it was impossible for them to take the leap to VB .NET. But that was not Microsoft’s mistake. They had to abandon VB at some point anyway as technically it was a mess. The same was true for the end of FoxPro.

The VB6 runtime will be supported until 2024 at least. I hardly call that a betray to its users. 12 years – in 2024 even 20 years – have been enough to move on for any VB6 wannabe-developer and find a solution, be it Xojo (which I would recommend), VB .NET or something else.

I really don’t get this “bring back VB6” thing. If VB6 would be loved by “real” programmers (I usually don’t use that term, but in this case it fits perfectly) , I’m sure there would have been an open source clone by now like with Mono. But no “real programmer” is shedding a tear over the “loss” of VB6.

I think at one time they were. At a few points along the way, there was a real chance that the “next” version of Windows would not support the VB6 runtimes properly or even at all. But I get the feeling that whatever big technological shift that comes after Windows 10 a decade from now, Microsoft is going to say, “Look you’ve had 20+ years to get off of it and we’ve warned you repeatedly. 32-bit / VB6 / legacy support is not something want to deal with”.

As i said I never used VB but is that not a glasshouse type of statement?

The thing is many “real” programmers don’t think Xojo is for 'real" programmers so I don’t see how that logic follows.

I think many “real programers” like things to be complex and not easily approachable. Anything that is 'easy", is by their definition is a “toy language”.

While I never used VB, I know (at least pre .net) it let many people like me (and you it sounds like) to program to help them get there jobs done faster and more efficiently in ways the IT department never would have.

Those of us who become hard core hobbyists do go farther down the rabbit hole of complexity… but those who just want to get the job done never will… and why should anyone have to unless it is absolutely necessary?

  • Karen

My point is not “bring back VB6” at all. Rest in peace. Or not. In fact, I don’t care. I have not used that technology for so long I hardly remember what it was.

I do feel, though, that Microsoft could have probably spared users the disarray of losing their existing code, and the trauma of jumping from one language to the other. The example of Xojo protecting its users from the system framework is exemplary : Mac OS X, Windows, Web, each has a very different framework. Yet, Xojo has maintained the same code. Proof that it is feasible.

It is already happening. Since Windows 8 and the new API (which is far more than the “Metro” Modern UI), the apps architecture has become drastically different. They may have given up on forcing tiles to PC users, they are very much into touch and Windows Store apps for anything else. Universal Windows Programs, as they are called today, are a requisite for the Windows Store even more for Windows 10 than for Windows 8. Before Windows 10, one could list his desktop app in the Windows Store. That is over. Now the only way to have a Xojo app there will be, next year, through a software interface that lets a desktop app execute within a new API shell (Centennial Bridge). If they don’t decide to make that available for VS users only.

All their talk about Open Source and Windows 10 bridges is fine and well, but I can’t believe the shark has all the sudden turned golden fish. In reality, the only framework they care about is the new API, and de facto Desktop as we knew it is over. It suits them to play nice, but all they care is their new technology.

I wasn’t talking about the Windows Store. Most programmers and IT departments that deal with VB6 programs are just talking about how to keep it running. I don’t think the delivery method is much of an issue on older legacy apps. If the VB6 runtimes are included and will keep you from having to do major porting then, the support is there. What I am saying is at some point they are not going to include the runtimes in the O/S.

VB6 is a toy language. In fact VB .NET is actually easier to use than VB6. The problem is that you need some proper understanding of OOP and other stuff to “get it”. For me as an autodidact who started with dbase 3 in the eighties it took 20 years till I “got it” (ironically by being forced by my employer to move from VB6 to VB .NET). Since then it has been a joy to learn other languages and frameworks.

Technically the only way for Microsoft would have been a complete redevelopment of VB6 on top of .NET. But it would have never worked really well because VB6 is based on COM (Component Object Model) and .NET is the successor of COM.

For me i am happy with Xojo i use vb from v1.0 to vb6