Page 44 of 44 FirstFirst ... 3441424344
Results 1,721 to 1,731 of 1731

Thread: TwinBasic

  1. #1721
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    4,515

    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)

  2. #1722
    PowerPoster
    Join Date
    Jun 2013
    Posts
    6,946

    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

  3. #1723
    Addicted Member
    Join Date
    Jan 2012
    Posts
    197

    Re: TwinBasic

    Quote Originally Posted by fafalone View Post
    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.

  4. #1724
    Addicted Member
    Join Date
    Dec 2020
    Posts
    197

    Re: TwinBasic

    Quote Originally Posted by Schmidt View Post
    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.

  5. #1725
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    4,515

    Re: TwinBasic

    Quote Originally Posted by Erwin69 View Post
    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.

  6. #1726
    Addicted Member
    Join Date
    Jan 2012
    Posts
    197

    Re: TwinBasic

    Quote Originally Posted by fafalone View Post
    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.

  7. #1727
    Fanatic Member
    Join Date
    Feb 2015
    Posts
    853

    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

  8. #1728
    Frenzied Member
    Join Date
    Feb 2014
    Location
    Norfolk UK (inbred)
    Posts
    2,021

    Re: TwinBasic

    Quote Originally Posted by Erwin69 View Post
    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.

  9. #1729
    PowerPoster
    Join Date
    Jan 2020
    Posts
    2,994

    Re: TwinBASIC programming

    Quote Originally Posted by VB6 Programming View Post
    The twinBASIC Family Tree

    VB6 and twinBASIC are "twins". You know, just like Arnold Schwarzenegger and Danny DeVito are twins.

    https://nolongerset.com/the-twinbasic-family-tree/

    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

  10. #1730
    Fanatic Member
    Join Date
    Feb 2015
    Posts
    853

    Re: TwinBasic

    Find details of the latest twinBASIC releases at...

    twinBASIC-programming-Beta-releases

  11. #1731
    Fanatic Member
    Join Date
    Feb 2015
    Posts
    853

    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

Page 44 of 44 FirstFirst ... 3441424344

Posting Permissions

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



Click Here to Expand Forum to Full Width