-
Sep 4th, 2023, 07:18 PM
#1721
Re: TwinBasic
1) Yes, it has been lifted, along with most other similar limits.
2) There's a lot of bugs with running, especially when running them in 64bit VBA, and Property Pages aren't supported for in-project UCs (.tbcontrol, same as .ctl, as opposed to ocx)
3) The Printer object is completely unimplemented at this point, but it's an announced feature for v1, so can be expected very likely before the end of the year. If you want to print, you'll need a solution such as BSPrinter (has been tested to work in tB according to their page), or doing it manually through Windows APIs/COM interfaces.
4) Collection performance blows VB6 out of the water on most operations, some being thousands of times faster, and matches it on the rest. And this is without compiler optimization (early tests of that show it beating VB6, but it can't optimization code with classes/objects yet)
5) Lines of code themselves aren't a limitation... my ucShellBrowse control works perfectly, for instance, and that's 50k lines with a dependency on tbShellLib, my oleexp replacement that's also covering large swathes of the Windows API base, clocking in at 167k lines, nearly every one going into the global namespace. But larger projects do raise the odds something in it will be unimplemented or hit a bug (of which there are still quite a few, being in beta and all).
Check out these Collection benchmarks Wayne posted in the Discord channel:

removal all items via index position (backwards, sequential), 60000 items. 2607ms 1ms
removal all items via index position (random), 60000 items. 2270ms 43ms
(the last two couldn't fit on my screen for the screenshot)
Last edited by fafalone; Sep 4th, 2023 at 07:42 PM.
-
Sep 5th, 2023, 03:15 AM
#1722
Re: TwinBasic
There's something wrong with the VB6.Col For Each test...
...which traditionally works pretty fast (as the test below shows, when enumerating 1Mio entries)
Code:
Private Sub Form_Click()
Cls
Dim i As Long, Col As New Collection, T, V
T = Timer: i = 0
For i = 1 To 10 ^ 6
Col.Add i
Next
Print "Col Add:", CLng((Timer - T) * 1000) & "msec"
T = Timer: i = 0
For Each V In Col
i = i + 1: If i <> V Then Stop
Next
Print "For Each:", CLng((Timer - T) * 1000) & "msec"
End Sub
Olaf
-
Sep 5th, 2023, 04:30 AM
#1723
Addicted Member
Re: TwinBasic
 Originally Posted by fafalone
1) Yes, it has been lifted, along with most other similar limits.
2) There's a lot of bugs with running, especially when running them in 64bit VBA, and Property Pages aren't supported for in-project UCs (.tbcontrol, same as .ctl, as opposed to ocx)
3) The Printer object is completely unimplemented at this point, but it's an announced feature for v1, so can be expected very likely before the end of the year. If you want to print, you'll need a solution such as BSPrinter (has been tested to work in tB according to their page), or doing it manually through Windows APIs/COM interfaces.
4) Collection performance blows VB6 out of the water on most operations, some being thousands of times faster, and matches it on the rest. And this is without compiler optimization (early tests of that show it beating VB6, but it can't optimization code with classes/objects yet)
5) Lines of code themselves aren't a limitation... my ucShellBrowse control works perfectly, for instance, and that's 50k lines with a dependency on tbShellLib, my oleexp replacement that's also covering large swathes of the Windows API base, clocking in at 167k lines, nearly every one going into the global namespace. But larger projects do raise the odds something in it will be unimplemented or hit a bug (of which there are still quite a few, being in beta and all).
Check out these Collection benchmarks Wayne posted in the Discord channel:
removal all items via index position (backwards, sequential), 60000 items. 2607ms 1ms
removal all items via index position (random), 60000 items. 2270ms 43ms
(the last two couldn't fit on my screen for the screenshot)
Thanks for the info fafalone, really helpful! I'm getting more and more anxious to try this, and your answers on points 1 and 2 are a great help for some design decisions I have to take now.
-
Sep 5th, 2023, 05:24 AM
#1724
Re: TwinBasic
 Originally Posted by Schmidt
There's something wrong with the VB6.Col For Each test...
...which traditionally works pretty fast (as the test below shows, when enumerating 1Mio entries)
Code:
Private Sub Form_Click()
Cls
Dim i As Long, Col As New Collection, T, V
T = Timer: i = 0
For i = 1 To 10 ^ 6
Col.Add i
Next
Print "Col Add:", CLng((Timer - T) * 1000) & "msec"
T = Timer: i = 0
For Each V In Col
i = i + 1: If i <> V Then Stop
Next
Print "For Each:", CLng((Timer - T) * 1000) & "msec"
End Sub
Olaf
Well spotted. Indeed, there was a copy-paste bug in the for-each test causing the results to also be affected by the cost of forward-index retrieval. After fixing the bug, the VB6 and tB versions of that test now look to perform similarly.
-
Sep 5th, 2023, 11:22 AM
#1725
Re: TwinBasic
 Originally Posted by Erwin69
Thanks for the info fafalone, really helpful! I'm getting more and more anxious to try this, and your answers on points 1 and 2 are a great help for some design decisions I have to take now.
For number 2, Property Pages for UCs are also planned for V1 so aren't too far off, and I'm sure much work will go into fixing all the major bugs before then too.
-
Sep 5th, 2023, 11:45 AM
#1726
Addicted Member
Re: TwinBasic
 Originally Posted by fafalone
For number 2, Property Pages for UCs are also planned for V1 so aren't too far off, and I'm sure much work will go into fixing all the major bugs before then too.
Well, I'm still some way off that 256 controls limit, but to avoid potential problems going forward, I was considering a redesign of part of the UI by combining a number of controls (treeview, listview, label, combo, splitter bar, frame, picturebox) into a UC, which then could be repeated a number of times. (Think of the app having several tabs with a similar view on each tab, but covering different topics.) But if I can avoid spending time on that, I have more time for other things that increase functionality.
-
Sep 11th, 2023, 02:05 AM
#1727
Re: twinBASIC programming
twinBASIC status update:
twinBASIC Update: September 10, 2023
Highlights include a global search IDE addin sample, addin extensibility access to the filesystem, and a discussion about inheritance in twinBASIC.
nolongerset.com/twinbasic-update-september-10-2023
-
Sep 14th, 2023, 03:40 AM
#1728
Re: TwinBasic
 Originally Posted by Erwin69
Well, I'm still some way off that 256 controls limit
I hit that limit regularly. Creating controls arrays of all the labels normally gives me sufficient space but it is another good reason to migrate to TB.
PS. At this point in the conversation, Niya would normally appear.
https://github.com/yereverluvinunclebert
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
-
Sep 14th, 2023, 02:06 PM
#1729
Re: TwinBASIC programming
 Originally Posted by VB6 Programming
This is an interesting picture, where BASIC was everything at Microsoft, and now almost everything doesn't exist, one by one being abandoned.
BASIC FOR DOS
qbasic
vb6
vba
vb.net
ACCESS VB
asp
-
Sep 17th, 2023, 05:50 AM
#1730
Re: TwinBasic
Find details of the latest twinBASIC releases at...
twinBASIC-programming-Beta-releases
-
Sep 18th, 2023, 03:45 AM
#1731
Re: twinBASIC programming
twinBASIC status update:
twinBASIC Update: September 17, 2023
Highlights include inline editor widget support for tB IDE addins, a sample TODO addin, keyboard shortcut registration, and a preview of a UserControl Builder addin.
nolongerset.com/twinbasic-update-september-17-2023
-
Sep 24th, 2023, 06:59 PM
#1732
Re: TwinBASIC programming
twinBASIC status update:
twinBASIC Update: September 24, 2023
Highlights include a twinBASIC services status bar, a tB implementation of the Geometrize software, and a user activity monitoring class from fafalone.
nolongerset.com/twinbasic-update-september-24-2023/
-
Oct 2nd, 2023, 05:26 AM
#1733
Re: TwinBasic
twinBASIC status update:
twinBASIC Update: October 1, 2023
Highlights include the release of the first community-built twinBASIC IDE Add-in and an update to fafalone's cTaskDialog project to add 64-bit VBA support.
https://nolongerset.com/twinbasic-up...ctober-1-2023/
-
Oct 9th, 2023, 05:34 AM
#1734
Re: TwinBASIC programming
twinBASIC status update:
twinBASIC Update: October 8, 2023
Highlights include debug-time evaluation of expressions on mouse hover and an x64-compatible version of sokinkeso's tB IDE addin, Usercontrol Builder.
nolongerset.com/twinbasic-update-october-8-2023/
-
Oct 16th, 2023, 01:05 AM
#1735
Re: TwinBasic
twinBASIC status update:
twinBASIC Update: October 15, 2023
Highlights include a new TextHint property for text boxes, an easier way to apply license keys, and updates to the official twinBASIC wiki documentation.
nolongerset.com/twinbasic-update-october-15-2023/
-
Oct 22nd, 2023, 06:19 PM
#1736
Re: TwinBasic
twinBASIC status update:
twinBASIC Update: October 22, 2023
Highlights include experimental vbWatchdog support, a CheckBitness utility from fafalone, and a VB6 OSInfo class ported to twinBASIC.
nolongerset.com/twinbasic-update-october-22-2023/
-
Oct 30th, 2023, 06:15 PM
#1737
Re: twinBASIC programming
twinBASIC status update:
twinBASIC Update: October 29, 2023
Highlights include two new methods for tB IDE Add-in development and an upcoming rewrite of the standard library implementation.
nolongerset.com/twinbasic-update-october-29-2023/
-
Nov 2nd, 2023, 07:36 AM
#1738
Re: TwinBasic
There is a feature I would be willing to pay for. It is a feature that almost all recent IDEs lack, a very useful feature that almost all windows programs have had for years. It really frustrates me that this 'modern' trend has made it into TwinBasic too. I can't really complain but if the IDE does become FOSS I will make this change myself and in the meantime I will be prepared to make a donation IF someone adds this feature through configuration.
I just want the TITLE BAR back!
Plllleeeeeeease... give us the option to turn it off and on at our whim. I don't mind it being missing by default but I DO want one. They are very useful, I am used to having one on all my apps. and I don't want to grab the window by the tiny bit of remaining screen space left by the application's encroaching menus. I like to be able to close an off-screen app by dblClicking its top left icon, I've done that for decades.
I'll donate!
PS. At this point in the conversation, Niya would normally appear.
https://github.com/yereverluvinunclebert
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
-
Nov 2nd, 2023, 01:19 PM
#1739
Re: TwinBasic
Lol I'll second that. Hate the no-titlebar trend.
-
Nov 2nd, 2023, 02:04 PM
#1740
Addicted Member
-
Nov 5th, 2023, 04:36 PM
#1741
PS. At this point in the conversation, Niya would normally appear.
https://github.com/yereverluvinunclebert
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
-
Nov 6th, 2023, 06:19 AM
#1742
Re: TwinBasic
twinBASIC status update:
twinBASIC Update: November 5, 2023
Highlights include a major overhaul of twinBASIC's internals, support for "destructuring assignment", and a VBA UserForm to tB converter.
nolongerset.com/twinbasic-update-november-5-2023/
-
Nov 6th, 2023, 09:10 AM
#1743
Re: TwinBasic
With regard to the look and feel of a TB app, I'll admit to preferring the pure VB6 graphical forms for the checkbox and radio buttons. I also have a pet hate for thin disappearing scrollbars, so deeply hoping it won't subject us to those.
PS. At this point in the conversation, Niya would normally appear.
https://github.com/yereverluvinunclebert
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
-
Nov 6th, 2023, 12:42 PM
#1744
Re: TwinBasic
The CheckBox and Radio Button are just thin wrappers over their Win32 Common Controls, just like VB6. The only differences would be that tB enables comctl6 and visual styles by default, but you can turn those off, or use them in VB6 (I do), and that some people use compatibility shims for VB6, which you could use for tB exes if you really wanted to. But those aren't by default in VB6.
For an existing project, delete the manifest under resources in Project Explorer, and for new ones, uncheck the 'Use Visual Styles' box when it shows up on creation.
DPI awareness impacts how controls look too, and tB enables it by default, but you can select 'NONE' in new projects (I recommend this for VB6 imports if you don't have code explicitly supporting it), and in existing projects, in Settings scroll down to Project: Force DPI awareness at startup then check then box and set the dropdown to 'NONE'.
Having your tB apps look identical to VB6 is just a matter of disabling settings designed to drag you into the modern era 
(Though IMHO 'modern era' for DPI awareness is that for 99% of apps, system scaling is good enough)
Additionally, tB support Visual Styles *per control*. So if you prefer them for some controls but not others, you can mix and match. This a designer property like where Text or Caption is... VisualStyles.
-
Nov 6th, 2023, 01:02 PM
#1745
PS. At this point in the conversation, Niya would normally appear.
https://github.com/yereverluvinunclebert
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
-
Nov 13th, 2023, 03:41 AM
#1746
Re: twinBASIC programming
twinBASIC status update:
twinBASIC Update: November 12, 2023
Highlights include more VB6-like IntelliSense added to the debug console, upcoming help improvements, and a twinBASIC follower milestone.
nolongerset.com/twinbasic-update-november-12-2023/
-
Nov 19th, 2023, 06:32 PM
#1747
Re: TwinBasic
twinBASIC status update:
twinBASIC Update: November 19, 2023
Highlights include an overhaul of the IntelliSense system, a project to get full paths of all running processes, and a new Kernel Mode Support Package.
nolongerset.com/twinbasic-update-november-19-2023/
-
Nov 21st, 2023, 09:17 PM
#1748
Re: TwinBasic
add in project can;'t load:
sorry this menu options has not been implemented yet
-
Nov 26th, 2023, 07:03 PM
#1749
Re: TwinBASIC programming
twinBASIC status update:
twinBASIC Update: November 26, 2023
Highlights include foundational work on the forthcoming Edit & Continue feature and a new wiki page documenting the twinBASIC compiler constants.
nolongerset.com/twinbasic-update-november-26-2023/
-
Dec 3rd, 2023, 05:54 PM
#1750
Re: TwinBASIC programming
twinBASIC status update:
twinBASIC Update: December 3, 2023
Highlights include an update on "Edit & Continue" development progress, a new Auto-Save tB add-in, and the discovery of twinBASIC's potential downfall.
nolongerset.com/twinbasic-update-december-3-2023/
-
Dec 3rd, 2023, 07:09 PM
#1751
Re: TwinBASIC programming
 Originally Posted by VB6 Programming
and the discovery of twinBASIC's potential downfall.
Just a little bit of clickbait there... is this youtube?
PS. At this point in the conversation, Niya would normally appear.
https://github.com/yereverluvinunclebert
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
-
Dec 3rd, 2023, 07:15 PM
#1752
Re: TwinBASIC programming
-
Dec 7th, 2023, 05:15 PM
#1753
Re: TwinBasic
A poll asking if you would pay for a license for VB today? Or TwinBasic or RADBasic ?
If-VB-was-still-alive-&-updated-today-would-you-pay-for-a-license-POLL
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|