Page 4 of 5 FirstFirst 12345 LastLast
Results 121 to 160 of 194

Thread: [RESOLVED] Modernizing the VB6 IDE

  1. #121
    PowerPoster
    Join Date
    Sep 2012
    Posts
    2,083

    Re: Modernizing the VB6 IDE

    Deleted ...

  2. #122
    Lively Member
    Join Date
    Nov 2017
    Posts
    67

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by xiaoyao View Post
    vfb like vc++,not vb6。It's totally different.
    You want to replace the IDe icon in VB6, which is simply to make the development tool cooler. If you really want to, the easiest way is to write a vb6 add-in。
    You can write a brand new interface, just keep the code editor, and drag and drop control function of the form. Or use vfb to develop a code conversion tool, turn vb6 code into code, support 64-bit compilation, perfect multi-threading, etc., massive vc header files, code can be used (need to be converted into fb code ().
    So, I must be a magician because I know nothing about C ++ and I transcribed for fun 1000 lines of VB6 code in VFB5 and I had to correct a maximum of 50 lines without problem for it to work identically.

    This program of 2000 lines in total includes 6 Listview, 4 Tab, 2 picturebox, 19 textbox, 19 labels, 2 frames, 9 commandbutton, 1 imagelist and uses Sqlite3, GDI, GDI +.

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

    Re: Modernizing the VB6 IDE

    VB6 is still very powerful now, that is, the interface is ugly, the development speed needs to be improved, and the function needs to be enhanced.

    After a long time, you will feel that VB6 is as powerful as VC:

    1, the original VB6 API, to reference, unlike VC directly write API function, in fact, VB6 can also be achieved, I put all the API reference on the three modules, no longer need to post the API header file (this is really annoying)


    2. VB6 can not write server programs, can not write stable multi-threaded programs, in fact, VB6 can write, you boldly write, using activeX.exe can write stable multi-threaded.

    3. The multithreaded program of unit thread written in VB6 cannot be synchronized. You are wrong again. Not only the synchronization function is no problem, WaitForSingleObject and EnterCriticalSection are also no problem.


    4. Multithreading uses set o = CreateObject ( "vb.MultiThread"), and then

    O.ExecFunc (), this call is too time-consuming, very slow, this you are wrong,

    In fact, you can call it by pointer, which is 100 times more efficient.

  4. #124
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,746

    Re: Modernizing the VB6 IDE

    about:The 1001 questions about vbRichClient5 (2020-04-28)
    How perfect it would be if you could add 1000 features to vb6 ide. Developing vbRichClient5.dll is just a feature pack, which is equivalent to the functional extension of msvbvm60.dll. I think some features can also be developed directly in vc++. In addition, to do a standard dll, after all, the performance loss of com dll mode call is very serious. It would be a pleasure if anyone could continuously expand the development tool IDE for decades. Unfortunately, some of the vb6 add-in, features I have seen so far are very few, but limited to code formatting and so on, it can be said that it can be said that it can not be used at all. A good product, like an Apple phone, makes you love it. You want to buy a new one every two years, instead of thinking it's okay. I'm going to use it for five years and eight years. This shows that the new product is completely nothing new and there is no need to replace it at all. Vfb (visual freebasic), used to be equivalent to writing an extended add-in to vb6 for 4 years, and in the fifth year it was completely developed independently, replacing the original firefly fbiditor. If any person or company can develop a brand new vb6 ide or plug-in add-in, for more than five years, upgrade once a week (no more than a month at most). That will be the gospel of vb6, allowing vb6 to live another 20-50 years. Open source is the best.

    Please ignore the following Chinese:
    如果可以给vb6 ide增加1000个功能,那是多么完美的事情。
    开发vbRichClient5.dll只是一个功能包,相当于msvbvm60.dll的功能扩展,我觉得有些功能也可以直接用vc++进行开发,另外做一个标准dll,毕竟com dll方式调用性能损失非常严重。如果有谁能够对开发工具IDE进行几年几十年的持续增强扩展,那将是一件很幸福的事情。
    可惜目前我看过的一些vb6 add-in,功能很少,只是局限于代码格式化等等,可以说完全可以不用他。一个好的产品就像苹果手机一样,让你爱不释手,每隔两年想买一个新的,而不是觉得这个还好,我准备用它5年8年。这说明新产品完全没有新意,根本 没有替换的必要。
    vfb(visual freebasic),以前相当于给vb6写扩展add-in 4年,第五年完全独立开发,替换原来的萤火虫fbiditor。
    如果哪个个人或者公司可以开发一个全新的vb6 ide或者插件add-in,持续开发5年以上,每个星期升级一次(最多不能超过一个月)。
    那将会是vb6的福音,让vb6再活20-50年。
    开源最好。
    Last edited by xiaoyao; May 1st, 2020 at 07:12 PM.

  5. #125
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,746

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by camomille View Post
    download qq app online:
    https://im.qq.com/
    or from app store.
    development group:

    QQ group ID: 78458582

    For my part, I subscribed to the QQ code which only allows me to download the program with each new version
    but that did not allow me to join the group with the link communicated by xiaoyao.

    https://jq.qq.com/?_wv=1027&k=5h3Lt1N

    Only xiaoyao can help understand how to join the group and see their need for development.
    I hope someone join our qq group(Chat groups, clubs.)
    In China, we can't access Twitter, many foreign websites and apps are banned, and we are not allowed to use foreign IP,we must use vpn,And need to spend money to buy IP traffic.

    Hope there are more vb masters to join our QQ group, not just Chinese people chatting inside. Think about it. If there is a foreigner expressing opinions, we will cheer every day. For example, there is a Frenchman. Which other country are you from? I do n’t know.

    Waiting for the first non-Chinese to join. Guess who that could be?
    Last edited by xiaoyao; May 1st, 2020 at 07:28 PM.

  6. #126
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,746

    Re: Modernizing the VB6 IDE

    about add-in tips:If you found this Add-in useful please consider donating. I'm a student doing this as a hobby, so any amount is greatly appreciated and helps immensely!

    The main problem of vb6 is that most of the old programmers have switched to develop VC ++, java, c # and other software. Newcomers rarely learn VB6, ranking 20th, but Python and JS rank first

  7. #127

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by camomille View Post
    Thank you for this. After tweaking and playing with it for a little bit I've successfully removed the limitation of how many undo and redo operations you're allowed to have in the IDE. It's not limited to 127 or any number whatsoever now. I tested filling the IDE progressively up to 50k lines in a single code module and was able to undo and redo it all without issues, so it appears to be stable.

    Very simple patch, I'll include in the next release of ModernVB which should come very soon. I was mainly working on making the add-in support other languages as well as replacing the project explorer icons, and that's done now, so now I just have to make the patches for the different languages of VB6 and we should have a new release on our hands!

  8. #128
    Lively Member
    Join Date
    Nov 2017
    Posts
    67

    Re: Modernizing the VB6 IDE

    I had tested at the time and I remember that from & H80, there were problems and that & H7F was almost infinite.
    This kind of detail is insignificant for many people but for me it is vital because in the debugging phase, I can easily make mistakes and at some point, be lost in my code, CTRL Z allows me to go back in time ( it's my Delorean).
    Thank you again for this work provided and I apologize for having polluted your thread a little but it was in the interest of reworking all the problems around VB6 IDE.

    Here is my second very useful option to erase 1000 lines at once (MZTool 8)

    Name:  Gomme2.jpg
Views: 1393
Size:  82.2 KB

    In VFB5 there are more possibilities: Erase, Save, notepad, copy, paste,etc

    and the only mouseWheel that works without MZTool 8 :

    http://www.devx.com/vb2themax/CodeDownload/19811

    You wrote :

    The only thing you'd be missing then is the assembly patch for VB6.exe to load the new 24-bit images, otherwise it will load them in reduced 4-bit color. This step is a fair bit more complex however and requires a good knowlege of computer internals to perform. To perform this patch you must open VB6.EXE (post resource patching) into a disassembler like OllyDbg, IDA Pro or x64dbg and locate the calls to LoadImageW that load the bitmap resources 6000, 6700 and 6701, which all need to be patched. I recommend using API Monitor intercepting that specific API until you see it load the relevant resources. You can then obtain the correct offsets for the calls from API Monitor. After you have the offsets, you have to edit the VB6.exe executable with your disassembler of choice and replace the fuLoad parameter in those calls, to ensure it pushes LR_CREATEDIBSECTION onto the stack. Depending on your executable's binary code this may involve some very basic assembly control flow rerouting to fit.


    I am probably not very good, my despite my tests, I did not find "LoadImageW", I found "LoadImageA" and "LoadIconW", I would like to understand the procedure that you used
    who can serve me, if you have a little time can you give me a little tutorial with pictures if possible.
    Last edited by camomille; May 2nd, 2020 at 02:32 AM.

  9. #129

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    Modern VB v1.7 has been released!

    Here's a brief changelog:

    - Included detailed instructions on the root of the release explaining all the procedures necessary to correctly setup ModernVB
    - Menu icons have been updated with a few new icons and tweaks
    - Project Explorer icons are now replaced by modern icons automatically (thanks to Olaf Schmidt for the concept)
    - Initial support for international languages on the add-in side (requires using the optimal settings registry file)
    - Patches now include English, French, Spanish and Chinese language support as well as unlimited undo/redo functionality
    - Minor tweaks and fixes (Gauge bar docking to Menu should work correctly now)

    If you're one of the people who haven't been able to use ModernVB because your Visual Basic is not in English, give this release a shot!

    Download from Github

  10. #130
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by xiaoyao View Post
    How perfect it would be if you could add 1000 features to vb6 ide.
    1000 features more in the IDE?

    I feel not the slightest bit hindered in my developing-speed -
    (using only a plain VB6-IDE with no addins here).

    The most important RAD-feature of the VB6-IDE is its outstanding debugger, period.
    (a thing which VisualFB doesn't have).

    Quote Originally Posted by xiaoyao View Post
    developing vbRichClient5.dll is just a feature pack,...
    Any library is just a "feature-pack" - just "grouped functions" which are either:
    - behind "Module-NameSpaces"
    - or behind "Class-Names"

    Quote Originally Posted by xiaoyao View Post
    I think some features can also be developed directly in vc++.
    There is no real need to do so, when a language has a native compiler already built-in.
    There's many examples, where VB6-native compiled code outperforms "original MS-VC++ implemenations".

    Quote Originally Posted by xiaoyao View Post
    In addition, to do a standard dll, after all, the performance loss of com dll mode call is very serious.
    That's not a problem in practice...

    Also in C++, a Class-Method-invocation has a certain call-overhead...
    (due to VTable-indirection and the usually built-in "enhanced Error-Transport-Mechanisms").

    In VB6 the overhead for Class-Method-calls is only about 2-10 times as high as that of a function-call in a *.bas.
    (when working early-bound, and doing only a "naked call", which does not do much within the function).

    See, what you forget in your synthetic comparisons, is that:
    - function-bodies are usually filled with "real-world-code"
    - which often has an execution-time that is much higher than the call-overhead itself

    E.g. this simple real-world math-helper here (ATan2 -> https://en.wikipedia.org/wiki/Atan2)
    already "levels the ground" with regards to call-overhead-differences:

    Code:
    Public Function ATan2(ByVal y As Double, ByVal x As Double) As Double
      Const PI As Double = 3.14159265358979
      
      If x > 0 Then
        ATan2 = Atn(y / x)
      ElseIf x < 0 Then
        If y >= 0 Then
          ATan2 = Atn(y / x) + PI
        Else
          ATan2 = Atn(y / x) - PI
        End If
      ElseIf y > 0 Then
        ATan2 = 0.5 * PI
      ElseIf y < 0 Then
        ATan2 = -0.5 * PI
      End If
    End Function
    And that's just math-ops - as soon as you use:
    - Strings and String-functions
    - or perform DB-interaction
    - or mem-allocations
    - instantiate and access Objects
    - or more complex actions "in a loop"
    The call-overhead-differences become more and more negligible.


    And as for VisualFB (and the suggestion, to "join efforts, to develop it further")...

    Not going to happen (at least from my end), for several reasons:
    - FB doesn't have a decent Class-concept
    - FB doesn't have a decent Event-concept
    - FB doesn't have a standardized, commonly accepted Graphics- and GUI-toolkit

    And finally, a FB-IDE which ignores the already given platform-independence of the compiler -
    and produces GUI-Apps that are "Windows-only", is already "dead in the water" concept-wise IMO.

    Olaf

  11. #131
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,746

    Re: Modernizing the VB6 IDE

    Михаил Тимофеевич Калашников

    I view the film about "ak 47"The invention of the assault rifle, it's amazing.
    Vb6 is as classic as the AK47.

  12. #132
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,746

    Re: Modernizing the VB6 IDE

    Vfb can be used as a supplement to VB6, support for 64-bit program development, support for some of the features of VC.If you want to replace VB6, it is estimated that it will not be possible in five years.Development of a person is too difficult, VB6 design team estimates hundreds of engineers it.

  13. #133
    Member
    Join Date
    Jul 2015
    Posts
    57

    Re: Modernizing the VB6 IDE

    I tried reinstalling SP6 and rerunning Delta Patch but it's still producing the same checksum error:

    Visual Basic 6.0 SE SP6 - Modern UI Mod by VykosX
    For the English SP6 VB6.EXE
    MD5: 3F36E40B7A9FB6FB87E93241D258B35C

    Extract from the file 'VS6sp6B2.cab' in this setup:
    https://www.microsoft.com/en-us/down...s.aspx?id=5721

    [12:45:52 PM] Applying patch, please wait... (don't panic!)
    [12:45:52 PM] An error has occurred: xdelta3: target window checksum mismatch: XD3_INVALID_INPUT

  14. #134
    Member
    Join Date
    Jul 2015
    Posts
    57

    Re: Modernizing the VB6 IDE

    I assume there's a way to undock windows, but I haven't been able to figure it out. I work on 2 screens and like to have my form on one screen and the code on the other. Can I undock my form?

  15. #135
    Member
    Join Date
    Jul 2015
    Posts
    57

    Re: Modernizing the VB6 IDE

    Actually, none of the buttons on the toolbar are functioning so I can't work. I think I have to revert back to regular VB6.

  16. #136

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by schnel View Post
    I tried reinstalling SP6 and rerunning Delta Patch but it's still producing the same checksum error:

    Visual Basic 6.0 SE SP6 - Modern UI Mod by VykosX
    For the English SP6 VB6.EXE
    MD5: 3F36E40B7A9FB6FB87E93241D258B35C

    Extract from the file 'VS6sp6B2.cab' in this setup:
    https://www.microsoft.com/en-us/down...s.aspx?id=5721

    [12:45:52 PM] Applying patch, please wait... (don't panic!)
    [12:45:52 PM] An error has occurred: xdelta3: target window checksum mismatch: XD3_INVALID_INPUT
    Use the actual extracted binaries from the .cab for patching. I can confirm they work correctly. Make sure you're using the latest release.
    Last edited by LinkFX; May 2nd, 2020 at 07:21 PM.

  17. #137

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by schnel View Post
    Actually, none of the buttons on the toolbar are functioning so I can't work. I think I have to revert back to regular VB6.
    What language are you running. I'll need more information. Everything works fine here.

  18. #138

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by schnel View Post
    I assume there's a way to undock windows, but I haven't been able to figure it out. I work on 2 screens and like to have my form on one screen and the code on the other. Can I undock my form?
    Switch the IDE to MDI mode. For the panels you can just drag and drop. The IDE works well in a single screen at 1080p though. I use 4 screens on my workstation but never saw the need to have VB itself stretched across multiple screens. I'd much rather have references or other projects open in the other screens. Having tabs is just far too convenient.
    Last edited by LinkFX; May 2nd, 2020 at 07:28 PM.

  19. #139
    Hyperactive Member
    Join Date
    Jan 2015
    Posts
    323

    Re: Modernizing the VB6 IDE

    only a suggestion.
    it is not easy for us to make our patches ourself(there are so many and many versions of IDEs)
    so maybe we can take it another way.
    1.for icons cursors and other resource file replacement, we can write an exe to do that, you need only upload your original file for uploading
    2.for hex fix, we can make a hex patch by using signature seach and patch by offset, that will be much more easier for people to do it
    on your vb6.exe
    0x11AAEEFF: EA EB
    0x22AAEEFF: EA EB
    3.for addin.dll, that will be easy for anyone to use it

  20. #140

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    There are many versions available yes. But no reason whatsoever to use anything but the SP6 redistributable binaries. So this point is moot.

    VB6 hasn't been updated in over 15 years. Use the SP6 binaries, that's the final version.

  21. #141
    Hyperactive Member
    Join Date
    Jan 2015
    Posts
    323

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by LinkFX View Post
    There are many versions available yes. But no reason whatsoever to use anything but the SP6 redistributable binaries. So this point is moot.

    VB6 hasn't been updated in over 15 years. Use the SP6 binaries, that's the final version.
    i have no problem with question 1 and question 3, but not question 2
    for this Note:
    Note: Only the English release has all the improved dialogs, since manually recreating all of them for each language would be unfeasible. If you care about those, I recommend using the English version.
    is this feature only related the VB6.exe change?
    cound you help provide a version of vb6.exe that only contains this change, vb6-orginal.exe as well as vb6-withImproveDialogs.exe, any version will be ok.

  22. #142
    Lively Member
    Join Date
    Nov 2017
    Posts
    67

    Re: Modernizing the VB6 IDE

    Here is how I did it in detail:
    I)
    1) DbClick on Backup current VB6 setting.cmd for save old vb6-BackupSettings.reg and VBA-BackupSettins.reg
    2) Dbclick on ModernVB 1.7 - Updated Icons & Optimized Layout for the Addin.reg
    II)
    1) DbClick on Add Register & Unregister DLL Context Menu Entries.reg
    2) click right on ModernVB v1.7.dll and click on register
    III)
    1) Download my SP6 in French on : https://www.microsoft.com/fr-FR/down...s.aspx?id=9183
    2) Deziped Vs6Sp6.exe in empty Folder on desk.
    3) Delete all files except VS6sp61.cab
    4) Deziped VS6sp61.cab beside
    5) Delete all files except VB98 folder
    6) Open VB98 and delete all except vb6.exe,vb6ide.dll,vba6.dll
    -------- Faster by selecting files.-------------
    7) Make a copy of the 3 files in the folder "Patches" number 3
    8) Open folder International and copy your choice of favorite theme and paste beside DeltaPatcherLite.exe
    9) Open my language file (French) and copy 2 files vb6.exe.xdelta and VBbIDE.dll.xdelta paste beside DeltaPatcherLite.exe
    10) Open DeltaPatcherLite.exe and find "original file" and "Xdelta Patch", apply patch (for VB6.exe ,vbide.dll,vba6.dll)
    11) Open the VB6 installation folder and change the name of vb6.exe, vb6ide.dll, vba6.dll by adding ".old" at the end
    12) copy the 3 files made with DeltaPatcherLite and paste them into the vb6 installation folder.
    IV)
    1) Dbclick on Optimal IDE Settings.reg
    2) Dbclick on Enable Custom Themes.reg

    Everything was OK, I did not encounter any errors

    The first launch blocked the system (exited by ctrl alt supp).
    The second launch was successful but when I launch my program, it goes in the background and forces me to reduce vb6 to see it !!
    On the other hand the icons are all identical and oblige me to pass the mouse over it to know who is who.
    What am I doing wrong?

    Name:  ModVB.jpg
