Page 40 of 46 FirstFirst ... 3037383940414243 ... LastLast
Results 1,561 to 1,600 of 1819

Thread: TwinBasic

  1. #1561
    Addicted Member
    Join Date
    Aug 2013
    Posts
    236

    Re: TwinBasic

    Quote Originally Posted by VB6 Programming View Post
    Totally agree. It is clearly time for twinBASIC to have its own subforum (and Codebank) here.

    And not everyone here are also on Discord and/or GitHub.
    Arguably the time for that is when v1 is released.

  2. #1562
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    5,711

    Re: TwinBasic

    I think that would be reasonable. The hesitation in the beginning is definitely; so many promised VB replacements never going anywhere, no good gauge of how fast progress would be or whether it would start gaining traction. But revisiting the issue now, I think the case is a lot more clearer. tB is a real thing, not vaporware, it's already extremely far along, numerous people are using it, and the creator is clearly dedicated to keeping it moving at the same astounding pace it has over the past 2 years.

  3. #1563
    Frenzied Member
    Join Date
    Feb 2015
    Posts
    1,054

    Re: twinBASIC programming IDE - download and install

    BETA 315 of the twinBASIC programming IDE is now available...

    Download from here... https://github.com/twinbasic/twinbasic/releases

    • Click on "Assets" for the latest release
    • Download and Extract the ZIP file into a local folder
    • Then run the twinBASIC.exe from that local folder




    How to install https://nolongerset.com/how-to-install-twinbasic/

  4. #1564
    Super Moderator si_the_geek's Avatar
    Join Date
    Jul 2002
    Location
    Bristol, UK
    Posts
    41,930

    Re: TwinBasic

    Quote Originally Posted by yereverluvinuncleber View Post
    - and perhaps it might be best to start posting such support threads in a different part of the forum, away from this one which has now morphed into becoming "Announcing TwinBasic Progress".

    Moderators: Can we change the name of this thread to correspond to its current function? We don't want it to become a catch-all for every TB related issue.
    Mulitple threads is definitely a good idea, and moderators including myself have said it multiple times. For now, they should be placed in the "Other Basic" forum, like this thread... when a TwinBasic forum is made, moderators/admins will move the threads over.

    This is actually baka's thread, so baka should get to choose a name change (and can do it by editing post #1, or asking a moderator).

    So tB forum when?
    Totally agree. It is clearly time for twinBASIC to have its own subforum (and Codebank) here.
    Arguably the time for that is when v1 is released.
    The main factor is the number of threads... we currently have 5, but there would have been at least 5 more if they weren't merged into this thread.

    We might also decide to wait for the release of v1, but I don't know.

  5. #1565
    Frenzied Member
    Join Date
    Feb 2015
    Posts
    1,054

    Re: twinBASIC programming IDE - download and install

    BETA 316 of the twinBASIC programming IDE is now available...

    Download from here... https://github.com/twinbasic/twinbasic/releases

    • Click on "Assets" for the latest release
    • Download and Extract the ZIP file into a local folder
    • Then run the twinBASIC.exe from that local folder




    How to install https://nolongerset.com/how-to-install-twinbasic/

  6. #1566
    Frenzied Member
    Join Date
    Feb 2015
    Posts
    1,054

    Re: TwinBasic

    Recommend your favourite BASIC-like programming languages...

    16 Best BASIC-like programming languages

    https://www.slant.co/topics/9807/~ba...ming-languages

    twinBASIC is in the list...
    https://www.slant.co/topics/9807/vie...ages~twinbasic
    Last edited by VB6 Programming; May 27th, 2023 at 04:40 AM.

  7. #1567
    Frenzied Member
    Join Date
    Feb 2015
    Posts
    1,054

    Re: twinBASIC programming IDE - download and install

    BETA 317 of the twinBASIC programming IDE is now available...

    Download from here... https://github.com/twinbasic/twinbasic/releases


    • Click on "Assets" for the latest release
    • Download and Extract the ZIP file into a local folder
    • Then run the twinBASIC.exe from that local folder



    How to install https://nolongerset.com/how-to-install-twinbasic/

  8. #1568
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    Twinbasic allows you to set third-party OCX control properties in a form
    This function is good, so you have a lot of controls, if. NET controls can also set properties here, so there are thousands of controls
    But he can generate a form of DLL, and can generate dozens of K of standard DLL, a little wizard

    Assuming he is VB.NET source code, debugging with VB.NET dynamic compilation function, and then compilation of EXE, with a form to be attached to a 1000KB or so of the LIB or runtime static compilation in it.

    Some time ago testing, found a lot of problems, a stream of standard DLL can run for a while can not run, the latest version is much more stable.
    Now the main problem is the generation of COM DLL and OCX control, in VB6 IDE can not run, to compile generated EXE can be called normally.

    Anyway, this is a great product that does most of what we want. Generate 64-bit program, compatible with VB6 old project, if still can put. NET UI controls are also wrapped in for use with TWINBASIC.
    If you can directly write some VB.NET simple code, JS code mixed programming, it is very convenient.
    At least if you can quote. NET DLL component library is also very convenient, WEBSOCKET in VB has been a headache, I do not know TWINBASIC can really simple implementation of websocket server and client.

  9. #1569
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    Compile-generated EXE with forms
    VB6 is only 24 kilobytes,
    twinbasic has 1MB
    vfb generated form EXE 150KB

    I do not know when you can have the Chinese version, set a file as a language package, such as the default is language_ini English, IDE can be set to choose language_cn.ini (Chinese language package)

  10. #1570
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    use webview2 control need to install twinpack(packages
    The simplest way to use a webview control is to be a hassle for VB6 programmers.
    It would be convenient if references were divided into three types: OCX controls,COM DLLS, and Twinbasic's own virtual controls.
    The complete tutorial
    https://blog.csdn.net/xiaoyao961/art...ails/130926012

    Since twinbasic must have the EDGE runtime installed first, the webview2 control should be displayed in the Controls toolbox by default, without requiring additional complex references to be added.
    Assembly code support can also be developed. Inserting assembly code directly into the IDE can be wrapped as a function, module, or inserted directly into the compiled code.
    In addition, a pure web interface can be developed.
    Just as vb6 was the first to support the development of Windows 6.0 interfaces, it will load a specialized UI component, just like office forms2.0.
    Only certain UI controls and code can be used in wince.

    If you use web pages as interface elements, then changing to the server version is easy. In a few simple steps, you can turn the software into a direct operation on the phone, server running EXE or just a DLL.
    This is also the VB6 function into the cloud a new way to play. After all, a Microsoft cloud can cost as little as $100 a year, or $20 in China. An operating system runs on the server 24 hours a day.
    We can use software in the cloud directly from our phones, tablets, or other computers.

    Web version IDE will come out, later open the web page can write code, support webpage drag and drop button, form control (visual form design), server code directly with JS, or any language implementation (.NET,JAVA,PYTHON, swift).
    The web page just shows an operation interface and some interface changes.
    Last edited by xiaoyao; May 29th, 2023 at 01:23 AM.

  11. #1571
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    vbsedit is also used to write 64-bit game scripts, which would be more convenient if twinbasic could put assembly code directly into it. It runs several times faster
    Name:  2353用vbsedit写64位进程游戏脚本.jpg
Views: 405
Size:  48.9 KB

  12. #1572
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    First, TWINBASIC is almost 100% compatible with vb6 and has some of the syntax of VB.NET.
    As a result, he cannot be queried and asked questions in VB6 and the code base, which is unfair and unreasonable.

    In theory, if the IDE can also write VB.NET code, you can write VB6 code.
    He should have two subject posts, one for VB6 and one for VB.NET.
    It's better if the development company pays a little bit for this forum, otherwise it doesn't belong to VB6 or VB.NET,
    It is like F# language, can never be searched.

    Hope the forum administrator can pay attention to this problem. You can't let them advertise for free without paying, and you can't let VB6 fans have access to such a great tool.

  13. #1573
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    Quote Originally Posted by yereverluvinuncleber View Post
    That is rather impressive. You know my thread? https://www.vbforums.com/showthread....e13&highlight=
    I think that we will need a similar thread for TwinBasic, images and descriptions, very soon.

    We are soon reaching a time when the replacement for VB6 (TwinBasic) will be dominant form and we have to decide whether we on this forum decide to let TB = VB6 and not just push it into a niche part of this forum. If we do decide that TB'ers can post their creations just as we post pure VB6 apps then we don't have to do anything. If we decide to enforce the boundaries too formally this place will die and the TBforum will take over. I suggest we allow these direct VB6 replacements IN as it were.
    Just a few months ago I tested generating standard DLLS and COM DLLS, sometimes can be called by VB6, next time not, extremely poor stability. The test was done today, and it can be used normally, and most of the problems have been solved.
    VB3.0 is equivalent to entering the state, once reached VB5.0 is a commercially stable product.

    It was a mistake to put it in the "K" language and put it in a new section. In fact, I think the best way is to ask and publish CODE snippets directly on VB6 and VB6 CODE BANK. The example project is fine, but it should be clearly stated that it should only work with TWINBASIC or with VB6.

    For some of my VBA questions, I don't need to go to the EXCEL forum for help, it's completely VB6, just some data types need to be converted to LONGPTR and so on.
    Last edited by xiaoyao; May 29th, 2023 at 12:21 AM.

  14. #1574
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    Quote Originally Posted by Niya View Post
    It is a real thing. Here's some actual code from a small utility application used by a couple clients:-

    There's no way I could read that code 15 years from now and not understand what it does and that's partly because I wasn't being stingy about naming things. I like nice long descriptive names.
    I hate long class names, like this UIA Automation, which I would do if I developed it:
    Finditem(byname,bykeyid)
    item.click
    item.setvalue
    50 word code, Microsoft makes us write 3000 word code, that is the root cause of IE's failure.

    Code:
     Set UIA = New UIAutomationClient.CUIAutomation
        Dim Root As UIAutomationClient.IUIAutomationElement
        Set Root = UIA.GetRootElement
        Debug.Print Root.CurrentName, Root.CurrentLocalizedControlType
        'Shell "D:\Program Files\Tencent\WeChat\WeChat.exe", vbNormalFocus
        '定位微信搜索框
        Dim Condition1 As UIAutomationClient.IUIAutomationPropertyCondition
        Set Condition1 = UIA.CreatePropertyCondition(UIAutomationClient.UIA_PropertyIds.UIA_ClassNamePropertyId, "WeChatMainWndForPC")
     
        Dim AE_WeChat As UIAutomationClient.IUIAutomationElement
        Set AE_WeChat = Root.FindFirst(TreeScope_Children, Condition1)
        Debug.Print AE_WeChat.CurrentName
    
        Dim PC1 As UIAutomationClient.IUIAutomationPropertyCondition
        Dim PC2 As UIAutomationClient.IUIAutomationPropertyCondition
        Dim PC3 As UIAutomationClient.IUIAutomationPropertyCondition
        Set PC1 = UIA.CreatePropertyCondition(UIAutomationClient.UIA_PropertyIds.UIA_NamePropertyId, "搜索")
        Set PC2 = UIA.CreatePropertyCondition(UIAutomationClient.UIA_PropertyIds.UIA_ControlTypePropertyId, UIAutomationClient.UIA_ControlTypeIds.UIA_EditControlTypeId) '50004
        Dim AC As UIAutomationClient.IUIAutomationAndCondition
        Set AC = UIA.CreateAndCondition(PC1, PC2)
        Dim SearchBox As UIAutomationClient.IUIAutomationElement
        Set SearchBox = AE_WeChat.FindFirst(TreeScope_Descendants, AC)
        Debug.Print SearchBox.CurrentName
        Dim VP As UIAutomationClient.IUIAutomationValuePattern
        Set VP = SearchBox.GetCurrentPattern(UIAutomationClient.UIA_PatternIds.UIA_ValuePatternId)
        VP.SetValue "马"
        '定位发送消息按钮
        Dim PD1 As UIAutomationClient.IUIAutomationPropertyCondition
        Dim PD2 As UIAutomationClient.IUIAutomationPropertyCondition
        Set PD1 = UIA.CreatePropertyCondition(UIAutomationClient.UIA_PropertyIds.UIA_NamePropertyId, "sendBtn")
        Set PD2 = UIA.CreatePropertyCondition(UIAutomationClient.UIA_PropertyIds.UIA_ControlTypePropertyId, UIAutomationClient.UIA_ControlTypeIds.UIA_ButtonControlTypeId) '50000
        Dim AC2 As UIAutomationClient.IUIAutomationAndCondition
        Set AC2 = UIA.CreateAndCondition(PD1, PD2)
        Dim SendBtn As UIAutomationClient.IUIAutomationElement
        Set SendBtn = AE_WeChat.FindFirst(TreeScope_Descendants, AC2)
        Debug.Print SendBtn.CurrentName
        SendBtn.SetFocus
        Dim IP As UIAutomationClient.IUIAutomationInvokePattern
        Set IP = SendBtn.GetCurrentPattern(UIAutomationClient.UIA_PatternIds.UIA_InvokePatternId)
        IP.Invoke
    
    End Sub

  15. #1575
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    Quote Originally Posted by yereverluvinuncleber View Post
    Agreeing with xiaoyiao, the handling of transparency is essential to be rid of the old, non-layered, entirely separate, square-control MS paradigm. Once you've used a graphical framework that handles transparency naturally, ie. transparency is the delineation of the control's border - then you realise the power of what you can create graphically. Multi-layered, natural looking, graphical controls. It is a release.

    New 'graphical' controls, with a property switch allowing click-through to underlying opaque controls. This is probably my one desire from TB over all others. You may not fully appreciate it but is a game changer for VB and would make TB a tool like no other. 64bit, graphical, transparency-handling with a compositing IDE with BASIC as its language. It would be a tool for everyone, from noobs/starters to professionals.
    I looked at some examples of the latest version and some of the controls are grotesque and completely transparent.
    In fact, transparency is just a property, can be used to copy the background window graphics method to achieve. I have written several source code, can achieve 100% transparent effect.
    It's just that there are conflicts when multiple controls overlap, and we can ignore these minor issues.
    Like some people developed VBCCR or what a set of controls (including buttons, table controls, etc.), if you can not achieve transparency, just say you can replace Microsoft's enterprise version of controls or add some UNICODE text function, but can not make people feel very beautiful effect.
    Name:  2347twinbasic-ide的按钮元素.jpg
Views: 444
Size:  64.9 KB

  16. #1576
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    Quote Originally Posted by yereverluvinuncleber View Post
    If, on the way VB6+TB/RB gains some future technologies, PROMISEs, multithreading and marshalling, transparent forms and controls, support for modern image formats, more than 256 controls per form, timer independence from forms, internal limitations removed by 64bitness, unicode file i/o, multiline tooltips &c&c - then I will be stimulated enough to move fully into TB/RB. For me though, what VB6 offers now is STILL very good, it just needs updating for it to shine.
    If you use all UI components such as cario or gtk, or directly use web elements as the UI, all button table controls are transparent, and the entire interface has only one handle.
    So in theory you can support hundreds of thousands of controls, just like a web page, no one ever said, our page uses 3000 elements and the page doesn't display or crashes, right?

  17. #1577
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: twinBASIC programming IDE - download and install

    Quote Originally Posted by Daniel Duta View Post
    Does anyone know if another GUI, a modern one, is planned in the future? At least one closer to the existing one in vb6.
    visual freebasic, winfbe,fbedit

    a new ide ,can make The fact that he can use his own IDE to build an IDE like VSCODE is enough to show that he can implement relatively large projects. But whether it is easy to use is a difficult problem. Mostly, he's more like VB6, VC++, or VB.NET

  18. #1578
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    VB6 source code can be used to achieve the service process. A DLL that is automatically loaded at startup and has SYSTEM permissions.
    It would make a lot of sense to make it into a sample code.
    Service procedures, standard DLL, COM DLL, ocx controls, EXE, web page before and after end integration, a variety of functions have, very convenient.

    In addition, VB6 can controls.add ("BUTTON"),new form1, and other ways to achieve dynamic creation of CONTROLS, control arrays, form copies. I wonder if TWINBASIC implements these features?

  19. #1579
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    Use.net control or VB6 form designer control properties, too long, if can add a search properties will be more convenient. Or you can put commonness first and automatically keep track of how many times an attribute is used.
    Such as label1 caption, text1. Text, webview. Navagrit
    For the control's calling methods, as well as events, it would be nice if you could also sort them by the most used.
    Visual freebasic, for example, now has 30-50 controls, ICONS too small to find, if the user can replace the control icon, change the order, remove the internal standard control never used.
    That would be more convenient.
    If you turn the web control into a button, text box and other controls instead, the generated EXE can be implemented with 127.0.0.1 or directly open MAIN.HTM. If you change the IP, you can run it on a LAN server, or on a Microsoft cloud server.

  20. #1580
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,253

    Re: TwinBasic

    Quote Originally Posted by xiaoyao View Post
    Use.net control or VB6 form designer control properties, too long, if can add ...
    Gawd ... please ...
    STOP SPAMMING THIS FORUM!

    Nearly everything you post is:
    - in barely decipherable english
    - in most cases totally unrelated to the given thread-topic
    - contains codesnippets of other developers, who you don't mention as authors in your reposts

    You come across as the guy who's "crashing the wedding" (by defecating on each table in his field of view).

    Olaf

  21. #1581
    Frenzied Member
    Join Date
    Feb 2015
    Posts
    1,054

    Re: TwinBASIC programming

    twinBASIC status update:

    twinBASIC Update: May 28, 2023

    Highlights include a new home for twinBASIC documentation (docs.twinbasic.com) and an update on twinBASIC's slant.co language ranking.

    https://nolongerset.com/twinbasic-update-may-28-2023/

  22. #1582
    Frenzied Member
    Join Date
    Feb 2015
    Posts
    1,054

    Re: twinBASIC programming IDE - download and install

    BETA 318 of the twinBASIC programming IDE is now available...

    Download from here... https://github.com/twinbasic/twinbasic/releases

    • Click on "Assets" for the latest release
    • Download and Extract the ZIP file into a local folder
    • Then run the twinBASIC.exe from that local folder



    How to install https://nolongerset.com/how-to-install-twinbasic/

  23. #1583
    Fanatic Member
    Join Date
    Jun 2019
    Posts
    558

    Re: TwinBasic

    VB6 Programming, please post only in dedicated thread about tB releases. And please post some real "update" information like the change log as all your posts can be considered pure spam with useless info.

  24. #1584
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    5,711

    Re: TwinBasic

    Quote Originally Posted by xiaoyao View Post
    vbsedit is also used to write 64-bit game scripts, which would be more convenient if twinbasic could put assembly code directly into it. It runs several times faster
    Well out of all that incoherent mess, I could at least find one thing I understood and definitely agree with

    tB can't rival truly surpass VB in power until it has some mechanism to insert ASM, preferably inline, but at least linked in functions. Of course you can execute thunks in memory just like VB6, so long as you're not relying on VB6 internals that aren't replicated.


    Since twinbasic must have the EDGE runtime installed first, the webview2 control should be displayed in the Controls toolbox by default, without requiring additional complex references to be added.
    You've misunderstood what the WebView2 runtime is. It allows you to create e.g. a Browser control, but MS does not provide one itself. It's also not really a complex reference; it's one box to check in the references list, TWINPACK PACKAGES->WebView2 Package. That adds the basic implementation Wayne made. You want inline assembly but balk at needing to add a reference?

  25. #1585
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    5,711

    Re: TwinBasic

    Quote Originally Posted by peterst View Post
    VB6 Programming, please post only in dedicated thread about tB releases. And please post some real "update" information like the change log as all your posts can be considered pure spam with useless info.
    Would be a good idea to include the changelog, but the rest is nonsense, I like the updates and links, keep up the good work VB6 Programming. But now that there's a separate thread, yes we don't need them posted to both.

  26. #1586
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    What I mean is that you can show a webview2 control like a text box, a button,make for basic control.
    After the software is installed, it automatically shows that no additional additions are needed.
    If the control is not referenced on the form, it does not bring in that entire webview folder.
    Because I started by adding various OCX datagrid controls. The WebBrowser control,

    The control cannot be displayed, and I need to close the IDe dep settings later.

  27. #1587
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    5,711

    Re: TwinBasic

    Quote Originally Posted by xiaoyao View Post
    What I mean is that you can show a webview2 control like a text box, a button,make for basic control.
    After the software is installed, it automatically shows that no additional additions are needed.
    If the control is not referenced on the form, it does not bring in that entire webview folder.
    Because I started by adding various OCX datagrid controls. The WebBrowser control,

    The control cannot be displayed, and I need to close the IDe dep settings later.
    This is not true. The "WebBrowser" control is an Internet Explorer based, ancient control, unrelated to WebView2. The WebView2 runtime contains no control.

    And how do you determine what 3rd party controls are in the list? Why WebView but not any of the hundreds of others?

  28. #1588
    Frenzied Member
    Join Date
    Feb 2015
    Posts
    1,054

    Re: TwinBasic

    Quote Originally Posted by peterst View Post
    VB6 Programming, please post only in dedicated thread about tB releases. And please post some real "update" information like the change log as all your posts can be considered pure spam with useless info.
    Quote Originally Posted by fafalone View Post
    Would be a good idea to include the changelog, but the rest is nonsense, I like the updates and links, keep up the good work VB6 Programming. But now that there's a separate thread, yes we don't need them posted to both.
    That's why I created the dedicated thread about tB releases https://www.vbforums.com/showthread....-Beta-releases

    Now that VBForums are considering a dedicated forum and codebank for twinBASIC it makes sense to have threads about each topic (the mods will migrate the twinBasic threads to the new forum if and when it is created).

    I'm sure users who have become accustomed to checking this thread for news of new twinBASIC releases will soon realise there is a new thread.
    Last edited by VB6 Programming; May 29th, 2023 at 06:29 AM.

  29. #1589
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    webview2,websocket(server and client),If some of the newer technologies are turned on Default Load, and it does not need complicated settings to use.This will make it easier to get started.

    I just did the test today, and one person told me that there are three examples about this webview2 control, and I only found two.
    I heard a long time ago that this might support Microsoft's edge browser.

    Okay, the hard part is I'm going to add those third-party grid controls. Other OCX controls. By default, it cannot be loaded, only to see that it is loaded successfully, but it does not appear in the toolbox.

    After a few more tries, he showed up again. Another control is missing. This grid control tells me that I need to turn off the dep option?

    In fact, I have never been malicious.It just points out some problems and some good suggestions.

    However, some methods are very difficult to implement.
    Maybe the developer of this software may think that I am ordering him that you must complete this function, but I really don't mean that.

    For example, we compile and generate a program in the form with a size of about 1000 kb.
    This shows that our program itself, which has a static library, can actually be treated as a runtime DLl. If it can be separated. Multiple self-developed programs all point to the same directory, or put it in the system directory. In this way, the main program actually developed may be only 200 KB. If 10 gadgets are developed, he can also share the same runtime.
    Last edited by xiaoyao; May 29th, 2023 at 07:05 AM.

  30. #1590
    Angel of Code Niya's Avatar
    Join Date
    Nov 2011
    Posts
    8,600

    Re: TwinBasic

    Quote Originally Posted by fafalone View Post
    tB can't rival truly surpass VB in power until it has some mechanism to insert ASM, preferably inline, but at least linked in functions.
    Great care must be taken with this because one of the stated goals of TwinBASIC is multiplatform targeting. Assuming this means to include targets like MAC and Android, hand-written assembly would reduce the portability of the code.

    You could end up with situations where people release libraries that contain platform specific assembly and all hell would break loose when they try to compile it for another platform.
    Treeview with NodeAdded/NodesRemoved events | BlinkLabel control | Calculate Permutations | Object Enums | ComboBox with centered items | .Net Internals article(not mine) | Wizard Control | Understanding Multi-Threading | Simple file compression | Demon Arena

    Copy/move files using Windows Shell | I'm not wanted

    C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter

    There's just no reason to use garbage like InputBox. - jmcilhinney

    The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber

  31. #1591
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    It seems that ambition is very powerful. It is possible to make development tools like b4a, b4I or swift.

    It's just that for most of us, it's great to be able to replace vB6.

    For many developers, what we need is a simple and small development tool like vscode.It's just that he doesn't do form design, and he has all kinds of debugging functions.
    VB. Net, vs 2020, these development tools are so huge that they may take up 50 ~ 100g of space on the hard disk after installation.

    If the original vs 2008, it can import VB6, the project is basically error-free, and then install the package as far as possible not more than 500 megabytes.And it can also be statically compiled like .net core. Generate a standalone exe, or put all the required files in a directory, which is only 50 to 100 megabytes.


    The most important thing is that if it doesn't involve the runtime of .net, it only needs to use basic functions like VC + +, and it may not compile more than 10 megabytes at most.

    Microsoft has continued VC + +, but the original VB6 is no longer available.The VB. Net is equivalent to Java and runs on a virtual machine.
    Last edited by xiaoyao; May 29th, 2023 at 09:17 AM.

  32. #1592
    Angel of Code Niya's Avatar
    Join Date
    Nov 2011
    Posts
    8,600

    Re: TwinBasic

    Quote Originally Posted by xiaoyao View Post
    The most important thing is that if it doesn't involve the runtime of .net, it only needs to use basic functions like VC + +, and it may not compile more than 10 megabytes at most.
    Last I checked, TwinBASIC requires no runtime. Not even VB6 works like this. It's closer to C/C++ than VB6 in that regard.

    Quote Originally Posted by xiaoyao View Post
    The VB. Net is equivalent to Java and runs on a virtual machine.
    Completely false. .Net applications run native code. Also, the latest versions of C# even allow you to write extremely fast allocation-free code, something only lower level languages like C/C++ and perhaps Rust can do.
    Treeview with NodeAdded/NodesRemoved events | BlinkLabel control | Calculate Permutations | Object Enums | ComboBox with centered items | .Net Internals article(not mine) | Wizard Control | Understanding Multi-Threading | Simple file compression | Demon Arena

    Copy/move files using Windows Shell | I'm not wanted

    C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter

    There's just no reason to use garbage like InputBox. - jmcilhinney

    The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber

  33. #1593
    PowerPoster PlausiblyDamp's Avatar
    Join Date
    Dec 2016
    Location
    Pontypool, Wales
    Posts
    2,474

    Re: TwinBasic

    Quote Originally Posted by fafalone View Post
    tB can't rival truly surpass VB in power until it has some mechanism to insert ASM, preferably inline, but at least linked in functions. Of course you can execute thunks in memory just like VB6, so long as you're not relying on VB6 internals that aren't replicated.
    As well as what Niya said in https://www.vbforums.com/showthread....=1#post5607201

    Also consider that there is a big difference between writing ASM code and writing optimised ASM code. Modern CPUs are very complex when you take into account things like caching, branch prediction, return address prediction, and that isn't taking into account the various SIMD instruction sets (SSE, AVX, AVX2, AVX-512 just on x64 alone).

    It would be much better having a compiler that can generate correct, optimised assembler instead; if the compiler / runtime / framework / whatever can also expose platform neutral wrappers over lower level functionality then you can get the best of both worlds.
    Last edited by PlausiblyDamp; May 29th, 2023 at 02:33 PM.

  34. #1594
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,253

    Re: TwinBasic

    Quote Originally Posted by PlausiblyDamp View Post
    It would be much better having a compiler that can generate correct, optimised assembler instead...
    +1

    And in case TBs/Waynes intention, to finally use LLVM for (optimized) code-generation at some point -
    will come to frution, then there's not much left over, what one could wish for in this regard -
    (translating higher-level language-instructions into highly optimized Assembly for different arch-backends).

    Olaf

  35. #1595
    Angel of Code Niya's Avatar
    Join Date
    Nov 2011
    Posts
    8,600

    Re: TwinBasic

    I'd also add that hand-written assembly is great for overcoming the limits of a language, runtime or compiler. However, given that TwinBASIC is in active development, it would be better to just ask Wayne to address these limits himself before resorting to hand-written assembly.

    VB6 hasn't been in active development for 20+ years so assembly is a such great fit for it. You can access things like real bit shifting, SIMD instructions or string instructions using assembly in VB6. Modern languages typically provide these things in one way or another than doesn't require hand-written assembly and it would usually be better than any thing we'd come up with ourselves anyway.
    Treeview with NodeAdded/NodesRemoved events | BlinkLabel control | Calculate Permutations | Object Enums | ComboBox with centered items | .Net Internals article(not mine) | Wizard Control | Understanding Multi-Threading | Simple file compression | Demon Arena

    Copy/move files using Windows Shell | I'm not wanted

    C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter

    There's just no reason to use garbage like InputBox. - jmcilhinney

    The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber

  36. #1596
    Angel of Code Niya's Avatar
    Join Date
    Nov 2011
    Posts
    8,600

    Re: TwinBasic

    All that being said, having the ability to embed assembly in your code will be a nice feature to have but restraints MUST be placed on it so people don't end up throwing assembly around all willy nilly and creating a nightmare for people trying to compile your code on other platforms.

    A good restriction might be to only allow it in DLL projects since DLLs are guaranteed to only run on Windows which itself only runs on x86 processors. You could also restrict the type of assembly allowed based on project type, for example only allowing ARM assembly for Android projects, assuming TwinBASIC will target Android one day.
    Last edited by Niya; May 29th, 2023 at 12:48 PM.
    Treeview with NodeAdded/NodesRemoved events | BlinkLabel control | Calculate Permutations | Object Enums | ComboBox with centered items | .Net Internals article(not mine) | Wizard Control | Understanding Multi-Threading | Simple file compression | Demon Arena

    Copy/move files using Windows Shell | I'm not wanted

    C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter

    There's just no reason to use garbage like InputBox. - jmcilhinney

    The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber

  37. #1597
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    5,711

    Re: TwinBasic

    There's already numerous aspect of tB that are Windows only... Iirc, Wayne has said the plan is to have a different project type with a restricted feature set. Beyond that it's up to the developers... Yes adding asm will limit cross platform use, but so would building a Windows exe. Adding a Windows API.

    Having asm supported means being able to throw a compiler error if you include x86 asm for a non-x86 exe. Ideally you'd be able to emit asm conditionally in each target platform.

    tB has already gotten rid of the need for a few asm hacks... But it can never cover 100% of the need, much less at the same speed potential.

    Asm would be even more rare than vb6, especially if we could get a few common uses like call by pointer and atomic operations, but to take away the ultimate power of vb6? Nah, we need it.

  38. #1598
    PowerPoster
    Join Date
    Jan 2020
    Posts
    3,749

    Re: TwinBasic

    SharpDevelop is an open source.NET IDE, developed in C , which supports C # development, VB. Net development, provides its own compiler, and other functions from the initial development to the present. What is more worth learning is that the core of SD is a plug-in management system, which does not implement any specific functions, but only reserves extended interfaces.

    In SD, there are physically three items, which are ICSharpCode. Core, ICSharpCode. SharpDevelop, and StartUp First, the ICSharpCode. Core is the basic plug-in management system of the system, which provides the plug-in structure, plug-in hooking, predefined interfaces, plug-in tree, and various services of the system. This part is called the Core of SD. The ICSharpCode. SharpDevelop is each function module of SharpDevelop, which is the realization of the specific functions of SD, as well as the interface commands, called the Base part of SD. StartUP is responsible for the startup part of SD, as well as resource files such as characters and images.

    It would be nice to be able to learn the way they frame things.

  39. #1599
    PowerPoster
    Join Date
    Jul 2010
    Location
    NYC
    Posts
    5,711

    Re: TwinBasic

    What's that have to do with tB?

    You need to cut back on the random off topic comments.

    再一次,请使用更好的翻译器。

  40. #1600
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,253

    Re: TwinBasic

    Quote Originally Posted by fafalone View Post
    tB has already gotten rid of the need for a few asm hacks...
    But it can never cover 100% of the need...
    Out of curiosity... could you give an example for such a "need"?

    Olaf

Page 40 of 46 FirstFirst ... 3037383940414243 ... LastLast

Posting Permissions

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



Click Here to Expand Forum to Full Width