-
VB6Porter
To unify Visual Basic, a VB.NET assembly has been created for consumption by VBA/VB6/tB. It provides access to many VB.NET objects, ie forms, common controls, and common Namespaces.
Feedback of any sort is welcomed.
https://www.youtube.com/watch?v=ZlSWflfOLCE
Github: https://github.com/VBForumsCommunity/VB6Porter
Github: https://github.com/WindowStations/VB6NameSpaces
-
Re: VB.NET forms and controls for VBA/VB6
Hi,
Which version of .NET runtime is required to use this?
-
Re: VB.NET forms and controls for VBA/VB6
It uses legacy framework 2.0 for compatibility out of the box. Targeting 3.5 is also possible. It was developed and compiled with VS2008 architecture edition.
-
Re: VB.NET forms and controls for VBA/VB6
It's very valuable work. Thank you very much, TTn.
-
Re: VB.NET forms and controls for VBA/VB6
Thanks, I think the hardest part was figuring out how to use Reflection to return a string representing a Com-exposable class. Then, it all falls into place. It was gratifying to have the code run right away, without much effort after that lol.
-
Re: VB.NET forms and controls for VBA/VB6
BTW, the VBA environment requires a reference to VB.tlb. The prefix on VBA would be VB.Button, rather than VBCtl.Button, as it is on VB6. I tested this on Office 2007, Office 2016, and Office 2019, 32bit and 64bit.
-
Re: VB.NET forms and controls for VBA/VB6
The video is too blurry to be useful.
-
Re: VB.NET forms and controls for VBA/VB6
Quote:
Originally Posted by
cidtek
The video is too blurry to be useful.
Sounds like your bandwidth is running slow, or this is the first time showing on the local server.
The HD setting on youtube defaults to auto. Try setting it manually to 1080, ie the gear icon on the bottom right corner that says (HD).
-
Re: VB.NET forms and controls for VBA/VB6
A form designer has been created to work together with the internal assembly of VB.NET controls.
The designer can be used as a standalone exe, but it will also be integrated into the VB6Porter addin, so that the designer can insert code and events directly into the module.
https://www.youtube.com/watch?v=Gn1NW4_p7tc
-
Re: VB.NET forms and controls for VBA/VB6
I tested it and it's great.
Calling components developed in other languages can greatly expand the advantages of VB6-IDE and the scope of application of the VB6 language.
-
Re: VB.NET forms and controls for VBA/VB6
The designer works well in tests so far. Refinements have been made to integrate the controls more smoothly. The process of laying out controls is virtually identical to vb.net now. Several improvements have been made to the assembly since the first preview.
https://www.youtube.com/watch?v=C1G-yQGVTZ0
-
Re: VB.NET forms and controls for VBA/VB6
Reloading the designer with the new VB6 designer formatting was more challenging than I first estimated, but here is a video showing the usage in action.
A few components are still not populating the toolstrip items correctly, but I'll sort that out soon enough.
https://www.youtube.com/watch?v=KQjLZx_1-os
-
Re: VB.NET forms and controls for VBA/VB6
Forgive me, but have you created a new IDE? That's what I saw in your video ....
-
Re: VB.NET forms and controls for VBA/VB6
Quote:
Originally Posted by
Episcopal
Forgive me, but have you created a new IDE? That's what I saw in your video ....
It's more of an extension to the VB6 IDE, allowing one to design VB.NET forms, controls, and utilize related namespaces. I am working on integrating it seamlessly into the IDE along with the VB6 addin. The integration uses a dll assembly to expose VB.NET classes to VB6. The assembly includes a designer that is referenced by the vb6 addin, so that events can be raised between them to communicate.
-
Re: VB.NET forms and controls for VBA/VB6
The functions for opening and saving designs will support integration and stand alone use. The selected VB6 class modules can be opened and saved with the integrated designer. The developer will be able to switch between designer and class code. The current limitations are that only one instance of the designer can be running at a time, as SDI.
https://www.youtube.com/watch?v=RJmDeGAroR4
-
Re: VB.NET forms and controls for VBA/VB6
Feedback of any kind? You can upload uncompressed files to GitHub. It makes for easier browsing. GitHub auto-zips them when you download a folder.
-
Re: VB.NET forms and controls for VBA/VB6
VB6Namespaces on twinBasic will be a powerful combination. Already, this new development inspires confidence that tB will reach its goal perhaps earlier than expected.
Compatibility with VB.NET interop is a major milestone.
https://www.youtube.com/watch?v=pTq5OR3h_8Y
-
Re: VB.NET forms and controls for VBA/VB6
Looks really impressive. Look forward to checking it out when I get some time.
-
Re: VB.NET forms and controls for VBA/VB6
Quote:
Originally Posted by
Niya
Looks really impressive. Look forward to checking it out when I get some time.
It means that you don't like VB6 but you are with us in the Basic world ... thank
-
Re: VB.NET forms and controls for VBA/VB6
Quote:
Originally Posted by
Episcopal
It means that you don't like VB6
Oh I like VB6, I simply like modern Visual Studio versions and .Net a whole lot more.
Quote:
Originally Posted by
Episcopal
but you are with us in the Basic world ... thank
For now. I'm on my last legs with pure Desktop development. Soon I will be using mostly C# doing a mix of web apps and mobile programming. I will also be looking at specific types of software programming outside the MS ecosystem. I should be seeing things like Python and more JavaScript there.
-
Re: VB.NET forms and controls for VBA/VB6
Quote:
Originally Posted by
Niya
Looks really impressive. Look forward to checking it out when I get some time.
Niya, were you able to get the interop GridDisplay to run on tB? I don't have that version of VS to test right now.
-
Re: VB.NET forms and controls for VBA/VB6
Quote:
Originally Posted by
TTn
Niya, were you able to get the interop GridDisplay to run on tB? I don't have that version of VS to test right now.
Haven't gotten around to this yet. Kinda busy doing about 5 different things lol... What exactly would you like me to test? I'll try to test it asap for you and let you know what happens.
-
Re: VB.NET forms and controls for VBA/VB6
Quote:
Originally Posted by
Niya
Haven't gotten around to this yet. Kinda busy doing about 5 different things lol... What exactly would you like me to test? I'll try to test it asap for you and let you know what happens.
I was able to convert your Grid solution file to 2008. It almost appears to work, but did not populate during load or adding items. The only difference in 2008 should be that you "must" implement all. Does that example still work for you to load/add?
-
Re: VB.NET forms and controls for VBA/VB6
Quote:
Originally Posted by
TTn
I was able to convert your
Grid solution file to 2008. It almost appears to work, but did not populate during load or adding items. The only difference in 2008 should be that you "must" implement all. Does that example still work for you to load/add?
Hmmm.....it should work. I'll take a look at the code again as see if I missed anything or if there are any bugs.
-
Re: VB.NET forms and controls for VBA/VB6
Well it works for me using Visual Studio 2019.
Now the only thing I can think of that might cause issue is the fact that you're using Visual Studio 2008. You see the .Net side of things in that project is targeted to the latest .Net Framework which is 4.7.2. That wasn't in existence when Visual Studio 2008 was released. If memory serves .Net Framework 3.5 was the latest back then. This could be the source of your problem. Try changing the target Framework to 3.5 in the .Net project, compile and then load the VB6 app in the IDE and see if it works. Also, you must run Visual Studio on the .Net side as an administrator so the compiling process can access the registry to write the COM stuff.
My best advice over all would be to just get Visual Studio 2019. The community edition is fully featured and 100% free.
-
Re: VB.NET forms and controls for VBA/VB6
Quote:
Originally Posted by
Niya
Well it works for me using Visual Studio 2019.
Now the only thing I can think of that might cause issue is the fact that you're using Visual Studio 2008. You see the .Net side of things in that project is targeted to the latest .Net Framework which is 4.7.2. That wasn't in existence when Visual Studio 2008 was released. If memory serves .Net Framework 3.5 was the latest back then. This could be the source of your problem. Try changing the target Framework to 3.5 in the .Net project, compile and then load the VB6 app in the IDE and see if it works. Also, you must run Visual Studio on the .Net side as an administrator so the compiling process can access the registry to write the COM stuff.
My best advice over all would be to just get Visual Studio 2019. The community edition is fully featured and 100% free.
I'm aware of the framework versions and security tokens. Not a noob lol.
I had adjusted the solution source code to 3.5, but I don't think 4+ has any special ability in this case.
The only difference I know of is that in 2008 it's required to implement all. VS 2019 is not a viable solution.
I have good reasons to avoid VS 2010+ for stable "legacy" production. I will take a look again (at a simpler sample) and see if anything has changed in the cloud on tB's end.
Oh, I think you got the wrong idea. I just wanted to see if you're approach worked on tB, since it is different than my approach.
I want to see the advantages or disadvantages of either route.
-
Re: VB6Porter
VB6Porter + VB6Namespaces working on a fresh install of Windows 11.
https://www.youtube.com/watch?v=8yCCW-tzthU
-
Re: VB6Porter
Quote:
Originally Posted by
TTn
Hello,
I'm interested in this add-in but I'm a novice Github user. I've downloaded 8-31-21-RegisterAssembly.zip and 8-31-21-VBA65.zip and unzipped them. I haven't watched the video because I don't use youtube.
Could you please tell me what I should do next, and in what order?
Thank you in advance
Richard
-
Re: VB6Porter
Invent another persona, one that WILL use youtube, swap that with your own personality for a brief period, watch the video.
Get that persona to share the memory with you.
Voila! you will have the answer without having to ask someone to work for you in order to compensate for your own self-imposed limitations.