Views: 1269
Size:  32.6 KB
    Last edited by camomille; May 3rd, 2020 at 02:43 AM.

  23. #143

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by loquat View Post
    i have no problem with question 1 and question 3, but not question 2
    for this Note:

    is this feature only related the VB6.exe change?
    cound you help provide a version of vb6.exe that only contains this change, vb6-orginal.exe as well as vb6-withImproveDialogs.exe, any version will be ok.
    The dialog changes are modifications to the numerous windows in VB6 to make them better to use with larger resolution displays. Here's an example. They are not strictly necessary nor do they compromise the rest of the patch contents in any way.

    If that's something you personally care so much for while remaining in the Chinese version, then you're free to download the English SP6, patch VB6IDE.dll with the Enlgish patch and then open that plus your own patched Chinese VB6IDE.dll with Resource Hacker and compare the dialog resources, one by one to see if they were changed and port over the changes you care about.

    It's simply far too much effort to do so for each and every language since that's not a step that can be reasonably automated. No one should be using anything but the English version of VB6 anyway, and this coming from someone who does not speak English natively (I'm from Brazil and everyone just speaks Portuguese here).
    Last edited by LinkFX; May 3rd, 2020 at 03:14 AM.

  24. #144

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by camomille View Post
    Here is how I did it in detail:
    I)
    1) DbClick on Backup current VB6 setting.cmd for save old vb6-BackupSettings.reg and VBA-BackupSettins.reg
    2) Dbclick on ModernVB 1.7 - Updated Icons & Optimized Layout for the Addin.reg
    II)
    1) DbClick on Add Register & Unregister DLL Context Menu Entries.reg
    2) click right on ModernVB v1.7.dll and click on register
    III)
    1) Download my SP6 in French on : https://www.microsoft.com/fr-FR/down...s.aspx?id=9183
    2) Deziped Vs6Sp6.exe in empty Folder on desk.
    3) Delete all files except VS6sp61.cab
    4) Deziped VS6sp61.cab beside
    5) Delete all files except VB98 folder
    6) Open VB98 and delete all except vb6.exe,vb6ide.dll,vba6.dll
    -------- Faster by selecting files.-------------
    7) Make a copy of the 3 files in the folder "Patches" number 3
    8) Open folder International and copy your choice of favorite theme and paste beside DeltaPatcherLite.exe
    9) Open my language file (French) and copy 2 files vb6.exe.xdelta and VBbIDE.dll.xdelta paste beside DeltaPatcherLite.exe
    10) Open DeltaPatcherLite.exe and find "original file" and "Xdelta Patch", apply patch (for VB6.exe ,vbide.dll,vba6.dll)
    11) Open the VB6 installation folder and change the name of vb6.exe, vb6ide.dll, vba6.dll by adding ".old" at the end
    12) copy the 3 files made with DeltaPatcherLite and paste them into the vb6 installation folder.
    IV)
    1) Dbclick on Optimal IDE Settings.reg
    2) Dbclick on Enable Custom Themes.reg

    Everything was OK, I did not encounter any errors

    Name:  ModVB.jpg
