-
Re: Getting the ball rolling. Which VB6 projects are you working on?
WOW, and do you eat and sleep at times as well?! :eek: :bigyello:
I recognized the challenge of wrapping things up. That last 10% is always the hardest, partly because a lot (most?) of the fun is in the initial stages to figure things out, and less in dotting the i's and crossing the t's. (At least it's for me.)
Much of the stuff you guys are working on are way above my head, but I like to follow the thread; hopefully I do learn something at times. Can't wait to try out TwinBasic, but first I have a business to run, where the "technical stuff" is not my primary task.
The graphics in the DirectComposition project bring back memories of when I started the work on my floorplanning application. The calculations of angles and lengths, using sinus, cosinus, etc. were grueling...
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
No VB6 projects any more.
I do still support users of a couple of applications I wrote in VB6 many (too many) years ago and they still appear to work but they're basically end of life so no coding.
But my development work was dragged, kicking and screaming, over to .Net in 2011
For too many years I resisted the change from VB6 to .Net I really wish I'd switched earlier.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
wow Fafalone you are magnific
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
Erwin69
WOW, and do you eat and sleep at times as well?! :eek: :bigyello:
I recognized the challenge of wrapping things up. That last 10% is always the hardest, partly because a lot (most?) of the fun is in the initial stages to figure things out, and less in dotting the i's and crossing the t's. (At least it's for me.)
Much of the stuff you guys are working on are way above my head, but I like to follow the thread; hopefully I do learn something at times. Can't wait to try out TwinBasic, but first I have a business to run, where the "technical stuff" is not my primary task.
The graphics in the DirectComposition project bring back memories of when I started the work on my floorplanning application. The calculations of angles and lengths, using sinus, cosinus, etc. were grueling...
Definitely the hardest. I have ADHD too so particularly hard. And it takes a lot of the fun out of it. I've done paid work before where I have to force myself to do all the boring parts, but I want to enjoy my hobby projects, so try to minimize that. Some of these projects are started going on 6-8 months ago now, so not like it's all day every day... I program maybe 4-5 hours a day tops.
Quote:
Originally Posted by
yokesee
wow Fafalone you are magnific
Thanks for the kind words :)
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Those are interesting and I can see some use for several of those, the cpanel applet especially for a potential VB6 control panel replacement! - and the device manager as a useful tool.
"energy sucking debugging" - I understand that entirely. I work on several projects so this doesn't occur. It is the only way I make continual progress, the alternative is banging my head against the screen getting nowhere. I switch from javascript to VB6 and then back again cutting across to graphic design using photoshop from time to time.
Progress is continuous but spread across several projects so individually it feels slow.
SteamyDock 90% complete
Enhanced icon utility for SteamyDock 98%
Dock Settings utility for SteamyDock 98%
Fire call messenger 85%
Panzer Stopwatch 85%
Panzer JustClock 90%
Yahoo widgets - just finishing them off
Xwidget - burying the things, hate them
Then I have another 75-80 'widgets' to convert at my leisure.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Same question for any others reading this, how many projects do you keep "on the boil" as it were, ie. how many do you keep under development at any one time?
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Development is a "side job" for me. My primary focus is on managing a small software business with partners and clients in 25+ countries. The three software products we market need regular updates, and I partly outsource that, partly do the development myself as I like to mix up my tasks/activities.
So my approach to s/w development in many ways has to be focused on delivering within specs within deadlines. The good news is that as the owner, I pretty much control the specs and deadlines... :bigyello:
With the three apps increasingly being used in combination with each other, updating one now often means updating one or both of the others. Therefore you could say that most of the time I have 3 projects "on the boil", applying bug fixes or synchronizing features, that then at some point in time are consolidated into a client release. The majority of clients are not "feature hungry" at all, so one update every 12-18 months usually is more than enough for them. On occasions a Service Pack in between if something nasty slipped through quality control.
In Q4 I plan to set aside time for some research on twinBASIC. As two of the tree apps are graphics and calculation intense, I'm curious to see if there are easy performance gains to be made by e.g. using a GPU if it's available on the PC the software is run on, or even multi-threading. (Not much more than concepts for me at this point... But I can see the potential benefits based on these concepts.)
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
tB has put up substantially better numbers than vb6 for optimized code in initial tests... Right now optimization is for 32bit only, and only procedures in modules that don't use interfaces, classes, variants, or strings. The rest of the types, UDTs, and arrays are ok.
Something you might be interested it: it provides granular control over optimization instructions, so for instance you can make a build enabling avx2 for computers that support it.
Multithreading is working now but will be api only until the first quarter of next year according to the current roadmap.
But for gpu you'd need to do the same as other languages.. use directx, opengl, opencl, etc. Haven't heard of any plans to use those directly.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
If the graphics are using intrinsic VB6 commands which could be handed over to Direct2D or similar then they might benefit from GPU optimisation but I am not aware there is anything specific to TwinBasic that will bring the benefit of shifting from CPU to GPU, Faf. might have better understanding.
That might be something you can address now with VB6, that may carry over well to TB.
Multi-threading is not something anyone with VB6 experience will have much knowledge of. TheTrick and a few select others might be spawning off processes to carry out distinct tasks but multi-threading is a lot more than that. We'll have to see how TB handles it all and then see some examples from the clever chaps here on this forum.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Just moved house Part I, so not much progress from me.
https://www.vbforums.com/images/ieimages/2023/09/4.png
This is the old Pz Just Clock (Yahoo Widget) alongside the newer VB6/RC6 version (right). The newer version can make use of High DPI 4K screens and display itself with a clarity the old YWE version just could not. You can see the improvement in sharpness.
I've been coercing VB6 and RC6 to do what I expect of it. There is a lack (a deep hole) in my knowledge and of course it is difficult to pick up information from t'net on everything I want it to do as Olaf's RichClient is not as well-plumbed by the rest of the world as much as VB6 has been.
I have managed to coerce it to do what I need but it requires some lateral thinking (and I am probably still doing it wrong). Regardless, I have the graphical controls roughly operating as I wish them to do, menus &c all working. Next task is implementing the Daylight Savings code as per the original Yahoo widget.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
fafalone
-PropSearch - Advanced find-file-by-property. 90% complete, stalled a bit til I feel like fighting more with a poorly documented BLOB format to display images in property columns, important due to intersection with ucShellBrowse, and increasingly common use of cloud storage explorer extensions using them. Also some energy sucking debugging to figure out why some searches are blowing up in my face; but the method works in other programs I've written so not a unclimbable wall.
https://www.vbforums.com/images/ieimages/2023/08/7.jpg
.
windows Explorer, often searching for capitalization errors, can't find data. I don't know if you've run into something similar, EVERYTHING.EXE, which is almost 100% error-free. So windows search I hardly use it anymore. everything takes up a little more memory and is almost invincible in terms of search speed. Searching the contents of files is also convenient. For example, a file that matches the contents of two strings.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Windows has a few different search methods and yes some are unreliable... by default in Explorer some versions I think only look at indexed search, which can be stale or disabled.
I have a different search program I made I use for most searches that manually walks the disk, though fixing it's find text within file has been on my to-do list forever. It seems lots of programs have problems with that though. AstroGrep works better than my program so I use that for most full text searches now, but still it fails to find text I know to be somewhere even when I know it's just plain ANSI.
https://www.vbforums.com/images/ieimages/2023/09/5.jpg
The reason for all the random controls is over the years it's become a scratch program where I test all sorts of random semi- or un-related things that benefit from all the declares and helper functions/classes/modules it has without spending 10x as long setting up a new project with everything. I meant to release it at one point but I don't see ever getting around to a massive cleanup.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I'd like to have tried that tool. I am also using the Everything utility and with Windows Indexing switched off to avoid disc/SSD trawling and inaccurate search results. I never use MS own search utilities, instead using Everything above and also Effective File Search and File Search Classic.
I also use Cubic Explorer, Q-Dir and XN-View, trying to avoid MS' own file Explorer whenever possible. I prefer a common interface that operates on various flavours of Windows.
On my PZ Just Clock I have just added a RC transparent licence form that roughly approximates to that found in my old Yahoo widgets. I am using RC6's own control widgets for the textbox and buttons, each analogues of those found in VB6.
https://www.vbforums.com/images/ieimages/2023/09/5.png
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I see what is going on daily here vb6-wise by reviewing the vbforum posts that interest me, focussing on watching any progress from TwinBasic, RADBasic, RC6 posts from Olaf, webbiz and others, general VB6 comments from Faf, Krool, Shaggy, Dil, theTrick, vangogh, si, jbpro and searchingdata, to name but a few - it keeps me updated. Nice to see projects progressing so please post an image or two here if you can.
I'm in that final phase where implementing just the final few improvements, bug fixes seems to take an interminably long time - that phase. No visual updates from me, just trying to complete the final 6-7% of one project, that includes my own code review of my own code.
P.S I have incorporated Shagratt's IDE add-ins to my development environment, the code folding and document map together do bring some very useful updates to the old VB6 IDE making it feel quite 'modern' to my admittedly rather limited knowledge of such things. It is nice to improve an old friend.
https://www.vbforums.com/images/ieimages/2023/10/1.jpg
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
yereverluvinuncleber
that includes my own code review of my own code.
sometimes it's painful, but I also like it, especially I opened my wordprocessor again (2013) to refactor the code, what a surprise (2023) how my code evolved..... and the way of thinking too.
Quote:
Originally Posted by
yereverluvinuncleber
It is nice to improve an old friend.
Yes, I haven't even implemented LinkFX ModernVB yet.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
yereverluvinuncleber
I see what is going on daily here vb6-wise by reviewing the vbforum posts that interest me, focussing on watching any progress from TwinBasic, RADBasic, RC6 posts from Olaf, webbiz and others, general VB6 comments from Faf, Krool, Shaggy, Dil, theTrick, vangogh, si, jbpro and searchingdata, to name but a few - it keeps me updated. Nice to see projects progressing so please post an image or two here if you can.
I'm in that final phase where implementing just the final few improvements, bug fixes seems to take an interminably long time - that phase. No visual updates from me, just trying to complete the final 6-7% of one project, that includes my own code review of my own code.
P.S I have incorporated Shagratt's IDE add-ins to my development environment, the code folding and document map together do bring some very useful updates to the old VB6 IDE making it feel quite 'modern' to my admittedly rather limited knowledge of such things. It is nice to improve an old friend.
https://www.vbforums.com/images/ieimages/2023/10/1.jpg
yereverluvinuncleber, what add-in are you using for the tabbed interface with all open windows / modules?
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
Erwin69
yereverluvinuncleber, what add-in are you using for the tabbed interface with all open windows / modules?
Erwin, that is the CodeHelp Core IDE Extender Framework, really essential for me. I cannot remember the link but if you need a copy, just PM me.
Quote:
Originally Posted by
Episcopal
sometimes it's painful, but I also like it, especially I opened my wordprocessor again (2013) to refactor the code, what a surprise (2023) how my code evolved..... and the way of thinking too.
Oh yes, with my recent foray into RC I created two early programs but now, with what I have learnt in just a few weeks, I need to refactor both.
Quote:
Originally Posted by
Episcopal
Yes, I haven't even implemented LinkFX ModernVB yet.
I did install ModernVB and then when I upgraded my machine h/w I had to reinstall VB6 from scratch. Then, after I had added a few of my useful, standard addins, I realised I didn't really need ModernVB. I'm not saying it isn't good, I just use what I really need.
Some of Shagratt's addins are interesting but I just use his code folder and the code map.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Currently working on the Monstergirl and NPC chat dynamics. This is the thing so far....
With much thanks to the SQL experts in here. I've managed to make a basic word-sniffer-database. (And those are randomly generated faces too.)
https://www.vbforums.com/images/ieimages/2023/10/8.jpg
Above, the NPC will randomly choose a greeting, but reactive text will change what she says to you. This can be anything, like a healer may talk about your arm's HP, or the town where you currently are, or something you are wearing for example.
The pink block is the trigger word for the next SQL conversation.
I'm yet to implement the click buttons for this, as it's widgetting and Olaf's example is way over my head (For clickable coloured text). Anyway, buttons below the NPC will appear (soon) for the same thing, allowing backtracking through dialogue.
Plus, to keep the database lean and easy to read, I've used referential terms too. So, the NPC 'talking' will reference 'her town', for example, if you ask about the local blacksmith.
Anywoots, just making it a less boring and a little more cute when talking with random NPC's than your usual script-only-text, Traditional Roguelike.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
As always, fascinating to see a VB6 program looking very unlike a VB6 program.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I am getting very close to finishing my VB6/RC6 Panzer clock. Been working on converting the .js code I used in the Yahoo version of the program that handles Daylight Savings Time and timezone bias. I am sure I could implement the code using just APIs from the o/s but I was interested in the conversion process and it gave me some re-familiarisation with .js. I needed a refesher.
Still not spending as much time on coding as I'd like so progress is sedate. Regardless, the Pz Just Clock is working. I am going to muck about a bit with subclassing to see if I can get Elroy's tooltips to work on comboboxes.
Next task after that will be testing/bugfixing with multiple monitors (where is that VGA cable?)
Then I have some issues I need to resolve with Olaf regarding some RC6 technical challenges I found hard to overcome. I won't post those until I have sample code to demonstrate the problems I am facing.
When all resolved I will work on my next gauge, the stop watch gauge.
https://www.vbforums.com/images/ieimages/2023/10/20.jpg
After that the plan is to work on a dieselpunk volume control, as my only working volume control is a jScript Xwidget - I am worried that particular engine is going to have problems when some of the MS-supplied components it uses stop working...
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Come on chaps, there must be some pretty VB6 projects out there that deserve a mention and a picture or two?
-
2 Attachment(s)
Re: Getting the ball rolling. Which VB6 projects are you working on?
OK, still work in progress, but I've been working on an update of one of my apps:
To keep it short and simple, it's the "management console" above a database that is fed with graphical plans for layouts of stores and shelves. It covers tasks like maintaining data, manage plans through lifecycles, automate tasks, and unlock information through template based reporting.
The front-end is VB6, using Krool's common control replacements and VBGrid, and the NewTab by Eduardo. Back end is SQL Server, so a certain amount of embedded SQL. Reporting through Excel and PowerPoint, linking directly to these objects, and using GDI/GDI+ and a range of Windows API's for the graphical output.
Most of the screens are "Explorer Style" with a treecontrol on the left, and a listview on the right, and with several buttons below to start specific actions on the selected business area. The app is fully Unicode compatible, and allows dynamic switching of the interface into several languages among which English, Dutch, Spanish, French, Portuguese and Korean
"Home Page / Dashboard"
Attachment 189127
"Explorer View"
Attachment 189128
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
Erwin69
OK, still work in progress, but I've been working on an update of one of my apps:
To keep it short and simple, it's the "management console" above a database that is fed with graphical plans for layouts of stores and shelves. It covers tasks like maintaining data, manage plans through lifecycles, automate tasks, and unlock information through template based reporting.
The front-end is VB6, using Krool's common control replacements and VBGrid, and the NewTab by Eduardo. Back end is SQL Server, so a certain amount of embedded SQL. Reporting through Excel and PowerPoint, linking directly to these objects, and using GDI/GDI+ and a range of Windows API's for the graphical output.
Most of the screens are "Explorer Style" with a treecontrol on the left, and a listview on the right, and with several buttons below to start specific actions on the selected business area. The app is fully Unicode compatible, and allows dynamic switching of the interface into several languages among which English, Dutch, Spanish, French, Portuguese and Korean
"Home Page / Dashboard"
Attachment 189121
"Explorer View"
Attachment 189122
Morning, We can't see both screenshots.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
DaveDavis
Morning, We can't see both screenshots.
Not sure why they were included as attachments and not as embedded images. Any suggestion how to fix that?
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Edit your post, go into "Advanced mode", click the "Manage attachments" button further down the page, select the desired image and click "Insert Inline". That's how I do it and it works every time.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
VanGoghGaming
Edit your post, go into "Advanced mode", click the "Manage attachments" button further down the page, select the desired image and click "Insert Inline". That's how I do it and it works every time.
Thanks! That worked.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
graphical plans for layouts of stores and shelves.
Can you please give this screenshots?
-
3 Attachment(s)
Re: Getting the ball rolling. Which VB6 projects are you working on?
planogram samples (= shelf plans)
Attachment 189133
Attachment 189134
floorplan sample (= store plan)
Attachment 189135
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Lovely stuff, can you disclose roughly how many clients use your software Erwin?
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I am just tinkering with creating a simple RC/VB6 widget based upon one of my old Yahoo widgets, little more than a glorified desktop icon really. Just a selectable image of a Victorian stamp that responds to a double-click to open an application you choose to assign, in my case Thunderbird, the email client.
This Penny red widget was originally just some desktop candy that I grew rather fond of having on my desktop.
Now I have a VB6 version.
https://www.vbforums.com/images/ieimages/2023/11/1.jpg
As usual it has some help, about and configuration screens, a lot more than it really needs, all from a base template for these 'simple' one function desktop 'widgets'. I was really doing this to see how long it would take me to create a basic widget from a template. Really no longer than a few hours. I might create a few more of these simple eye candy widgets now I have proven the process to myself.
The widget is here on github: https://github.com/yereverluvinuncle...Red-VB6-Widget
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I find myself having three potential BASIC IDEs running at the same time in my VB6 dock. Shown here are the dock entries for all three, with the 'running' cog above each.
https://www.vbforums.com/images/ieimages/2023/11/1.png
VB6 on the left, TwinB in the middle and RADBasic on the right.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
yereverluvinuncleber
Lovely stuff, can you disclose roughly how many clients use your software Erwin?
Currently approx. 400 users in 27 countries.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Sounds like a good earner.
I have just passed an important (for me) milestone. I have just removed VB.NET.
I previously had VB6 installed alongside VB.NET 2003?/2005, 2008 and 2010 with the intention of migrating one or more of my apps to VB.NET through the phases, simulating what it would be like to develop an app. throughout the early 2000s. I managed to successfully migrate one of my apps but did not enjoy the experience. What I learnt was what everyone had always been telling me, that there is no upgrade path from VB6 to VB.NET and that it almost always requires a rewrite.
With that in mind my interest in VB.NET waned and I have no intention of coding in VB.NET especially when I have realised the power of Olaf's RC/Cairo wrapper. VB6 is able to do whatever I want it to. With TwinBasic available to actually code now and RADBasic available to test its progress, then I realised I have no need for VB.NET at all.
First stage was to remove the VB.NET icon from my dock, second stage was to replace it with TwinBasic. Third stage was to move to a new machine and realise I don't need to reinstall VB.NET.
In my puny world I have deprecated VB.NET. VB6 is still KING, along with TwinBasic it is the twin crown.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
yereverluvinuncleber
I have just removed VB.NET.
At first I've read that as "I have just moved to VB.NET" and something didn't feel quite right! :D
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Sounds like a good earner.
Have to cover the costs of websites, development, marketing, support (1 extra person on the payroll), and share part of the revenue with business partners who handle sales in their respective countries, but I'm not complaining. ;)
Most important thing is that I run my own business, take my own decisions, and do what I like. (E.g. spent the last month as a "digital nomad" in Panama. :cool:)
Quote:
I have just removed VB.NET
I investigated VB.Net back in the days. Found it too much trouble, and preferred to stick to VB6 and spend the time that I saved using something I knew in building my business. If I remember well, another issue was that accessing a SQL Server database through ODBC was very slow.
Did one client project in 2015 or so where I hired a friend / former direct report with solid programming experience to do most of the work. Worked out OK, but...
The client was a small business with basically no changes to their processes, and happy with the software. They also struggled financially a bit at times, so OK to use what they had and no need for updates. Comes early 2023, the client's business was doing better, and some changes were asked for. The guy who did most of the development back in the days, fell victim from the nasty C disease, and passed away a few years ago. So, I look into it myself. VB.Net version it was developed in is no longer available, and the code is not compatible with the newer version, so requiring a serious amount of work to rewrite. :mad:
Discussed with the client various alternatives, but his budget was virtually non-existing, and things were put on hold. Then he ran into serious medical misery: his wife died, he himself had a severe case of meningitis and nearly died too. Decided to phase out the business, and spend some time with his young kids before it was too late.
Needless to say that there is no lost love between VB.Net and me!
Quote:
RC/Cairo wrapper & TwinBasic
I'm currently wrapping up an update of the 3 apps in my portfolio, to be released Q1 2024. (Or maybe as a Christmas gift, but that probably will be pushing it.) Once that's done, I'm going to allocate some time to TwinBasic and the RC/Cairo wrapper.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
It is important to have perspective in all things. Above all, life must be fun. TwinBasic is one of my proposed directions in the new year.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
yereverluvinuncleber
It is important to have perspective in all things. Above all, life must be fun. TwinBasic is one of my proposed directions in the new year.
Wise words! And having recognized them, I'm taking a break, and off to the pool. :bigyello: :cool:
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Getting the ball rolling. Which VB6 projects are you working on?
I was working on an Ecclesiastical Manager, updating mine (RibbonBar, CommonControls, WordProcessor), but I started a postgraduate course in Infrastructure in BIM...... and I couldn't balance my time, and I had to stop programming. Programming is a hobby. Win11's AI Copilot was helping me.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Programming is a hobby to me in that the result of coding efforts seldom see the light of day with regard to the number of final products/users &c. However, I have had millions of downloads of my desktop .js widgets (over time) but very little financial return.
My current development underpins any technical contribution I make in my other roles as a PM, as in I don't feel capable of telling people what to do if I can't do it myself. I feel one must have a level of knowledge in order to see how little one really knows...
Also, I have managed to wheedle an actual part-time development job derived from my VB6/javascript widget programming which was unexpected and a deep surprise to me.
I program in VB6 still in some part because it is nice to be able to prove that VB6 is NOT DEAD. The fact that it has a future somehow proves me to be right - which I like.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
Erwin69
I'm taking a break, and off to the pool. :bigyello: :cool:
Lucky bugger!
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I have a confession to make.
I'm a huge VB6 fan, and I think this language is a model for how a real high-level and advanced language should be.
Having said that...
I am working on a customized media player.
The hard work is done by C dll (demuxing, decoding, a/v threads etc) , and the GUI is in VB6.
At some point, I've decided to try and develop the GUI from scratch in MSVC Win32 (No MFC garbage).
It was tough, it was ugly, it was FRUSTRATING at times, but I managed to build an identical GUI in pure Win32.
Now, comparing the two projects has left me very confused..
In win32:
* Easy multithreading,, inline asm
* Native unicode controls and unicode EVERYTHING
* All Win32 API's are available - no need for function declares (and then tweaking the parameters), structs, constant, enums, unions(?) - all ready to use
* Subclassing is natural
* VERY stable IDE...
* Overall feel of control over the program
* Efficiency is incomparable (string manipulation, bits manipulation, deref, no Variant...)
* The executable - 3 times smaller and high compatibility (low dependencies)
In VB6:
(You know this one)
On Error, Immediate Window, run-time code editing, Collection(!), COM - to name a few...
All of the above have solutions/workarounds in VB6, but my conclusion is, we pay a very big price for the ease-of-use of VB6
A price that sometimes outweigh the advantages!
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Programming is a hobby to me
To an extend it is for me. I always say that got my degree in a period the business people didn't understand IT/technology, and IT people could only talk in ones and zeroes. ;)
I was trained to be the "translator" in the middle. So, I learned about computer architecture, assembler, Cobol, relational databases, etc. But also business administration, commercial, marketing, psychology and sociology. In the end I decided that the business end was more my thing than the pure technology side, so I ended up in sales & marketing roles, consulting and product and project management. But it has been very beneficial to have a solid technological background. Discussions with nasty IT-staff at clients who always tend to say that it's not their problem and try to overpower the non-IT people with technical jargon are cut very short when you start talking back to them in the same way. (I have many good stories to tell about this from when I was an account manager. :D) And translating functional needs into software features without stepping on the toes of the development team is also a lot easier, as is calling them out on BS excuses when they try to wiggle out of a task they don't want to do.
When I started my own business back in 2006, I decided to use my experience to combine those all, and on occasions hire freelancers to fill the gaps. Over time some 20 business partners around the world joined my "virtual team", primarily to drive sales in their areas. This year I focus a bit more on product strategy and development, hence I'm around here more often. I still enjoy "rolling up the sleeves and getting my hands dirty" by translating my product ideas into software myself, even though it means that at times I almost feel embarrassed for the questions I have to ask. But most people on the forum are great in helping out!
Quote:
I have a confession to make
Almost sounds like the start of an AA-session... :bigyello:
I hear what you are saying about the price to pay for the ease-of-use of VB6. In my simplified way of thinking, I compare it with using the macro-recorder in Excel. Easy to apply, but the amount of code that is generated vs. when you write it yourself is crazy. I guess that this is why there are still a lot of people out there (and in this forum) who dream of a "VB7". The challenge is that if you put 10 people together, you get 15 opinions on priorities, and maybe even more on how to get there.
In many cases technology, image, trends, etc. play a big role in what people ask for, completely forgetting to look at functionality and what applications are used for. Browsing the internet on a tablet requires something different than using office tools to create and update documents, spreadsheets, presentations, etc. I regularly get the question if my software works on mobile devices like smartphones. Yeah sure, you're going to create and update a visualization of a 3 meter / 12 foot section with 400 products on a 6" screen, dragging the images around with your finger... (See post #688 for some examples.)
So, in my case cross platform is a lower priority, yet moving from the desktop to a more cloud-based architecture likely will become more and more important. Unicode support was very important to properly support the UI in languages like Russian, Thai and Korean. Not sure if 64-bit will make a difference, yes for image no for functionality I guess, but with a lot of calculations going on behind the scenes, I guess that multi-threading and being able to use a GPU in addition to the CPU could be very beneficial. Time will tell.
Edit: added the correct post number for the pictures.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
Dry Bone
I have a confession to make.
I'm a huge VB6 fan, and I think this language is a model for how a real high-level and advanced language should be.
Having said that...
I am working on a customized media player.
The hard work is done by C dll (demuxing, decoding, a/v threads etc) , and the GUI is in VB6.
At some point, I've decided to try and develop the GUI from scratch in MSVC Win32 (No MFC garbage).
It was tough, it was ugly, it was FRUSTRATING at times, but I managed to build an identical GUI in pure Win32.
Nice to hear from you. On this thread we need pictures of that. Please provide! We'd like to see pictures of the GUI before and after if that is possible.
I hear what you are saying about VB6 vs C. The joy of being able to create a VB6 form and just build our nasty code and fly compared with really knowing how it actually works under-the-bonnet.
VB6 in the form of its derivatives (TB/RB/OB) seems to be taking that middle ground and extending it upward and downward. The future might well be VB6 - for a lot more than we currently expect. Having said that, if you want to create an o/s, those C skills will always be required. Do you want to create an o/s? :rolleyes:
I doubt it and the the trend is inexorably definitely toward higher level languages. As a result I think VB6 has a place now that is more justifiable than ever before.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
Dry Bone
I have a confession to make.
I'm a huge VB6 fan, and I think this language is a model for how a real high-level and advanced language should be.
Having said that...
I am working on a customized media player.
The hard work is done by C dll (demuxing, decoding, a/v threads etc) , and the GUI is in VB6.
At some point, I've decided to try and develop the GUI from scratch in MSVC Win32 (No MFC garbage).
It was tough, it was ugly, it was FRUSTRATING at times, but I managed to build an identical GUI in pure Win32.
Now, comparing the two projects has left me very confused..
In win32:
* Easy multithreading,, inline asm
* Native unicode controls and unicode EVERYTHING
* All Win32 API's are available - no need for function declares (and then tweaking the parameters), structs, constant, enums, unions(?) - all ready to use
* Subclassing is natural
* VERY stable IDE...
* Overall feel of control over the program
* Efficiency is incomparable (string manipulation, bits manipulation, deref, no Variant...)
* The executable - 3 times smaller and high compatibility (low dependencies)
In VB6:
(You know this one)
On Error, Immediate Window, run-time code editing, Collection(!), COM - to name a few...
All of the above have solutions/workarounds in VB6, but my conclusion is, we pay a very big price for the ease-of-use of VB6
A price that sometimes outweigh the advantages!
twinBASIC is designed to address a lot of this; a backwards compatible successor that adds numerous new and modern language and IDE features. What VB classic might have been if it had been developed for the last 20 years. Easier multithreading; it's all thread-safe and you can call CreateThread with no hacks, will get simplified native syntax for this next year. Already has native Unicode controls and Unicode everything, including the editor. Subclassing isn't quite as natural as C/C++ yet but it supports AddressOf on class members natively, so a huge improvement. All the new language features and compiler options definitely give you more control, though obviously not to the same level as C/C++.
I've been doing something about the API declare situation. Have been working on a package that provides most of them... currently there's about 5,000 of the most common ones covered from all the major system DLLs, and this is on top of the thousands of COM interfaces and coclasses brought in from my VB6 project for those. All you have to do is check a reference and they're all available, no need to copy them.
Lack of union support is still a major sore spot, but it is planned. As is first class pointer support.
A couple questionable things though... you're saying C/C++ are better for string manipulation than VB? I can't agree with that. VB is fantastic with strings compared to C/C++. Variant... the situation is no different... VARIANT is absolutely a type in Windows programming in C/C++, but just like VB only if you want to use it, outside of APIs requiring it (e.g. the Ribbon UI was a recent one I worked on using Variant extensively). The difference in file size is mostly down to the GUI stuff... lots of stuff for a Forms package. But exes are so tiny in both compared to other languages. You're usually going to be relying on the C runtime, just like the VB runtime. tB is the only one of the three with truly no dependencies besides system DLLs. I'd have to say the IDEs are both rock solid too. tB... lol, yeah, it's in beta so IDE is pretty bad on stability for now.
But if you're looking for backwards compatible with VB6 with tons of new language features to enable better low level work, twinBASIC is worth checking out. You get things like basic inheritance, generics, overloading, settable UDT packing alignment, 64bit support, standard DLLs + export in exe + export constants, huge improvements to Implements functionality.
Sorry I know I mention it a lot but can't help it when someone expresses a wish for new language features without being a different language :D
---------
Interesting related note... You can, and I have, implemented a Win32 UI from scratch in VB6/tB, just like you'd do it in C. I was porting an SDK example and wanted to make it as identical as possible, so it starts up from main, and creates it's own window class, window, and message pump. This was for my DirectComposition Demo.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
@fafalone:
I admire your tB work. It's simply an amazing effort to keep VB on a respirator...
But it is a very pretentious project, and I'm being skeptical about it. No offense.
I might be wrong, of course.
String manipulation is a very good example of the difference between C and VB.
While string manipulation in VB is very easy, it is highly inefficient
At one time, I had to concatenate a large string in a loop, and the program got stuck for a long time!
Of course you CAN use VARIANTS in win32, but you don't WANT to. Instead of the easy and fluent use in VB, which the whole point of using them, in C it's a pain in the *ss...
Bottom line, there are factors to consider to prefer one over the other, and a matter of a habit and a personal taste.
I just feel like I've discovered there is a big world beyond VB, and it's not as bad as I thought...
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
twinBASIC is designed to address a lot of this; a backwards compatible successor that adds numerous new and modern language and IDE features. What VB classic might have been if it had been developed for the last 20 years. Easier multithreading; it's all thread-safe and you can call CreateThread with no hacks, will get simplified native syntax for this next year. Already has native Unicode controls and Unicode everything, including the editor. Subclassing isn't quite as natural as C/C++ yet but it supports AddressOf on class members natively, so a huge improvement. All the new language features and compiler options definitely give you more control, though obviously not to the same level as C/C++.
I've been doing something about the API declare situation. Have been working on a package that provides most of them... currently there's about 5,000 of the most common ones covered from all the major system DLLs, and this is on top of the thousands of COM interfaces and coclasses brought in from my VB6 project for those. All you have to do is check a reference and they're all available, no need to copy them.
Lack of union support is still a major sore spot, but it is planned. As is first class pointer support.
This is the type of stuff that often goes waaaaay over my head. :eek: But the nerd in me still likes to read and try to learn from it. :bigyello:
What I have understood is that once I have completed the releases I'm currently working on, I will free up time to learn more about twinBasic.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I certainly understand the sketicism after so many projects that never went anywhere, including RadBasic being essentially vaporware. Indeed I didn't pay any attention at all to tB for the first 18 months after the initial release. But development proceeded, and quickly. Right now it runs all my major VB6 projects... ucShellBrowse (as both ctl in project and ocx), cTaskDialog, my ETW Kernel Logger. Also Carles PV's Lemmings and the basicNES and NESEmu Nintendo emulators. There's a few missing features, like the Printer object, MDI forms, and ActiveX exes, and considerable bugs, but it's so far along there's little room for doubt it will get over the finish line.
It's definitely down to personal preference, but IMO anyone who loved VB6 gets a true VB7 with tB. Recapturing that RAD simplicity, with backwards compatibility, but so many modern language and compiler features.
Quote:
Originally Posted by
Erwin69
This is the type of stuff that often goes waaaaay over my head. :eek: But the nerd in me still likes to read and try to learn from it. :bigyello:
What I have understood is that once I have completed the releases I'm currently working on, I will free up time to learn more about twinBasic.
Remember the whole idea is backwards compatibility, so you should be able to see the start screen, Import from VBP, select your project, and hit run. So it's just picking up more, not switching to a whole new language like MS tried to force with VB.NET :)
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I realize the backward compatibility, where tB currently is, and where it most likely goes. All 3 elements make me anxious to start looking at it, but I have to be strict for myself, and finish the release I'm working on first. It's that famous last 10% that is least fun, but key for a successful launch...
When I mentioned way over my head, I was referring to "Subclassing", "AddressOf on class members natively", "union support", "first class pointer support", etc. I'm very pragmatic, and focus on what is needed to get the job done and what I know. If I don't know, I research, and/or ask questions, as I believe you're never too old to learn. But when the conclusion is that something is beyond my skills, or not worth the effort, I either find another way, or outsource it.
My3 apps have grown over the last decade to a total of over 230K lines of code. So backward compatibility for a new development tool is important. Having said that, I think a transition to tB will also be a good moment to rethink some things, and do some redesign work, both functionally and technologically. E.g. I feel I have to get better at breaking out modules that can be reused across the apps. There is not much overlap, but I'm sure some things can be improved.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
And another! Trying to hone the conversion process so I can convert my 'simple' javascript/XML widgets to VB6 versions. This time it is the Saturn image that has had the VB6/RC5/Cairo migration. All complete bar the help file.
https://www.vbforums.com/images/ieimages/2023/11/3.png
The code changes take about an hour and it could be made a lot more simple. What takes the time is building a new about and one-page help panes. The help takes another 20 mins or so, the latter not yet done.
The widget is here on github: https://github.com/yereverluvinuncle...urn-VB6-Widget
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
good job yereverluvinuncleber
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Forgive my rapid posting and diminishing interval between posts. Still trying to reduce the time it takes to make a conversion from a Yahoo widget to a VB6/RC version.
With the latest it took an hour for the code, 30 mins or so with the new imagery and about panes. The thing that took the time is bloody github desktop. It does not want to synch. folders > 100 files nor does it want to synch. a file greater than 25mb. With lots of PNGs, a heavy CHM file, the SETUP installer file can grow in size... so some rejigging is required, conversion to JPGs &c reduces the size a lot. The biggest issue is manually creating the folders and uploading to github. A pain in the proverbial arse.
Regardless, I have converted and synch'd a simple earth marble widget.
https://www.vbforums.com/images/ieimages/2023/11/4.png
Trying to do one a day, well, perhaps one every two/three days as the process is tedious and starting to bore me.
You can see it here: https://github.com/yereverluvinuncle...rth-VB6-Widget
I'm going to hold off creating any more for a while while I investigate why the RC5 'widgets' are using up to 5% of my system's CPU where as the other versions use less than 1%. Hmmm.
P.S. Fixed that, some redundant code used a timer whose interval was then set to 0. All removed, now uses less than 0.01% - happy.
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I'm knocking them up.
My Dell E6410 with win 7 (love it !) with the planetary widgets converted to VB6 RC5 'desktop widgets'.
https://www.vbforums.com/images/ieimages/2023/11/3.jpg
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
I'll stop posting these planetary 'marble' widgets altogether very soon. I'm just finishing off my usual desktop trinkets and then when done, move onto the gauges. It is nice to have my standard desktop populated with VB6 'widgets' rather than the now obsolete Yahoo/Konfabulator versions.
https://www.vbforums.com/images/ieimages/2023/11/10.png
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
could you please send me the final copy :)
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Somebody else please post something about the VB6 proj. you are working upon. A screen shot too, if you please. Even I am becoming bored of my own postings and soon I will have more to come... Let me/us see what you are up to!
-
1 Attachment(s)
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Somebody else please post something about the VB6 proj. you are working upon. A screen shot too, if you please. Even I am becoming bored of my own postings and soon I will have more to come... Let me/us see what you are up to!
Recently completed such a project:
Attachment 189341
Release:
https://mikletuapse.itch.io/space-skybox-generator
Sources:
https://disk.yandex.ru/d/wWw2RSnAgAIL2g
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
Mikle
nice project.
I would add random movement to use as a screensaver
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
-
Re: Getting the ball rolling. Which VB6 projects are you working on?
Quote:
Originally Posted by
yokesee
nice project.
I would add random movement to use as a screensaver
This is not an art project for beauty, but a practical tool for creating textures. But I have nothing against someone making a screensaver or something similar based on this, I posted the source code.
-
3 Attachment(s)
Re: Getting the ball rolling. Which VB6 projects are you working on?
My current project deals with integrating XAML Controls (UWP/WinRT) into VB6 via the XAML Islands. The screenshot shows a few XAML controls in VB6.