-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
yereverluvinuncleber
SDO, you will have a VB6 IDE (clone & improved) and its components, a forms designer and a code editor, a new scripting language based upon VB6 interpreted to VB6?, is that summary correct?
Your own compiler, interpreter, debugger? When/how's that going to arrive?
Only after I overcome the last hurdle, CodeDebugger, can I clone a VB6-IDE, so now everything is unknown. If a clone of VB6-IDE can be successfully developed, its UI will be completely different from VB6-IDE, which is to avoid Microsoft's lawyer knocking on my door. So my IDE will be configurable and the user can configure it to be exactly like VB6-IDE. :D
Yes, now my scripting language will be compiled by VB6-IDE, but this also means that it can also be compiled with twinBasic or Olaf's compiler.
I won't develop my own compiler, but I'll develop transpilers for my scripting language.
-
1 Attachment(s)
Re: Getting the ball rolling. Which VB6 projects are you working on?
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I modified several controls developed by Olaf and ColinE66 and applied them to my FormDesigner:
(1) My PropertyWindow uses Olaf's Virtual-ComboBox (which uses both The-trick and wqweto's subclasses).
(2) The prototype of my PropertyGrid comes from Olaf's Simple-PropertyGrid
(3) The prototype of my Toolbox comes from ColinE66's ucProjectExplorer
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
fafalone
The pictured demo is now live on the UIRibbonDemos GitHub.
You can browse the source in your browser in the SourceExport folders; the .twin files are the readable code modules.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
SearchingDataOnly
My FormDesigner: :D
Looking fantastic!
Wondering; is this going to be open source? Or is this a commercial project you're working on?
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
fafalone
Looking fantastic!
Wondering; is this going to be open source? Or is this a commercial project you're working on?
My Tool(CodeHelper) is a free software that anyone can use for free.
Actually, I've been thinking about open source, but I hope to open source in another way, i.e., I'll rewrite my tool(CodeHelper) in my scripting language and then open source. The purpose of this is to promote my scripting language, which I hope you all will understand. But all this will have to wait until my scripting language (including IDE) is done.
Note:
95% of the syntax of my scripting language comes from VB6 and 5% from other languages. That said, the difference between my scripting language and VB6 may be less than that between twinBasic and VB6.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
twinBASIC is 100% backwards compatible; it supports all VB6 syntax. It's just not *forward* compatible; it adds stuff on top of that which won't work in VB6. But that's how software goes; forwards... VB6 has lots of stuff you can't use in VB3. The differences I described are all optional things; if you back-ported the ribbon to VB6, then imported it to tB, it would run unchanged. At least in 32bit mode. The tB-native version supports x64. You'd be able to keep the LongPtrs since oleexp defines a public alias for them, but some UDT differences would remain, plus PtrSafe keyword.
Like one I forgot to mention... the tB version has things like LenB(Of LongPtr) or LenB(Of PROPERTYKEY)... tB has overloaded the LenB operator to support getting sizes by type name. But you can still use LenB(variable) like you normally do in VB6; you don't *have to* use the new options.
It comes down to this: To get the size of a UDT named PROPERTYKEY:
In VB6, you must use
Code:
Dim pk As PROPERTYKEY
Dim nLen As Long
nLen = LenB(pk)
in twinBASIC, you *may* use any one of
Code:
Dim pk As PROPERTYKEY
Dim nLen As Long
nLen = LenB(pk)
----or----
Dim nLen As Long
nLen = LenB(Of PROPERTYKEY)
---or---
Dim nLen As Long = LenB(Of PROPERTYKEY)
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
fafalone
twinBASIC is 100% backwards compatible; it supports all VB6 syntax. It's just not *forward* compatible; it adds stuff on top of that which won't work in VB6. But that's how software goes; forwards... VB6 has lots of stuff you can't use in VB3. The differences I described are all optional things; if you back-ported the ribbon to VB6, then imported it to tB, it would run unchanged. At least in 32bit mode. The tB-native version supports x64. You'd be able to keep the LongPtrs since oleexp defines a public alias for them, but some UDT differences would remain, plus PtrSafe keyword. Like one I forgot to mention... the tB version has things like LenB(Of LongPtr) or LenB(Of PROPERTYKEY)... tB has overloaded the LenB operator to support getting sizes by type name. But you can still use LenB(variable) like you normally do in VB6; you don't *have to* use the new options.
I know. I really appreciate twinBasic and use it as one of the most important options for the compiler of my scripting language. My scripting language doesn't pursue compatibility with VB6, which can relieve me of a lot of my development burden. I hope to develop a scripting language of my dreams that is even better than JavaScript/TypeScript (maybe it will always be just a dream).
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
xiaoyao
I have always wanted to develop something similar to VB7. It is to make an ADD IN plug-in for VB6, change the menu and toolbox completely, and keep the code editor and compilation function. You'll be successful, expect more features to be open sourced.
Everyone who sticks with VB6 will be rewarded.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Love this thread now, I am learning more about the valuable work others are doing than I have learnt from just opening random coding posts over the last few years. Love what you are doing SDO and Faf. I look forward to using that scripting language SDO. I already use VBscript on occasion and find it useful.
I'm not doing anything particularly special coding-wise, just knocking up a VB6 replacement for one of my old desktop Xwidgets. It is a Panzer Kill button, dieselpunk.
https://www.vbforums.com/images/ieimages/2023/07/24.png
I keep it in very small size, top right on my screen, ready for use. I use it to kill a wayward process. I used to run a lot of Yahoo Widgets and occasionally the Konfabulator engine would get itself in a twist and start continually dying/reloading. I had this exact widget on my desktop (written in MS Jscript for the Xwidget engine) and whenever YWE did a 'funny' I would dblClick on the Kill button and YWE would die. When we are developing it is not unusual to create a rogue program that needs to be killed regularly. I use this tool to do that.
One by one I am replacing my old simple widgets with my simple VB6/RC5 code template. I should then be able to knock them out in short order. The more complex ones with a lot of interactive UI will be a little more tricky, one of those with Olaf's help is underway.
As you can see I can re-use a lot of graphics and code with a little tweak here and there, still it takes about a day to complete with some code hacks, a CHM help, new installer and testing.
That screenshot is from my testing on my trusty old E6410 laptop with a small 15" screen, a little crowded but it isn't meant to run that way, it shows most of the separate elements of the program running simultaneously, the button itself, its preferences, the licence window, about pop-up, one-page help, menus. The help CHM is not shown.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
SearchingDataOnly
I modified several controls developed by Olaf and ColinE66 and applied them to my FormDesigner:
(1) My PropertyWindow uses Olaf's Virtual-ComboBox (which uses both The-trick and wqweto's subclasses).
(2) The prototype of my PropertyGrid comes from Olaf's Simple-PropertyGrid
(3) The prototype of my Toolbox comes from ColinE66's ucProjectExplorer
I've always said we need everyone to work together on a VB7 Ide.
Congratulations, you did it.
It's too hard to do it alone.
You've now put other people's controls and modules together.
If you still need some features, you can also make a request, maybe someone can write the source code you add on it.
If one day your IDE source code can be open to the public, he will be all of us to develop VB7, has been continuously upgraded, never shut down or stop updating.
It doesn't matter if it's not open source, like TWINBASIC, do a GITHUB repository, and others can apply directly online with comments and suggestions.
-
1 Attachment(s)
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
SearchingDataOnly
My FormDesigner: :D
When will you officially launch your IDE?
You can start by making a vbforums +GITHUB project, like this one
BUG issue submission/feature suggestion
https://github.com/WaynePhillipsEA/twinbasic/issues
TwinBasic-VBForums
https://www.vbforums.com/showthread....0181-TwinBasic
twinBASIC Weekly Update - No Longer Set
https://nolongerset.com/tag/twinbasic-weekly-update/
I think your IDE is a little backward in adopting the toolbar approach and should learn the TAB tool area of OFFICE.
It is best to ADD the add-in function, every button, every menu has an ID, convenient for others, redesign and integrate a new interface.
Attachment 188374
-
1 Attachment(s)
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
SearchingDataOnly
I know. I really appreciate twinBasic and use it as one of the most important options for the compiler of my scripting language. My scripting language doesn't pursue compatibility with VB6, which can relieve me of a lot of my development burden. I hope to develop a scripting language of my dreams that is even better than JavaScript/TypeScript (maybe it will always be just a dream).
If you have a scripting tool, you can visualize the form design like VB6, and even add VB.NET controls to the form.
Each button or control events, bound to the scripting language can be used: VBA, VB6, VBS, JS, PYTHON, lua, that would be a fun event.
What PYTHON and JS lack most is a perfect form designer
With tools like this, running under linux is also a good thing.
TWINBASIC IS VB6 OR VB.NET?
vb.net was abandoned by Microsoft, and the older version was bulky.
If TWINBASIC can also support vb.net syntax, it can also be used as a simple. NET development tools.
But you want to be able to set up the project to support only VB6 syntax or VB6+VB.NET syntax.
Otherwise, too many new features are used, and it is estimated that it is impossible to export the VB6 project
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
SearchingDataOnly
My Tool(CodeHelper) is a free software that anyone can use for free.
Actually, I've been thinking about open source, but I hope to open source in another way, i.e., I'll rewrite my tool(CodeHelper) in my scripting language and then open source. The purpose of this is to promote my scripting language, which I hope you all will understand. But all this will have to wait until my scripting language (including IDE) is done.
Note:
95% of the syntax of my scripting language comes from VB6 and 5% from other languages. That said, the difference between my scripting language and VB6 may be less than that between twinBasic and VB6.
I think it's better to write it in VB6, so that you can also convert to the TWINBASIC project, so that your IDE is 64-bit version. You can use VB6 code as the main language, but also support JS or PYTHON to generate the entire IDE. You only need to encapsulate the core functionality into a DLL, there are 32 bit /64 bit.
OFFICE365 is the online version of excel, using JS scripting language, perhaps one day, as long as you open a web page you can visualize the form design on the page, run the code (Apple, Android can support)
I want your IDE or code helper to have clear highlights, requirements: for example, it is an open source VB7(vb6 extension), it supports multiple languages,VB6,JS, etc.
In fact, for our VB6 users, what we lack most is NPM, nuget and other online download components/controls, modules, source code functions.
This also fits with the idea of your code manager.
Can manage a large number of JS,VBA,VB6,PYTHON and other source code, you can run immediately. You can download a large number of OCX controls, some or pure VB6 source control.
VB6 modules for various encryption algorithms or uses, such as ultrafine dictionary, multithreaded module,INI module, registry module,GDIPLUS module
For example, you can dynamically add controls, each control has a Chinese and English interpretation document database (or other translation language text), usage code examples, click to run.
In this way, learning to use a control can go from an average week to a day or an hour (learning the main function).
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
tB might borrow some syntax from .NET here or there but afaik there's absolutely zero plans to make it a .NET replacement; and you couldn't have both syntax compatibilities at the same time.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
What a beautiful job Fafalone.
Hopefully this for vb6.
SearchingDataOnly great job we look forward to this soon.
thank you
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
xiaoyao
When will you officially launch your IDE?
[/ATTACH]
The next step is to develop Code-Debugger.
Quote:
Originally Posted by
xiaoyao
I think your IDE is a little backward in adopting the toolbar approach and should learn the TAB tool area of OFFICE.
My IDE will be configurable, and the user can configure it to be exactly like VB6-IDE or to any other style he likes.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
fafalone
tB might borrow some syntax from .NET here or there but afaik there's absolutely zero plans to make it a .NET replacement; and you couldn't have both syntax compatibilities at the same time.
b4a can use vb code make app,and join JAVA CODE.
Only the lack of code intellisence function, can only copy a complete class code insert.
MAKE VB.NET DLL FILE FOR VB6 BY TLB FILE
Memory dynamic compilation VB.NET source code, dynamic execution. VB.NET code can enable another code editor control.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Powerbasic is just updating the IDE.. the compiler is completely dead, it's impossible to update.. because the author is dead
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
This thread has started getting derailed. I suppose it was a bit of a fishing expedition to begin with, so I'm not sure that it is wrong, but it is turning into a discussion of TB from VB6.
It should not be taken further off into the weeds. Let's not bring in Powerbasic, RADBasic, or B4Anything. This is about VB6 and what you can do there. If TB can compile VB6 code, then it may well be a worthwhile successor, and therefore is a reasonable discussion in this thread. The others can't compile VB6 code, and therefore don't belong in this thread.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Yeah I figured that since, with minor changes to syntax conveniences like a += 1 back to a = a+1 or swapping a UDT and As Any or moving subclass code to a .bas, tB is still the VB language given the 100% syntax backcompat, so my ribbon project would be of interest and the code very useful for VB6 programmers (especially since I maintain oleexp for VB6 with all the COM interfaces; and if you did get rid of the conveniences the resulting VB6 code would run in tB unmodified). If not I can avoid mentioning such projects in the future. But I don't feel it's the same as languages that can't run base VB6 code... xiaoyao doesn't seem to understand those others aren't remotely compatible with VB6 and threads about VB and tB aren't the place for discussions of entirely different languages. However I think VB6 vs tB is like VB6 vs VB3; we can talk about VB3 here, even though there's some minor and not so minor differences, and code from one can run in the other but not necessarily vice versa.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
To get this back on track.
I posted this elsewhere but it was meant for here:
This is what I am working upon now:
https://www.vbforums.com/images/ieimages/2023/07/25.png
I have two templates for RC5/6 VB6 programs. My simple template I have under control, with the more complex template I am shoe-horning my existing code and getting it to work, fixing incompatibilities as they arise. Progress is slow due to my trying each and every avenue but progress is steady. I only see one blocker at the moment and I may even have a workaround for that. Olaf is assisting very ably.
It is just a clock at the moment with my usual additions, about, prefs &c. It will become a stopwatch later and eventually a replacement for my Yahoo widget of the same design.
For years I wanted an engine that would support my javascript code, supported transparencies, would operate on the desktop, be supported by someone who wouldn't make it obsolete (grrrrrrr to MS), have a coding/graphical IDE and a compiler/interpreter that ran in a 64 bit context, for future proofing. With VB6 lang + VB6 IDE + Photoshop + RC6 + TwinBasic a combination has arrived that has started to make it seem feasible even if I have to dump my first requirement of javascript.
Losing .js is not so bad, VB6 being very familiar, though the RC way of working is forcing me to do things properly and extend my understanding. I'm getting there though and I'm having my eyes opened.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
rc6.dll support webview,and javascript v8
-
1 Attachment(s)
Re: Getting the ball rolling. Which VB6 projects are you working on?
@yer...I frequent a Facebook group that shows pics of old electronic parts and what not. Someone posted this and referred to it as steampunk (at least to him). Thought it might inspire you as you go about re-piping your desktop into new functionality.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
That doesn't seem very steampunk to me. It looks like a real board, with insufficient brass on it. There could be some utility as background inspiration, though, so long as the colors and materials were changed around a bit.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
To be steampunk, the wires would need to be bare, tacked to the board with brass retainers, not glued. All the voltage and amps exposed to human flesh as they were up to the 1920s, the plastic connectors at the top would have to be ceramic (I still have a few of those), the busbars would need to be heavy gauge copper and the plastic knobs on the (admittedly ceramic) switches would need to be small control wheels with a separate handle for easy rotation, spaced farther apart
Someone gave it no thought if they thought that was steampunk.
https://www.vbforums.com/images/ieimages/2023/07/21.jpg
I need no inspiration.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
yereverluvinuncleber
To be steampunk, the wires would need to be bare, tacked to the board with brass retainers, not glued. All the voltage and amps exposed to human flesh as they were up to the 1920s, the plastic connectors at the top would have to be ceramic (I still have a few of those), the busbars would need to be heavy gauge copper and the plastic knobs on the (admittedly ceramic) switches would need to be small control wheels with a separate handle for easy rotation, spaced farther apart
Thanks for the info - I had no idea that steampunk was so specific!
Quote:
Someone gave it no thought if they thought that was steampunk.
It is a picture of an actual breaker panel - not like someone crafted it for visual art! And as you can see, they really must have liked to bend wires and pack them tightly - more of an OCD performance!
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Bloody forum changed my picture above, I have reverted it.
Steampunk isn't specific, it is just steampunk, it cannot be impersonated.
It has nothing to do with VB6 at the moment but this iiiis Sparta!, sorry Steampunk...
https://www.vbforums.com/images/ieimages/2023/07/28.png
Eventually I 'may' convert this to VB6, once I have Olaf's RC6 and recent code firmly under my belt. I am getting there.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
This is it on the desktop.
https://www.vbforums.com/images/ieimages/2023/07/29.png
I really can place my widgets on the desktop now using Olaf's code so, it may not be long.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
it is very beautiful yereverluvinuncleber
-
1 Attachment(s)
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
SearchingDataOnly
Only after I overcome the last hurdle, CodeDebugger, can I clone a VB6-IDE, so now everything is unknown. If a clone of VB6-IDE can be successfully developed, its UI will be completely different from VB6-IDE, which is to avoid Microsoft's lawyer knocking on my door. So my IDE will be configurable and the user can configure it to be exactly like VB6-IDE. :D
Yes, now my scripting language will be compiled by VB6-IDE, but this also means that it can also be compiled with twinBasic or Olaf's compiler.
I won't develop my own compiler, but I'll develop transpilers for my scripting language.
The design is completely different from VB6, and it is not convenient to use. At least the advantages can be learned. It is really convenient to configure it yourself.
I prefer the 360 ??browser. For example, double-click to close the selection card, and right-click the address bar to copy the URL + title, but Google and EDGE browsers do not have these functions. However, it is difficult for Google extensions to achieve these functions, and the extension ability is too poor.
For example, QQ chat software is generally used in China, and the latest version lacks a close button, which is very inconvenient.
CTRL+W closes the current window and the window configuration is also troublesome, you need to close the EXE and reopen it to enable it.
Therefore, some good functions have not been passed down.
Attachment 188414
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Yes, former software engineers were very detail-oriented. Young software engineers now seem to pay less attention to detail because software updates are too fast and there is no need to pay too much attention to detail.
The VB6-IDE is an example of attention to detail. The reason I use Olaf's Virtual-ComboBox in my property-window is to emulate some good details of the VB6-IDE property-window. VSCode also does a very good job in terms of details.
You have a lot of good suggestions, which I will seriously consider and adopt.
Also, please don't post pictures or text with Chinese information on an English forum, which is also respectful to others. Because it's not just the two of us involved in this thread.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Making progress of converting my YWE Stopwatch Widget to VB6 + RC6, have achieved a measure of DPI awareness on my one remaining VB6 native form, the others (previously VB6 native) are now RC forms with DPI awareness built in. Nice to have DPI aware VB6 apps.
The clock now pauses/starts/reloads and hides via menu and is largely configurable via the prefs, some tweaking to do and some questions to ask Olaf later plus some possible RC bug-fixing on stuff that should work...but doesn't yet.
https://www.vbforums.com/images/ieimages/2023/08/1.jpg
A high res. image so expect it to load slowly. There are five VB6 apps running there, see if you can spot them. Beers to the one who guesses correctly.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
No beers.
https://www.vbforums.com/images/ieimages/2023/08/3.jpg
Red are VB6 programs
Green is the current Vb6 program
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Testing a GIF capture tool on my 4K monitor, the results are average. Showing the VB6/RC6 PzStopwatch gauge in action.
https://www.vbforums.com/images/ieimages/2023/08/1.gif
I am unsure as to whether it will directly embed on this forum, regardless the uploaded animated GIF is here: https://imgur.com/a/eDiuUEp
What tool do you use to capture video to GIF or similar that can be posted onto img hosting sites such as IMGUR, any suggestions?
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Gif looks good dude, so when is your game coming out? :D
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I never release anything really as I only produce for myself. I do put my code on github but it is never really complete nor ever particularly good. It is just a big period of experimentation where I please myself, meandering here and there with technology.
I do appreciate you were being facetious re: releasing a game :wave:, There is actually a game amongst all my code that I created two decades ago, when I was first picking up VB6, once again a project never completed nor release. I created the database and the UI for it but I realised the idea was beyond me... I could probably finish it now but it would still be shedload of work rewriting crap old code &c.
https://www.vbforums.com/images/ieimages/2023/08/4.jpg
I am obviously NOT a programmer by trade but originally a Project Manager with a hardware bent (and an artist of sorts). I always bemoaned my lack of programming capability and understanding. I have set out to cure that by picking up older technologies and giving them something that only I can so that they receive my 'spin'. I can do the graphics, I now understand a lot of the programming complexities (well to an extent) and I can manage my own projects to nowhere. Strange eh?
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I can appreciate what you're doing. Meandering through interesting logics. It’s an artform in it’s own way. Feels good when you make something work properly. I'm an ex IT Manager, but jumped into coding as something to do, because once an infrastructure site is settled you've got nothing to do. Companies, directors, staff all loved instantly produced, bespoke software. :) There was never a shortage of requests with that.
Oh, I don't know, you can probably fiddle Cairo enough to make a fun little something. You just need to hunt down what brain things make tiny tank games fun and cool to play.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I am also about to start working on converting more of these to NW.js widgets so that they work on the desktop in the same fashion as the old YWE versions and latterly the VB6 versions. This is all do-able given time... The thing with the NW.js versions is that they are pure web versions of same designs running on the desktop with limited access to file system functions limited to that provided by the framework.
They can open local folders and files, pop up file system dialogs giving limited access to the system. However a lot of the system metrics functionality of the old YWE engine are not provided. I have toyed with writing some extensions for NW.js in VB6 using the C++ extension API for NW.js or just writing some binaries that my NW.js code can call, picking up the data provided, extracting system metrics such as CPU usage per thread, RAM usage &c. I think that is do-able.
I have NW.js working on the desktop and I have a few trial widgets, clocks &c all ready to pick apart to allow the addition of this extra stuff. It will be VB6 related so I'll drop a picture or two when I make better progress.