Results 1 to 34 of 34

Thread: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces release

  1. #1

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces release

    In order to back-port VB.NET code to VB6 with the new VB6Namespaces, I needed to create a new IDE.
    At the moment, the VB6 IDE is a just a prototype that can open VB6 projects, edit, save and compile executable files.

    • It has a "New Project" dialog window, that has templates inside to choose from, and the VB6Namespaces template as the default.
    • The VB6 IDE will be able to automatically remove unused classes at compile time, from the VB6Namespaces collection.
    • A class builder is included to help you nest classes efficiently.
    • Also featuring "Add module", "Add form", "Add Class", and "Add User Control" options. References and components can be added as well, but needs some work.
    • There is also a properties toolbox window for these module level objects, though not hooked up fully yet, awaiting form designer. Unfortunately, there is no object browser.
    • Most importantly, it has a prototype back-porter that allows you to import VB.NET project files (or copy/paste code), and convert them as close as possible to VB6. The classes included in the VB6Namespaces template help in the process, since these classes are already available by defaut in a standard exe. Most code can be copied and pasted after back-porting it. Some code will need edits though, depending on the scope and various writing styles etc.


    Interestingly, this serves a hybrid between the two variations of the Visual Basic language. For example, the IDE can accept code into the window that normally would not be understood by VB6, but at compilation time that this hybrid can generate the raw code auto-magically to do something new, ie accept new keywords like AndAlso, and OrElse etc., or it can accept and convert python code to vb6 in the newly compiled application etc.

    VB6Namespaces
    I have made a lot more progress on the VB6Namespaces collection, and I have included color coded treeview control to show the approximate completion level of the classes.

    Here is a preview of the new VB6 IDE prototype (proof of concept). The prototype is written in VB.NET 2005. I used VB.NET because it allows me to develop this kind of product rapidly. Although once the project is finished, I can use the backporter to help make a clean VB6 version. Still, the VB.NET version may retain certain abilities that can help port additional namespaces in the future. VB6 can't do that without some kind of redundant interop, although it's totally possible.

    Video: https://www.youtube.com/watch?v=Gr18G_-zRzo



    If anyone would like to write classes I am trying to map out some standards that I use.
    I will reference MS press whenever I can, but some things learned here are through experience. Here are just a few ideas.

    Practical Standards for Visual Basic.
    Microsoft Press, 2000
    Chapter 3. Page 25.

    "...Modules and procedures are the framework for the code of your application, and building this framework requires careful consideration...and you should use these techniques when developing your project."

    For project templates
    Explicit scope definition
    Always define the scope of your variables, function, subs, and properties etc.

    Strong cohesion
    A class module is not simply a container of a bunch of procedures.
    Class modules should be used to organize sets of related procedures. Generally one should minimize the number of related procedures in a module. If the number of procedures has become cumbersome then simply organize those the procedures into several modules to be more easily maintained and debugged.

    Encapsulation
    The ability to expose only certain content to the client, and hide the rest of the procedures from external processes.
    C++ 6.0 lacked this ability at the process level, since it's procedures were still exposed to external applications using the "New" keyword.

    Private modules
    Create private modules whenever possible.
    This avoids naming conflicts and executes code faster since the information is not exposed to the whole public scope.
    It also avoids other applications from causing external issues with your code flow. This means that one should stay away from public solutions like ActiveX, DLL, or TLB's. In order to expose your functions to the rest of the application, you would use the Friend keyword. That way it doesn't expose the functions to external applications, and is encapsulated.

    Self-contained
    Create self-contained modules whenever possible. A self-contained module means that the module does not rely on other modules
    to function properly. This also avoids dependency issues when the unused modules are to be removed before compilation. It is usually best to have a second copy of the code rather than have a class call another class. That may depend on the size and scope of course.

    Loosely coupled vs Tightly coupled
    Tightly coupled means that the procedure is tightly coupled to the other functions that it relies on to function properly. Just as modules are self-contained, you should try to create procedures that are also self-contained and do not rely on other functions to function. This is not always possible but try to follow the practice.

    Specialized procedures subs/functions
    Create only specialized function procedures in your modules. Avoid creating procedures that perform many different tasks. This will make it easier to maintain and manage over time.

    Parameters
    Always use the correct keywords to pass data ByRef or ByVal explicitly. This makes the code easier to read with blue keyword, but more importantly, it makes the code forward compatible to copy paste into a .NET IDE window. By default, a missing ByRef will be converted to ByVal in .NET, as the default. This will cause the code to fail if the parameter is modified inside the procedure. These keywords need to be written specifically for good compatibility practice.

    Miscellaneous
    Use public properties rather than Public variables.
    Use the Call keyword for procedures.
    Declare only one variable per line.

    There are plenty more, but you get the point.
    Hope this is something useful, and I am always open to suggestions, criticisms, and requests.
    I have set the initial release date of V1 for October 31st of this year. I'm not sure how complete it will be, but I hope to create a stable foundation to start with. Feedback and requests will be welcomed after that.
    Last edited by Shaggy Hiker; Nov 26th, 2018 at 11:24 AM. Reason: Removed link.

  2. #2

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    If anyone wants to make their own custom IDE for some reason or another, then you will need to know more about the compilation process.
    Here is some information on the subject to get you started.

    First, the easy way to compile a project file is to call the command line with the WinExec API.
    The following command uses VB6.EXE to automate the compilation process.
    The arguments typically look like this:

    Code:
    "C:\Program Files (x86)\Microsoft Visual Studio\VB98\VB6.EXE" /make "C:\VBlibrary\Project1.vbp" /out "C:\VBlibrary\errStatus.txt" /outdir "C:\VBlibrary\"
    Just remember that the quotes need to be there, so use Chr(34) to write quotation marks and join them with the strings above.
    For example: Chr(34) & "C:\Program Files (x86)\Microsoft Visual Studio\VB98\VB6.EXE" & Chr(34)

    In order to learn and fully understand the compliation process you will absolutely need to experiment with the following.
    Redirect the compilation process and capture the result into a log, to test the undocumented compiler switches.

    In a nutshell, C2.EXE compiles the object files, then the LINK.EXE links them together for the final output. C++ and Visual basic have nearly identical methods as they did in VS5.
    Advanced Microsoft Visual Basics (second edition)
    Chapter 7. Page 275.
    In a bas module:
    Code:
    Sub Main()
        On Error GoTo skip
        If 0 = Len(Command) Then Exit Sub
        Dim sRealAppName As String
        sRealAppName = GetSetting(App.EXEName, "Startup", "RealAppName", "")
        If 0 = Len(sRealAppName) Then Exit Sub
        Call Shell(sRealAppName & " " & Command, vbHide)
        Dim nFile As Integer
        nFile = FreeFile
        Open App.EXEName & ".txt" For Append Access Write As nFile
        Print #nFile, "****** Run at " & Format(Date, "Short date") & " " & Format(Time, "Long Time")
        Print #nFile, sRealAppName & " " & Command
        Close nFile
    skip:
    End Sub
    1. Compile OUTARGS.EXE above.
    2. Rename C2.EXE to C3.EXE. Found inside "C:\Program Files (x86)\Microsoft Visual Studio\VB98"
    3. Rename LINK.EXE to L1NK.EXE.
    4. Copy OUTARGS.EXE to the same folder.
    5. Rename OUTARGS.EXE to C2.EXE
    6. Make a copy of C2.EXE and rename it LINK.EXE.
    7. Import two new keys into the registry. The following reg code to a redirect.reg file:
      Code:
      	Windows Registry Editor Version 5.00
      
      	[HKEY_CURRENT_USER\Software\VB and VBA Program Settings\LINK\Startup]
      	"RealAppName"="L1NK"
      
      	[HKEY_CURRENT_USER\Software\VB and VBA Program Settings\C2\Startup]
      	"RealAppName"="C3"

    Use Visual Basic as normal and it will hook the compilation process. The output file is written to C2.txt and LINK.txt.
    It will capture the params that were passed to invoke the compliation, depending on your project's properties.

    A typical command line compilation for C2 looks like this:
    C2 -il C:\Windows\Temp\VB603389 -f Form1 -W 3 -Gy -G5 -Gs4096 -dos -Z1 -FoC:\Temp\Form1.OBJ -QIfdiv -ML -basic
    Undocumented. Used for a C program to name intermediate language files.
    il C:\Windows\Temp\VB603389
    Temp files generated;VB603389GL,VB603389SY,VB603389EX,VB603389IN,VB603389DB

    The input file to be compiled.
    -f Form1
    Warning level 3
    -W 3
    Enable function level linking See command line: CL.EXE /? for Gx options below
    -Gy
    Optimize for pentium
    -G5
    Turn off stack probes. When size stack is required for local variables, the stack proble is activated. Probe checks for enough space required for passed params and local variables is available on the stack before allocating it.
    -Gs4096
    Use for a C program.
    -dos
    Remove default library name from OBJ file
    -Z1
    Name of output file
    -FoC:\Temp\Form1.OBJ
    Perform pentium FDIV erratum fix
    -QIfdiv
    Create a single-threaded executable file. Places the library name LIBC.LIB in the object file so that the linker will use LIBC.LIB to resolve external symbols.
    -ML
    Undocumented a new flag for Visual Basic compilation
    -basic
    Command line compilation switches for LINk look like this:
    Form OBJ file
    C:\Temp\Form1.OBJ
    Module OBJ file
    C:\Temp\Module1.OBJ
    Project OBJ file
    C:\Temp\Project1.OBJ
    Library of Visual Basic OBJs.
    C:\Program Files (x86)\Microsoft Visual Studio\VB98\VBAEXE6.LIB
    Sets the starting address for an executable file or DLL. This entry point is in your Project1.OBJ file.
    /ENTRY:__vbaS
    The output file exe
    /OUT:C:\Temp\Project1.exe
    Sets a base address for the program.
    /BASE:0x400000
    Tells the OS how to run the .EXE (CONSOLE, WINDOWS, NATIVE, POSIX)
    /SUBSYSTEM:WINDOWS,4.0
    Tells the linker to put a version number in the header of the executable file or DLL.
    /VERSION:1.0
    Creates debug info for the exe or DLL, and places it in to the PDB(program database)
    /DEBUG
    Generates debugging info in one of 3 ways. (Microsoft format, COFF, both) COFF (common object file format)
    /DEBUGTYPE:{CV|COFF|BOTH}
    Specifies whether incremental linking is required.
    /INCREMENTAL:NO
    Excludes unreferenced packaged functions(using-Gy) from the exe.
    /OPT:REF
    Combines the first section with the second section,. If the second section does not exist, LINK renames the section "from" as "to". The /MERGE option is most useful for creating VxD's and overriding compiler generated section names.
    /MERGE:from=to
    Ignores certain warnings (defined in LINK.ERR). 4078 means that LINK found two or more sections that have the same name but different attributes.
    /IGNORE:4078
    For VB6, there are some really good tools from Codejock, including an IDE starter sample.
    The sample has a form and custom controls needed, but without any code inside to load/run the IDE.

  3. #3

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    The project is moving along nicely. The VB6 version of the backporter is mostly complete.
    Although, the VB.NET version did not get a form designer or any advanced code editing features, because the VB6 version has been a primary focus now with the latest developments.

    I am implementing an embedded VBA solution into my VB6 application. This application customizes the VBE/VBA IDE to look nearly identical to the VB6 IDE.
    It extends the VBE with the missing VB6 project file support and full compile features.
    The application has full access to the VBE object model and events, including hidden and undocumented events.

    It actually appears that inside the VBE/VBA IDE, there are disabled objects that were originally intended for Visual Basic 6 use.
    This is quite intriguing, since one may be able to unlock some real features of VB6.5, ie the missing next version of VB that Microsoft never fully integrated with .vbp project file support.


    Video preview: vb6x early beta
    Last edited by Shaggy Hiker; Nov 26th, 2018 at 11:23 AM. Reason: Link removed.

  4. #4
    gibra
    Guest

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    I think this discussion should be moved in
    CodeBank - Visual Basic 6 and earlier
    because it does not seem a request for help

  5. #5

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Quote Originally Posted by gibra View Post
    I think this discussion should be moved in
    CodeBank - Visual Basic 6 and earlier
    because it does not seem a request for help
    Thanks for the concern, however this is a forum for discussion of topics as well. I know where to post a thread of discussion, after all the years as a member here.
    However, a project like this can always use some help or insights etc. There isn't any reason to move this discussion, but the project will be mirrored at the codebank once its completed.

  6. #6
    Hyperactive Member
    Join Date
    Jun 2016
    Location
    España
    Posts
    506

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    very good project will be pending of its evolution.
    to help you if you share some part of the code, maybe a little more expert people could help you improve or contribute things.
    since nobody contributes any indication of another new ide as help you to you in your work.
    a greeting

    sorry for my language

  7. #7
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    38,989

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    It's not a question, at this point, but it's not a code snippet, either, so it doesn't belong in the CodeBank, yet. However, I had to remove the links, because that's essentially advertising, even though it's not for profit at this time. That's a line that we don't want to get close to.
    My usual boring signature: Nothing

  8. #8

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Project update

    The first BETA version is now available on my web page and on Github VBForumsCommunity.
    An open source article is coming soon for those of you that wish to compile your own variant.
    Name:  fullscreen.jpg