Views: 1269
Size:  32.6 KB
    There are very thorough instructions included with the 1.7 release (because apparently the process somehow wasn't as obvious to people as I assumed) that go into far more detail than these steps. Just follow those. That said, you do have the gist of it.
    Last edited by LinkFX; May 3rd, 2020 at 03:06 AM.

  25. #145

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by camomille View Post
    Here is how I did it in detail:
    The second launch was successful but when I launch my program, it goes in the background and forces me to reduce vb6 to see it !!
    Name:  ModVB.jpg
Views: 1269
Size:  32.6 KB
    This is always going to happen as a side-effect from the Code Layout feature ensuring the Locals, Watches and Immediate windows are displayed after the project launches. What happens is that changing the visibility of those panels naturally steals focus from your main form's window, causing the IDE to ZOrder to the top.

    There are a few ways around this:

    1. Do not use the Code Layout feature (disable it in the registry)

    2. Set your main form to display always on top programatically if it's running in the IDE (App.LogMode = 0 is an easy way to test for this).

    3. Tell your main form to Zorder to the top on Form_Activate, perhaps after a short delay.

    4. If you have multiple monitors, set your main form to launch on Center Screen and use VB6 in a secondary monitor.

    Quote Originally Posted by camomille View Post
    On the other hand the icons are all identical and oblige me to pass the mouse over it to know who is who.
    What am I doing wrong?
    Other than not running the English VB6 in the first place? Hard to tell.

    It's clear something went majorly wrong with loading the icons. They work correctly for me and I've tested all 4 languages I've made patches for. Perhaps your clipboard is locked. The way VB allows for icons to be placed in command bars is very backwards and requires copying the icon into the clipboard and pasting it into the toolbar button, so any issues accessing the clipboard may cause this process to fail.

    Since your particular issue never happened to me, I recommend you download the source code form Github and step through it on your own computer to identify what went wrong. Do let me know if you figure it out, or just give the English version a shot and see if the issue persists. Incidentally, judging from the screenshot, you skipped some steps since you're not using the included font file for one. Your colors are also all sorts of wack but that's probably just a strange choice of Windows theme. If you were running a previous version of ModernVB, make sure you unregistered and deleted that first.
    Last edited by LinkFX; May 3rd, 2020 at 03:16 AM.

  26. #146
    Hyperactive Member
    Join Date
    Jan 2015
    Posts
    323

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by LinkFX View Post
    The dialog changes are modifications to the numerous windows in VB6 to make them better to use with larger resolution displays. Here's an example. They are not strictly necessary nor do they compromise the rest of the patch contents in any way.

    If that's something you personally care so much for while remaining in the Chinese version, then you're free to download the English SP6, patch VB6IDE.dll with the Enlgish patch and then open that plus your own patched Chinese VB6IDE.dll with Resource Hacker and compare the dialog resources, one by one to see if they were changed and port over the changes you care about.

    It's simply far too much effort to do so for each and every language since that's not a step that can be reasonably automated. No one should be using anything but the English version of VB6 anyway, and this coming from someone who does not speak English natively.
    for resource hacker, it is only a problem of time efforts, that is ok for me
    and you said that something was changed by IDA because of LoadImage api?

  27. #147

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by loquat View Post
    for resource hacker, it is only a problem of time efforts, that is ok for me
    and you said that something was changed by IDA because of LoadImage api?
    You don't have to worry about that. I already made patches for the Chinese version for you that include this fix. The only thing the other languages don't include are the dialog changes, everything else is the same.

    If you do take the trouble to port over the dialog changes, by all means feel free to to post your own patch for that file so other Chinese users can benefit. I only ask that you remain consistent with the changes so that there isn't a major discrepancy between languages if you do so.

  28. #148
    Lively Member
    Join Date
    Nov 2017
    Posts
    67

    Re: Modernizing the VB6 IDE

    This is version 1.7 that I have installed,
    but I will reread your instructions, I just have a doubt about the contents of folder 4,
    I don't see what VB6ThemeColorEditor.exe, SOURCECODEPRO-REGULAR.TTF, Colors .txt and "Themes" folder

  29. #149

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by camomille View Post
    This is version 1.7 that I have installed,
    but I will reread your instructions, I just have a doubt about the contents of folder 4,
    I don't see what VB6ThemeColorEditor.exe, SOURCECODEPRO-REGULAR.TTF, Colors .txt and "Themes" folder
    The included font file replaces your IDE's font from Courier to Source Code pro which far more legible. You only need to install it. The rest of the files are used for creating your own custom color scheme if you wish to do so.

    Read the instructions to the very end.

  30. #150
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Location
    Sofia, Bulgaria
    Posts
    5,121

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by LinkFX View Post
    It's clear something went majorly wrong with loading the icons. They work correctly for me and I've tested all 4 languages I've made patches for. Perhaps your clipboard is locked. The way VB allows for icons to be placed in command bars is very backwards and requires copying the icon into the clipboard and pasting it into the toolbar button, so any issues accessing the clipboard may cause this process to fail.
    This would leave the original icons or at least empty ones, not distorted images like on the screenshot.

    cheers,
    </wqw>

  31. #151
    Hyperactive Member
    Join Date
    Jan 2015
    Posts
    323

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by LinkFX View Post
    I already made patches for the Chinese version for you that include this fix. The only thing the other languages don't include are the dialog changes, everything else is the same.
    my problem is i can not patch vb6.exe this time. have tried 3 version, vb6sp6 from msdn, vb6.exe of mini sirk 20190220, and the original vb6.exe from yours.
    [21:45:30] Original file "VB6.original.exe" selected.
    [21:45:32] Applying patch, please wait... (don't panic!)
    [21:45:32] An error has occurred: xdelta3: target window checksum mismatch: XD3_INVALID_INPUT
    they three have the same error when patching.
    for my environment, only vba6.dll patch is good.

  32. #152

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by wqweto View Post
    This would leave the original icons or at least empty ones, not distorted images like on the screenshot.

    cheers,
    </wqw>
    These aren't distorted images. They're all the icon of the very first button (New Project) but repeated across ALL the buttons on the toolbar, and without the mask removed. If I had to guess, the official MSDN Microsoft code for transparent toolbar icons (which I adopted verbatim) is whats failing on his machine somehow. Which is strange since it always worked for me with zero issues.

    What version of Windows are you running camomille?
    Last edited by LinkFX; May 3rd, 2020 at 09:16 AM.

  33. #153

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by loquat View Post
    my problem is i can not patch vb6.exe this time. have tried 3 version, vb6sp6 from msdn, vb6.exe of mini sirk 20190220, and the original vb6.exe from yours.
    [21:45:30] Original file "VB6.original.exe" selected.
    [21:45:32] Applying patch, please wait... (don't panic!)
    [21:45:32] An error has occurred: xdelta3: target window checksum mismatch: XD3_INVALID_INPUT
    they three have the same error when patching.
    for my environment, only vba6.dll patch is good.
    Use the files linked inside the description box of the patch you're trying to apply. They work. I've tested every single one for every language. If your checksum is failing, you're using the wrong files.

    To reiterate yet again.

    First make sure you're using the latest release (at the time of this writing, 1.7) from the Github.

    Second, if you're trying to patch for the Chinese VB6, you don't patch your local files. You patch the binaries inside the file 'VS6sp6B2.cab' from this download link https://www.microsoft.com/zh-cn/down...n.aspx?id=5721 and apply the Chinese patches to VB6.exe and VBIDE.dll and the International patch to VBA6.dll. Then you replace the files in your VB98 folder with these.

    There is a INSTRUCTIONS.TXT file included in the download. 9 out of 10 issues i'm seeing with people could easily be solved by reading it.
    Last edited by LinkFX; May 3rd, 2020 at 09:13 AM.

  34. #154
    Lively Member
    Join Date
    Nov 2017
    Posts
    67

    Re: Modernizing the VB6 IDE

    1) The realization of the 3 patches posed no problem everything was OK
    2) ModernVB is well registered (you can activate it in the add-in manager)
    3) I checked that the registers match your files:
    For Themes:
    [HKEY_CURRENT_USER \ Software \ Microsoft \ VBA \ Microsoft Visual Basic] OK
    [HKEY_CURRENT_USER \ Software \ Microsoft \ Visual Basic \ 6.0] OK
    For Icons:
    [HKEY_CURRENT_USER \ Software \ Microsoft \ Visual Basic \ 6.0]
    "Dock" OK
    "Tool" OK
    "UI" unable to read the 333381 bytes, at & h4000, regedit panics and tends to return to the address 0000 in addition it is impossible to make a pasted copy of the data (regedit does not allow).

    This test was done on a Windows 7 64 bit and a VB6 "Entreprise" French version.
    I will try my English version, but it is on XP that I no longer use.
    I dare not test on my workstation which is on Windows 10.

    I did not find anything abnormal.
    Despite complete uninstall, I still have your icon on the VB6 shortcut?

    After reboot he disappeared

    Here is a close-up of the icons displayed.

    Name:  Detail.jpg
