-
Mar 14th, 2023, 03:30 AM
#1401
Re: TwinBasic
Seems like questions better addressed to Wayne. But the point of tB isn't making a version of VB.NET (thankfully). I like the square brackets better personally. < > isn't used for *anything* in VB6 (besides greater than/less than, obviously), while there's at least a little square bracket use; to denote optional params in the object browser and info popups, and to wrap names starting with underscores, or defining a blank enum.
Any new feature is going to add to the complexity of the language; but the attribute names are very descriptive so it's not like tB is moving away from BASIC principles toward cryptic, unreadable syntax like some other languages. I don't think limiting tB to *only* the feature set of a language not updated besides the minor VBA7 changes since 1998 would have been desirable; any hope for a future of the language has to allow for modern language features, and how many millions of man-years have we all collectively spent working around VBx's limits? You don't *need* to use any of the newer, more complex stuff; you can always stick to just what was available in VBx... but despite the added complexity I'm certainly excited about all the new stuff.
-
Mar 14th, 2023, 05:23 AM
#1402
Re: TwinBASIC programming
 Originally Posted by fafalone
So I wrote this for a post in a random thread in the VB6 forum, but thought I should add it here.
The WWW site for tB only lists a few of the new features, and there's no centralized list available yet. So I made a list of all the new features I could recall right now. These are all available *right now*...
- LongPtr data type (4 bytes on 32bit, 8 on 64bit)
- LongLong data type, available in both 32bit and 64bit (VBA LongLong is only available in 64bit Office)
- True Decimal data type instead of just inside a Variant
- Define interfaces and coclasses in language
- Implements allowed on inherited interfaces-- e.g. you can just implement IShellFolder2, and provide all the methods for IShellFolder, and tB will automatically respond to QI for IShellFolder *and* IShellFolder2.
- If you have an interface multiple others extend from, you can write multiple implementations, or specify one implementation for all: e.g. IOleWindow_GetWindow() As LongPtr Implements IOleWindow.GetWindow, IShellBrowser.GetWindow, IShellView2.GetWindow
- Implements allowed on interfaces with 'As Any' parameters-- you can substitute LongPtr.
- Implements Via to extend classes
- vbNullPtr allows passing null pointers to UDT members of APIs/interfaces (in VB6 you'd have to declare them As Any and then could pass ByVal 0)
- Short-circuit conditional operators OrElse and AndAlso
- Support for modern image formats
- Transparency on forms
- Bitshift operators << and >>
- New assignment operators: += -= /= *= ^= &= <<= >>=
- Thread safety/multithreading support-- no native language syntax yet (planned), but you can call CreateThread directly with no hacks
- Ability to define custom packing for UDTs with [ PackingAlignment(n) ] attribute
- AddressOf can be used on class/form/UC members, including from outside the class by specifying the instance. Also, no need for FARPROC-type functions, you can use it like Ptr = AddressOf Func
- Overloading, both with type of argument and number of arguments
- Generics
- DeclareWide to disable Unicode-ANSI conversion on API declares
- CDecl support for API calls (though The trick has a patch for VB6 that adds this)
- Continue For, Continue While, Continue Do, Exit While
- Return syntax for functions
- Err.LastHResult and Err.ReturnHResult to get/set COM interface hresults
- Parameterized class constructors
- [ Description("text") ] attribute for APIs, UDTs , and Consts that are shown in popups when you hover over uses of them
- Multiple modules/classes per-file
- Built in support for making standard DLLs with simple [ DllExport ] attribute
- Built in support for making kernel-mode drivers
- Built in support for overriding entry point
- Option to put all API declares in the import table rather than runtime calls like VB6 (VB6 puts TLB-declared APIs in the import table).
- Built in support to mark projects DEP-aware and LARGEADDRESSAWARE
- [ RunAfterBuild ] attribute-- you can specify a function that runs after your exe is built (there's App.LastBuildPath to know where it is if you're e.g. signing the exe)
- Register ActiveX builds to HKEY_LOCAL_MACHINE option
- Private/Public modifiers for modules and classes
- All tB-implemented controls support Unicode
- Unicode support in code editor
- Detects stale/dangling pointers for strings, replacing them with warning symbols
- Warnings for likely-incorrect hex literals &H8000-&HFFFF and &H80000000-&HFFFFFFFF
- tB-implemented controls all support x64 and are all dpi aware (Currently available ones: CommandButton, TextBox, ComboBox, CheckBox, OptionButton, Label, Frame, PictureBox, Line, Shape, VScrollBar, HScrollBar, Timer, DriveListBox, DirListBox, FileListBox, Image, TreeView, ProgressBar, DTPicker, MonthView, Slider, and UpDown. The Microsoft-provided OCXs for others will work but the x64 version of MSComCtl.ocx doesn't come with Windows and isn't legally redistributable-- but if you have Office 64bit, it works in tB).
- Form.DpiScaleX/Y properties
- Per-procedure [ IntegerOverflowChecks(False) ], [ FloatingPointErrorChecks(False) ] and [ ArrayBoundsChecks(False) ] attributes to disable those checks on performance-critical routines while leaving them generally in place.
- Constant function folding: You can specify a [ ConstantFoldable ] attribute for functions where when called with non-variable input, will be computed at compile time, rather than runtime. For example, a function to converted string literals to ANSI. The result would never change, so the resulting ANSI string is stored, rather than recomputing every run.
- Removal of limits on line continuations, procedure size, etc.
- Handles and Implements procedure syntax so you can use different names if you wish, for instance instead of Form_Load you can have Sub AppStart() Handles Form.Load
- IsNot operator
- CurrentComponentName and CurrentProcedureName variables
And I guarantee I'm missing some. There's a whole bunch more planned, including unsigned types, aliases defined in language, inheritance, etc.
So there's *already* a lot of compelling reasons to use tB over VB6.
That's a really impressive list. The progress Wayne has made on twinBASIC is amazing.
-
Mar 14th, 2023, 05:26 AM
#1403
Re: twinBASIC programming IDE - download and install
BETA 272 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/
-
Mar 14th, 2023, 12:29 PM
#1404
Re: twinBASIC programming IDE - download and install
BETA 273 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/
-
Mar 14th, 2023, 04:17 PM
#1405
Re: TwinBASIC programming
twinBASIC status update:
twinBASIC Update: March 12, 2023
Highlights include IDE bookmarks, improvements to the debugging experience, and a sampling of how twinBASIC is being used today.
twinBASIC Update: March 12, 2023 (nolongerset.com)
-
Mar 15th, 2023, 02:13 AM
#1406
Re: twinBASIC programming IDE - download and install
BETA 274 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/
-
Mar 15th, 2023, 05:36 AM
#1407
Re: twinBASIC programming IDE - download and install
BETA 275 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/
-
Mar 15th, 2023, 06:31 AM
#1408
Re: TwinBasic
Damn, doesn't Wayne ever sleep? How does he keep this up! The guy is a machine. Every few hours there's a new beta version.
-
Mar 15th, 2023, 02:58 PM
#1409
Re: TwinBasic
 Originally Posted by Niya
Damn, doesn't Wayne ever sleep?
Leave him with insomnia
-
Mar 16th, 2023, 03:56 AM
#1410
Re: twinBASIC programming IDE - download and install
BETA 276 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/
-
Mar 16th, 2023, 12:21 PM
#1411
Re: twinBASIC programming IDE - download and install
BETA 277 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/
-
Mar 19th, 2023, 05:52 AM
#1412
Re: twinBASIC programming IDE - download and install
BETA 278 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/
-
Mar 20th, 2023, 03:51 AM
#1413
Re: TwinBASIC programming
twinBASIC status update:
twinBASIC Update: March 19, 2023
Highlights include a compilation of 60 of twinBASIC's existing improvements over VB6, mouse scroll events, a Last Position feature, and other IDE improvements.
https://nolongerset.com/twinbasic-update-march-19-2023/
-
Mar 20th, 2023, 04:06 AM
#1414
Re: twinBASIC programming IDE - download and install
BETA 279 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/
-
Mar 22nd, 2023, 07:22 AM
#1415
Re: twinBASIC programming IDE - download and install
BETA 280 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/
-
Mar 22nd, 2023, 09:11 AM
#1416
Frenzied Member
Re: TwinBasic
I'd like to know how twinBasic's handling of Variant types differs from VB6, or rather, what improvements there are. Thanks.
-
Mar 22nd, 2023, 10:24 AM
#1417
Re: TwinBasic
They seem to behave identical; I haven't seen any outstanding bug reports nor have I run into issues, including code in my ucShellBrowse that handles Variants with unsupported types.
If you've got ideas for improvements, I'm sure Wayne would be open to suggestions, but I'm not sure what more there is to do with them other than eventually make sure they work with new data types in the future (there's plans for unsigned types, for example).
-
Mar 23rd, 2023, 10:38 PM
#1418
Frenzied Member
Re: TwinBasic
 Originally Posted by fafalone