Views: 2467
Size:  12.5 KB

  9. #9
    Fanatic Member
    Join Date
    Jan 2015
    Posts
    596

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Well.
    I tested it (in a virtual machine).
    I had to reinstall Sharepoint designer.

    IDE that mimic VB6 IDE, but can't open an existing project, can't add custom controls, so, not so usefull for the moment.

    Otherwise IDE seems working

  10. #10

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Quote Originally Posted by Thierry69 View Post
    Well.
    I tested it (in a virtual machine).
    I had to reinstall Sharepoint designer.

    IDE that mimic VB6 IDE, but can't open an existing project, can't add custom controls, so, not so usefull for the moment.

    Otherwise IDE seems working
    Did you mean that you can't open an existing form inside the project?

    It should be able to open a project that was saved with the IDE. Of course as noted, it uses MS forms designer, not the older VB6 form designer.
    A fully compatible VB6 form designer is under development in the next couple months as mentioned on the web page. However, the prototype is working nicely at a raw level.

    Custom controls are also mentioned on the page as a missing VB6 file format. Not sure that makes the IDE completely un-useful at the moment, but then it isn't a release version either.

  11. #11
    Fanatic Member
    Join Date
    Jan 2015
    Posts
    596

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Yes, a full VB6 classical project.
    not a MS Forms Designer

  12. #12
    Lively Member
    Join Date
    Nov 2017
    Posts
    67

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    I've been waiting for this for 20 years, a modern IDE for VB6 because I always come back to this language as a magnet, despite my tests in VB #, C #, C ++
    I adapted my IDE VB6:
    modification "UNDO / REDO" increased from 20 lines to 127.
    Change colors IDE editor.
    Addin MZ Tools.
    Addin CodeSMART.
    I tested your VB6.5 in W7 and my first surprise is the perfect function of my touchpad because only CodeSmart 2013 could handle it (No possible with MouseWheelFix and other)
    Your work is really very useful and I'm looking forward to read your article :
    "An open source article is coming soon for those of you that wish to compile your own variant".
    Because I would like to translate in my French language and adapt to my own needs.
    Thank you for starting this new year as well, I wish you a happy new year too.
    Regards

  13. #13
    Lively Member
    Join Date
    Nov 2017
    Posts
    67

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    I've been waiting for this for 20 years, a modern IDE for VB6 because I always come back to this language as a magnet, despite my tests in VB #, C #, C ++
    I adapted my IDE VB6:
    modification "UNDO / REDO" increased from 20 lines to 127.
    Change colors IDE editor.
    Addin MZ Tools.
    Addin CodeSMART.
    I tested your VB6.5 in W7 and my first surprise is the perfect function of my touchpad because only CodeSmart 2013 could handle it (No possible with MouseWheelFix and other)
    Your work is really very useful and I'm looking forward to read your article :
    "An open source article is coming soon for those of you that wish to compile your own variant".
    Because I would like to translate in my French language and adapt to my own needs.
    Thank you for starting this new year as well, I wish you a happy new year too.
    Regards

  14. #14

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Thank you both for the feedback.

    So, I did not realize the touchpad would be an advantage. Thank you, I will make note of that ability on the web page.
    This is likely due to the upgrades that Visual Basic received over 9 years, from 1998 to 2007. The IDE does behave a little differently, yet better for most things I can see so far.

    @Thiery69, I could not reproduce the problem with Sharepoint on two virgin machines. However, I did NOT use a Virtual machine at all. Perhaps, this is an issue related to Office and/or OS?

    The only registry setting being used/modified by the IDE is where the SDK allows us to here:
    Code:
    [HKEY_CURRENT_USER\Software\Microsoft\VBA\6.0\vb6x]' The registry key where IDE customizations will be stored

  15. #15
    Lively Member
    Join Date
    Nov 2017
    Posts
    67

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    @TTn

    Hello,

    I installed your latest version Visual Basic 6.5 IDE (Latest version updates 6/23/19) and I started to successfully test the * .vbp files runs correctly, you said "The number of undos can be increased", but I have not found how, can you tell me the procedure.
    thank you for your work

    Alain

  16. #16

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Quote Originally Posted by camomille View Post
    @TTn

    Hello,

    I installed your latest version Visual Basic 6.5 IDE (Latest version updates 6/23/19) and I started to successfully test the * .vbp files runs correctly, you said "The number of undos can be increased", but I have not found how, can you tell me the procedure.
    thank you for your work

    Alain
    Ah yes, that feature appears to be non-functional. Thank you for the feedback. Sorry about my failure to deliver.
    The procedure is supposed to work in the same way that you can extend excel's (other office) undos to 100, by using our VBA key, located under Computer\HKEY_USER\Software\Microsoft\VBA\6.0\vb6x".

    The feature has been removed from the web site.

  17. #17
    Hyperactive Member
    Join Date
    Aug 2011
    Location
    Palm Coast, FL
    Posts
    416

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    I managed to get this installed and running. It's still very early and a little buggy but may be promising down the road.

    I don't see the advantages of using this over VB6 at present but will keep on eye on the progress of the project.

    Thanks for your contributions to the VB6 community!

  18. #18

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Quote Originally Posted by AAraya View Post
    I managed to get this installed and running. It's still very early and a little buggy but may be promising down the road.

    I don't see the advantages of using this over VB6 at present but will keep on eye on the progress of the project.

    Thanks for your contributions to the VB6 community!
    Thank you for testing it! I appreciate information about any bugs. I'd like to squash those early.

  19. #19
    Hyperactive Member
    Join Date
    Aug 2011
    Location
    Palm Coast, FL
    Posts
    416

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Well, sadly I'm busy with beta testing of my own software at present so can't really devote much time to helping with yours. Here are some of the issues I had:

    1. Your EXE must be Run As Administrator or I get an error. I wasted a bit of time trying to chase this down. Some clearer documentation upfront about this would be helpful.
    2. No matter where I choose to save the project, the program saves it to a Projects subfolder in the VB65 folder.
    3. Several times the compiler never completes compilation. This seemed to happen only when I added third-party controls to the project?
    4. Add VBCCR16 TextBoxW to the controls, add one to a userform, try to set the textbox.text value in form_initialize causes a "object does not support this property" type of error when run.
    5. The preceding error I just mentioned was not handled gracefully when compiling to EXE or when running with full compile
    6. Add-in manager listed none of the available add-ins on my system

    These are just off the top-of-my-head as I stopped playing with this after running into too many small annoyances like this. It just left me with an "unfinished, unstable" program feeling so I was not comfortable using it for any serious development work. Sorry! I do see some potential promise when this gets cleaned up and polished up more. And I'm very impressed by your achievement!

    I have a question for you. I notice that you use VBA UserForms rather than VB6 forms? Why is that? Existing VB6 projects of mine which pass references to forms would not compile. What is the advantage of a UserForm over a VB6 Form? Forgive my ignorance - I'm not a VBA guy.

  20. #20
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Hardly matters.

    I don't remember anything permitting the old VBA SDKs to be used this way. It was a tool for adding macro scripting to your own applications that "add significant functionality" and not a way of creating a tool for writing programs.

    If it ever saw the light of day it would be squashed like a bug in no time.

  21. #21

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    We are still in BETA, so yeah.
    1. Yes, that requirement actually is mentioned when you download from the website. Not sure if Github has it though, so I will make sure the requirement is better known.
    2. That is a feature, not a bug, lol. VB6 saves projects and modules to its own folder by default. I added a sub folder "Projects" to organize this better, with randomized project folders inside. This formatting keeps the code cleaner and more reliable than VB6's default, which can accidentally save over Project1, and leave various modules laying around. The "save project as" feature should work to change path?
    3. Oh, I have seen a few errors with third party controls that apparently don't work well in this environment. There must be other reasons for the error, because internally the IDE is fully compatible out of the box. I don't have any code in there to be buggy.
    4. We will have to sort this out with the developer/updater of the controls.
    5. Refer to 4 I guess, there may be something I can do on my end to help exit smoothly.
    6. The addin manager lists only VBA addins. I assume you don't have many available VBA addins?

    Ah, the UserForms are not really an advantage over the VB6 forms. VBA doesnt have VB6 forms, at least not by default. The intent is that we will be adding .NET forms and controls later this year, I hope. I may be able to get the older forms package to work too, in that update.

  22. #22

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Quote Originally Posted by dilettante View Post
    Hardly matters.

    I don't remember anything permitting the old VBA SDKs to be used this way. It was a tool for adding macro scripting to your own applications that "add significant functionality" and not a way of creating a tool for writing programs.

    If it ever saw the light of day it would be squashed like a bug in no time.
    Actually, it was. As I said, they advertised inside VB.NET 2003 (standard) w/power pack and step by step book. It was in the middle of the resource guide, I forget what issue. It had the exact purpose of integrating with VB6 with a look-alike IDE.

  23. #23
    PowerPoster
    Join Date
    Sep 2012
    Posts
    2,083

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Hi TTn, can your tool convert the following C# projects into VB6 projects?

    Writing Your Own RTF Converter

  24. #24
    PowerPoster
    Join Date
    Sep 2012
    Posts
    2,083

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Hi TTn, can your tool convert the following C# projects into VB6 projects?

    Writing Your Own RTF Converter

  25. #25

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Quote Originally Posted by dreammanor View Post
    Hi TTn, can your tool convert the following C# projects into VB6 projects?

    Writing Your Own RTF Converter
    That is interesting. I did not have that in mind, but it maybe possible considering VB.NET and C# are so convertible.

    Although, full migrations should be done only through/with VB.NET. I realized that many of the control properties do not have a direct clean conversion between VB6 and C#.
    Right now, the VS Shell is being developed that will enable compiler support for both native and IL/CLR. This is the proper tool to use that will directly offer exactly what we want. A custom IDE that is built to host any language and is supportive of compiling in unmanaged C++, as well as IL assembly.

    A clear development path has been established and proofed. The documentation on the VS 2008 SDK is daunting, but very powerful already.

  26. #26
    Lively Member
    Join Date
    Nov 2017
    Posts
    67

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Hello,

    the new vb65 062319 has a problem under windows 7, it can not open any more files, neither at startup, nor in File / new project or existing project
    No way to open a file.
    The old vb65 123118 works well with windows 7 and 10

    Regards

  27. #27

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Quote Originally Posted by camomille View Post
    Hello,

    the new vb65 062319 has a problem under windows 7, it can not open any more files, neither at startup, nor in File / new project or existing project
    No way to open a file.
    The old vb65 123118 works well with windows 7 and 10

    Regards
    Confirmed. This is a new problem that did not occur when the version was first released. Oddly, the current version I am working on doesn't have this problem, even though there isn't anything different in that code. The github upload has the same problem. I must assume that this problem is related to the error 5 issue and related patches/updates. Hang in there, I will have another BETA release ready in a couple months.

  28. #28

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Try the newest intermediate version. It works here today. VB65190824.zip on github and the website.
    https://github.com/VBForumsCommunity...VB65190824.zip

  29. #29

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Apply compatibility settings for Windows XP (Service pack 2). That seems to fix the issue for the affected versions. That should solve it from recurring. Tell me if that works please. I got the 6/23/19 version working by doing that.

  30. #30
    Lively Member
    Join Date
    Nov 2017
    Posts
    67

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    Version 230619 :
    with or without XP SP2 compatibility does not work correctly

    Version 240819 :
    with or without XP SP2 compatibility, it works correctly.
    Thank-you for your prompt response.
    Good luck
    Last edited by camomille; Aug 25th, 2019 at 02:00 AM.

  31. #31

    Thread Starter
    Fanatic Member TTn's Avatar
    Join Date
    Jul 2004
    Posts
    685

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    This problem is also confirmed on Windows 10 1903 64 bit, directly related to "Error 5". Download and install the new fix here in the catalog.
    http://www.catalog.update.microsoft....px?q=KB4512941

  32. #32
    Addicted Member
    Join Date
    Feb 2022
    Posts
    167

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    What is the status of this project? Seems a great starting point for a C# converter.

  33. #33
    The Idiot
    Join Date
    Dec 2014
    Posts
    2,721

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    TTn has not been here for 1½ year. maybe he got tired of it or moved to a new forum, who knows?

  34. #34
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,746

    Re: New VB6 IDE prototype with Backporter for use with the upcoming VB6Namespaces rel

    It would be nice if the engineering code of VB6 and VB. Net could be converted to each other.

Posting Permissions

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



Click Here to Expand Forum to Full Width