Views: 1228
Size:  31.6 KB
    Last edited by camomille; May 3rd, 2020 at 09:57 AM.

  35. #155

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    I'm also running VB6 on Win7 Sp1 x64 and all works well here although I'm using the English version (I did test the 3 french binaries however, and they also worked perfectly on my machine).

    The icons persisting is just Explorer caching the icons for the session. I'm not sure about your issues with the UI registry key. I'd say just apply the modern icons registry file again.

    As for your issue with the toolbars, I suggest doing what I mentioned earlier and loading the add-in project in the IDE, setting a breakpoint on the connect events and then opening a second instance of VB, and finally stepping through the code to see what's actually going wrong. I've never had your particular issue before so I can't replicate it to debug on my machine. Everything works perfectly on my end.
    Last edited by LinkFX; May 3rd, 2020 at 10:56 AM.

  36. #156
    Hyperactive Member
    Join Date
    Jan 2015
    Posts
    323

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by LinkFX View Post
    Use the files linked inside the description box of the patch you're trying to apply. They work. I've tested every single one for every language. If your checksum is failing, you're using the wrong files.

    To reiterate yet again.

    First make sure you're using the latest release (at the time of this writing, 1.7) from the Github.

    Second, if you're trying to patch for the Chinese VB6, you don't patch your local files. You patch the binaries inside the file 'VS6sp6B2.cab' from this download link https://www.microsoft.com/zh-cn/down...n.aspx?id=5721 and apply the Chinese patches to VB6.exe and VBIDE.dll and the International patch to VBA6.dll. Then you replace the files in your VB98 folder with these.

    There is a INSTRUCTIONS.TXT file included in the download. 9 out of 10 issues i'm seeing with people could easily be solved by reading it.
    i m misunderstanding before, and i have done patched the Chinesees patch into VS6sp6B2.cab(vb6.exe vba6.dll vb6ide.dll) and move them into my original vb6.exe folder
    it shows "a reference was returned from the server.", have tested that, this is only the problem of vb6.exe
    Last edited by loquat; May 3rd, 2020 at 09:51 PM.

  37. #157
    Hyperactive Member
    Join Date
    Jan 2015
    Posts
    323

    Re: Modernizing the VB6 IDE

    for resource replacing, i use resource hacker
    1.open patched PE file
    2.choose a folder(group, task Bitmap for example) at left tree.
    3.Menu-Action-Save [Bitmap] group to a .res file
    4.open original PE file needs patch
    5.choose the same folder(group) as step 2, which is Bitmap folder(group)
    6.use Ctrl+D, to delete all bitmaps in Group
    6.and then add new ones, Menu-Action-Add from a resource file(.res, .dll, .exe)
    replace "Bitmap", "Cursor group", "Icon group" seems good
    if there is only resource replacing work, this will be ok after a little icon or cursor index fixing

    method of cursor index fixing.
    use Restorator, this tool can do batch resource replacing as well, and it is more convenient
    but it can not read icon group 1200, it shows icon group 1200 was damaged, so we use this tool only to check and fix the cursor or icon index
    Restorator has a hex view, we can search the hex string what is shown in Restorator in winhex, and change the index value
    like this one:
    0000020001002000400001000100AC1000000100
    it will be easy to find the index value is the 01 up there in red.

    for code section of PE file, winhex patching method would be not easy.
    but if simple patches that include only code fixing was provided, maybe i can take a shot.
    Last edited by loquat; May 3rd, 2020 at 11:22 PM.

  38. #158

    Thread Starter
    Lively Member
    Join Date
    Aug 2006
    Posts
    87

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by loquat View Post
    i m misunderstanding before, and i have done patched the Chinesees patch into VS6sp6B2.cab(vb6.exe vba6.dll vb6ide.dll) and move them into my original vb6.exe folder
    it shows "a reference was returned from the server.", have tested that, this is only the problem of vb6.exe
    I'm not sure about this error. It only seems to happen in Chinese operating systems. Does it prevent VB6 from launching or break things in any way?

  39. #159
    Lively Member
    Join Date
    Nov 2017
    Posts
    67

    Re: Modernizing the VB6 IDE

    I did a new installation after passing CCleaner several times in the registry.
    Even with the "Source Code Pro" fonts installed, I still have the same phenomenon of duplicating the same icon.
    I forgot to specify that version 1.6 produced the same effect, but also blocked the system, that's why I had not made a screenshot because it was blocked.

    I'm going to take a break and wait for installation feedback.

  40. #160
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: Modernizing the VB6 IDE

    Quote Originally Posted by LinkFX View Post
    Perhaps your clipboard is locked.
    I also think, that this might be the cause for the Icon-problems.

    In the company where I work, we had similar problems (years ago),
    when we still used the ClipBoard, to build-up a "Word-Document-based report"
    (based on "clipboarded RTF-snippets", which the Word-ObjModel offers a method for, to integrate into a document).

    We had to change that, and now use XML-based Word-Document-replacements for formatted insert-snippets.

    So, "highfrequent ClipBoard-Updates" *will* definitely make problems (different ones, depending on the OS).

    What reduced our problems somewhat (before the change to XML-parsing), was:
    - always clearing the ClipBoard explicitely, before placing new content of the same format
    - followed by "waiting for a moment" (with a Sleep + DoEvents-combination... ick ...)
    - followed by placing the new content
    - and the final paste-method-call on the Word-Object-model
    - followed by another wait, to give Word time to process

    After that, it worked a bit more reliably - but occasional "ClipBoard-messup" did still happen
    (affecting the whole machine).

    HTH

    Olaf
    Last edited by Schmidt; May 4th, 2020 at 03:49 AM.

Page 4 of 5 FirstFirst 12345 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
  •  



Click Here to Expand Forum to Full Width