They seem to behave identical; I haven't seen any outstanding bug reports nor have I run into issues, including code in my ucShellBrowse that handles Variants with unsupported types.
If you've got ideas for improvements, I'm sure Wayne would be open to suggestions, but I'm not sure what more there is to do with them other than eventually make sure they work with new data types in the future (there's plans for unsigned types, for example).
In a few months, I'll compile my project with twinBasic. Once the compilation tests are complete, I'll make some suggestions to Wayne.
-
Mar 24th, 2023, 10:51 AM
#1419
Re: TwinBasic
The last time there was a time gap in updates, there was a very significant update released. I'm getting that vibe now, and it is exciting.
-
Mar 24th, 2023, 07:28 PM
#1420
Re: twinBASIC programming IDE - download and install
BETA 281 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/
-
Mar 26th, 2023, 05:44 PM
#1421
Re: TwinBASIC programming
twinBASIC status update:
twinBASIC Update: March 26, 2023
Highlights include a New Project settings dialog and a screenshot of a sample twinBASIC project showing its existing capabilities.
https://nolongerset.com/twinbasic-update-march-26-2023/
-
Mar 27th, 2023, 10:26 AM
#1422
Re: twinBASIC programming IDE - download and install
BETA 282 of the twinBASIC programming IDE is now available...
WinNativeCommonCtls.ListView control added (EXPERIMENTAL/INCOMPLETE)
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/
-
Mar 28th, 2023, 09:10 AM
#1423
Re: twinBASIC programming IDE - download and install
BETA 283 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/
-
Mar 28th, 2023, 09:14 PM
#1424
Re: twinBASIC programming IDE - download and install
BETA 284 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/
-
Mar 31st, 2023, 03:30 AM
#1425
Re: twinBASIC programming IDE - download and install
BETA 285 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/
-
Apr 2nd, 2023, 05:15 AM
#1426
Re: twinBASIC programming IDE - download and install
BETA 286 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/
-
Apr 3rd, 2023, 05:21 AM
#1427
Re: TwinBASIC programming
twinBASIC status update:
twinBASIC Update: April 2, 2023
Highlights include an experimental ListView control, read-only JSON view for tbform and tbcontrol files, and a mention of twinBASIC in The Register.
https://nolongerset.com/twinbasic-update-april-2-2023/
-
Apr 3rd, 2023, 05:24 AM
#1428
Re: twinBASIC programming IDE - download and install
BETA 287 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/
-
Apr 4th, 2023, 04:50 AM
#1429
Re: twinBASIC programming IDE - download and install
BETA 288 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/
-
Apr 5th, 2023, 08:15 AM
#1430
Re: twinBASIC programming IDE - download and install
BETA 289 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/
-
Apr 5th, 2023, 09:40 AM
#1431
Re: twinBASIC programming IDE - download and install
BETA 290 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/
-
Apr 6th, 2023, 04:38 AM
#1432
Re: twinBASIC programming IDE - download and install
BETA 291 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/
-
Apr 6th, 2023, 07:43 AM
#1433
Re: twinBASIC programming IDE - download and install
BETA 292 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/
-
Apr 11th, 2023, 03:31 AM
#1434
Re: TwinBASIC programming
twinBASIC status update:
twinBASIC Update: April 10, 2023
Highlights include the addition of SendKeys support, CDecl support for certain types of API callbacks, and a vigorous discussion about possible tB namespace support.
https://nolongerset.com/twinbasic-update-april-10-2023/
-
Apr 12th, 2023, 07:46 AM
#1435
Re: twinBASIC programming IDE - download and install
BETA 293 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/
-
Apr 13th, 2023, 08:04 AM
#1436
Re: twinBASIC programming IDE - download and install
BETA 294 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/
-
Apr 14th, 2023, 07:51 AM
#1437
Re: twinBASIC programming IDE - download and install
BETA 295 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/
-
Apr 15th, 2023, 06:00 AM
#1438
Re: twinBASIC programming IDE - download and install
BETA 296 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/
-
Apr 16th, 2023, 05:10 AM
#1439
Re: twinBASIC programming IDE - download and install
BETA 297 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/
-
Apr 17th, 2023, 06:39 AM
#1440
Re: TwinBASIC programming
twinBASIC status update:
twinBASIC Update: April 16, 2023
Highlights include a steady dose of bug fixes and and a brief recap of twinBASIC's standing in slant.co's list of "best BASIC-like programming languages."
https://nolongerset.com/twinbasic-update-april-16-2023/
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
|