BETA 34 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_34.zip
- improved: Sample 0 (WebView2) with a form demonstrating Virtual Folder Mapping and some javascript integration
Printable View
BETA 34 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_34.zip
- improved: Sample 0 (WebView2) with a form demonstrating Virtual Folder Mapping and some javascript integration
BETA 35 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_35.zip
- improved: performance of treeview panel rendering in the IDE [ https://github.com/WaynePhillipsEA/twinbasic/issues/833 ]
BETA 36 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_36.zip
- improved: Sample 0 (WebView2) with a form demonstrating how to integrate the Monaco editor into your application, and using 2 WebViews side-by-side
- fixed: adding an event from the form designer inserts into the wrong place if the form has no parameterless `Sub New` defined
- improved: for some wellknown filetypes, the IDE now provides syntax highlighting via the built-in monaco editor support (for javascript/typescript/html/css/json/xml/ini)
- fixed: (regression) execution of properties triggered from the locals/watches window should not allow errors to propagate to the IDE during debugging
- fixed: stepping through code that switches to another file could sometimes not bring the active line into view due to codeLens data not being ready
- fixed: codegen error for set-assignments on UDT array fields [ https://github.com/WaynePhillipsEA/twinbasic/issues/834 ]
BETA 37 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_37.zip
- fixed: using Implements with a class that has a Friend member caused compiler instability during editing [jpbro]
BETA 38 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_38.zip
- fixed: LoadRes* functions were broken in DLL builds
- fixed: generated ActiveX controls could not expose events to the host
- added: attribute [ EventInterfaceId("{GUID}") ] for controlling the generated source event interface GUID
- added: RaiseEventByName function in the VBA library (similar to CallByName)
- improved: WebView2 control now supports deferred events to circumvent the re-entrancy limitations of the WebView API
- added: Sample9. ActiveX Control WebView2 + Monaco
Mike Wolfe's Access DevCon 2022 Video Recording "twinBASIC Update"
https://www.youtube.com/watch?v=y4DRAcdH9tg
There are demos of
- [13:42] Installing the twinBASIC IDE
- [17:00] Creating a VBIDE tool window
- [23:24] Creating a COM add-in
- [29:04] Creating an ActiveX control
- [33:14] Importing a VB6 project (*.vbp file)
If you don't have time to watch the full 45-minute video, there are links to jump to the relevant section for each demo at https://nolongerset.com/devcon-2022-public-sessions/.
BETA 39 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_39.zip
- fixed: input focus problem when switching back to the tb IDE [ https://github.com/WaynePhillipsEA/twinbasic/issues/840 ]
- fixed: error description/source/etc would sometimes be lost when errors are propagated back from a standard module procedure [ https://github.com/WaynePhillipsEA/t...ent-1126863981 ]
- fixed: method descriptions appearing as numbers in generated type libraries [ https://github.com/WaynePhillipsEA/twinbasic/issues/822 ]
- fixed: friend members leaking into implemented classes when using Implements-Via [ https://github.com/WaynePhillipsEA/twinbasic/issues/843 ]
BETA 40 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_40.zip
- fixed: statements entered between an opening `Select Case` and before the first `Case` statement are now not allowed [ https://github.com/WaynePhillipsEA/twinbasic/issues/844 ]
- added: Global.LoadResIdList(resourceType) function, returning an array of names/ids contained within a resource folder, see examples in WebView2 samples (CopyResourcesFolderContentsToLocalPath function)
- added: Screen object, currently only offering Fonts, and FontCount member
- fixed: IDE menu clicks vs mousedown/up behaviour [ https://github.com/WaynePhillipsEA/t...ent-1127692147 ]
Does that include comments? Or only executable lines (which makes sense)?Quote:
fixed: statements entered between an opening `Select Case` and before the first `Case` statement are now not allowed
-tg
twinBASIC status update:
twinBASIC update May 15, 2022
Highlights include a modern browser control for Microsoft Access (yes, you read that right) and a spirited discussion regarding attribute syntax.
As I don't use Basic at all, I don't have any skin in this game. However IMO design by committee (or voting) is not good. Look no further than what happened to Fortran from v77 to v90 (and some of the C++ decisions)! IMO it's preferable to have a 'controlling mind' in charge of a development that considers all proposals but ultimately makes decisions.
Yeah, in this case, Wayne takes input from people, but ultimately he gets to decide if something goes in or not, and if so, how. But, it is good to get some input from others based on how they might use it.
-tg
Thanks for the feedback guys, much appreciated.
BETA 41 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_41.zip
- fixed: Date$ and Time$ now return the correct invariant formats (MM-DD-YYYY and HH:NN:SS) [ https://github.com/WaynePhillipsEA/twinbasic/issues/846 ]
- fixed: trying to cast an ActiveX control from the host container Object to the real type was failing [ https://github.com/WaynePhillipsEA/twinbasic/issues/848 ]
- fixed: ActiveX controls were exposing all internal members, e.g. the inner controls and inherited UserControl members [ https://github.com/WaynePhillipsEA/twinbasic/issues/849 ]
- fixed: the Save Project dialog now warns if you are about to overwrite an existing project file [ https://github.com/WaynePhillipsEA/twinbasic/issues/850 ]
- fixed: ReDim-Variant[ByRef] bug causing illegal SAFEARRAY initialization [ https://github.com/WaynePhillipsEA/twinbasic/issues/851 ]
- improved: IDE recent projects list was cached at startup rather than being live
- improved: panel collapse toggling now requires clicking on the expand/collapse icon, not the whole title bar [ https://github.com/WaynePhillipsEA/t...ent-1130004050 ]
BETA 42 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_42.zip
- fixed: passing an object-type array element to a ByRef parameter with an inexact matching type, caused an array lock to be left open [ https://github.com/WaynePhillipsEA/twinbasic/issues/855 ]
- top-level menu disappears when moving back to the top-level menu header [ https://github.com/WaynePhillipsEA/t...ent-1130158068 ]
@Wayne, this is first time I want to download the TwinBasic BETA.
I got this warning from the corporate virus scanner:
Quote:
The transferred file contained a virus and was therefore blocked.
URL: https://twinbasic.com/downloads/twin...DE_BETA_42.zip
Media Type: application/executable
Virus Name: Artemis
Full Filename: twinBASIC_IDE_BETA_42.zip|twinBASIC.exe
@Arnoutdv, thanks for taking a look.
Unfortunately as we release so frequently, the files are often flagged as suspicious by anti-virus vendors since they are considered new/unseen. I can assure you there's no virus or malware, but of course I appreciate that you might not have the ability to override your anti-virus in a corporate setting.
@Wayne, I'm 100% sure that indeed there is no virus in the ZIP/Executable. But as you already mentioned I can't proceed because of company policies. So I'll have to wait until a release which doesn't raise a false positive
This is exactly why I stopped installing anti-Virus software on my PC years ago. It's Windows Defender and no more.
BETA 43 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_43.zip
- fixed: Rnd() initial seed was not being set in built EXE/DLL files [ https://github.com/WaynePhillipsEA/twinbasic/issues/856 ]
- improved: global variables code-gen errors are to be ignored until the global variables get initialized [ https://github.com/WaynePhillipsEA/twinbasic/issues/852 ]
- fixed: global initializers/terminators not being executed in DLL builds [ jpbro ]
BETA 44 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_44.zip
- fixed: For-Each handling of variant arrays that don't have the VARTYPE explicitly set on the SAFEARRAY [ https://github.com/WaynePhillipsEA/twinbasic/issues/860 ]
- fixed: Byref-Variant assignments involving arrays [ https://github.com/WaynePhillipsEA/twinbasic/issues/859 ]
BETA 45 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_45.zip
- fixed: setting breakpoints is now more reliable
- fixed: Set-statement with LHS of byref-Variant pointing to an empty Variant was failing [ https://github.com/WaynePhillipsEA/t...ent-1132630645 ]
- fixed: internal IUnknown methods of __QueryInterface/__AddRef/__Release etc sometimes showing in intellisense
- fixed: intellisense not showing base members of extended interfaces [ https://github.com/WaynePhillipsEA/t...ent-1122563243 ]
- fixed: code editor combo drop-down selecters now work correctly with extended interfaces [ https://github.com/WaynePhillipsEA/t...ent-1122563243 ]
Two updates in 5 hours ... you're a beast Wayne ...
Have you thought about going to a single release per day? I can't keep up...
-tg
We use Ci/CD here, but only to our development branch/environs ... releasing to test and users is still on a daily/weekly schedule....
-tg
For anyone else like me who did not understand the acronym, this is from wikipedia:
In software engineering, CI/CD or CICD is the combined practices of continuous integration (CI) and (more often) continuous delivery or (less often) continuous deployment (CD).
> Have you thought about going to a single release per day? I can't keep up...
You don't need to install them all :-) Usually, I do aim for one release per day, but sometimes I'll release ad-hoc if I've got a fix for a particular issue that someone is waiting on.
BETA 46 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_46.zip
- fixed: a form class being declared as Private causes linkage errors (runtime messages of 9508/9402) [ https://github.com/WaynePhillipsEA/twinbasic/issues/864 ]
- fixed: panels in the bottom vertical section shouldn't have collapse/expand toggle icons [ https://github.com/WaynePhillipsEA/t...ent-1133589694 ]
- improved: you can now click on empty space in a tree panel to focus the tree, allowing for keyboard entry
- fixed: intellisense issue where the enter key would not clear the intellisense window at the end of a line following a space and no selection
twinBASIC status update:
twinBASIC update May 22, 2022
Highlights include the beginnings of a Screen object, an updated Attribute syntax, and a reimagined ending to a Disney classic (yes, it's a bit off-topic).
BETA 47 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_47.zip
- fixed: static variables inside class modules being treated as if inside standard modules [ https://github.com/WaynePhillipsEA/twinbasic/issues/866 ]
- fixed: tooltips misplaced [ https://github.com/WaynePhillipsEA/twinbasic/issues/863 ]
- fixed: SaveProjectAs should save the open editors [ https://github.com/WaynePhillipsEA/twinbasic/issues/865 ]
- improved: IDE is now built using the current released version of the WebView2 tB control
- improved: IDE now detects WebView2 Runtime installation problems and prompts to install it if necessary
- improved: WebView2 samples now specifically demonstrate how to detect when WebView2 Runtime is not installed
- fixed: clean-build command won't create the output folder if it doesn't already exist [ https://github.com/WaynePhillipsEA/twinbasic/issues/868 ]
BETA 48 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_48.zip
- added: Screen.Width / Screen.Height (back-compat, primary screen only)
- added: Screen.TwipsPerPixelX/Y (non-rounded, floating point value)
- added: Screen.ActiveForm (thread aware)
- added: Screen.ActiveControl (thread aware)
- added: Screen.MousePointer (thread aware)
- added: project setting 'project.versionComments' (and auto import from VBP)
- added: project setting 'project.versionCompanyName' (and auto import from VBP)
- added: project setting 'project.versionFileDescription' (and auto import from VBP)
- added: project setting 'project.versionLegalCopyright' (and auto import from VBP)
- added: project setting 'project.versionLegalTrademarks' (and auto import from VBP)
- added: project setting 'project.versionProductName' (and auto import from VBP)
- added: App.Comments
- added: App.CompanyName
- added: App.FileDescription
- added: App.LegalCopyright
- added: App.LegalTrademarks
- added: App.ProductName
BETA 49 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_49.zip
- fixed: corrected the VERSIONINFO Build/Revision ordering [ https://github.com/WaynePhillipsEA/t...ent-1136307113 ]
- added: project setting 'project.versionAutoIncrement' (None|Revision|Build|Minor|Major, and auto import from VBP)
- added: buildPath/exportPath placeholders: ${VersionMajor}, ${VersionMinor}, ${VersionBuild}, ${VersionRevision}
- removed: RunAfterBuild project setting
- added: RunAfterBuild module procedure attribute, allowing for triggering procedure execution after successful build [ https://github.com/WaynePhillipsEA/twinbasic/issues/873 ]
- improved: runtime unhandled errors in generated EXEs/DLLs now provide the error number and description as per VBx [ https://github.com/WaynePhillipsEA/t...ent-1136997222 ]
- added: project setting 'Debugger: Runtime Command Line Arguments' [ https://github.com/WaynePhillipsEA/twinbasic/issues/877 ]
- fixed: DoEvents now returns the number of open forms [ https://github.com/WaynePhillipsEA/twinbasic/issues/876 ]
- fixed: regression with form control z-order not being reflected in the runtime form creation [ https://github.com/WaynePhillipsEA/t...ent-1137128648 ]
BETA 50 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_50.zip
- improved: reordered the Revision/Build project settings to better match the VERSIONINFO output [ https://github.com/WaynePhillipsEA/t...ent-1137174044 ]
- fixed: TypeName / IUnknown-extended interfaces issue [ https://github.com/WaynePhillipsEA/twinbasic/issues/872 ]
- fixed: Form.Load event firing before the form constructor [ https://github.com/WaynePhillipsEA/twinbasic/issues/799 ]
- added: App.PrevInstance property
twinBASIC status update:
twinBASIC update May 29, 2022
Highlights include new build features, a good Exit Code discussion, and a multi-threaded twinBASIC proof of concept from Ben Clothier.
twinBASIC status update:
twinBASIC update June 5, 2022
Includes a sneak peek of the upcoming ActiveX Control Extender support in twinBASIC.
BETA 51 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_51.zip
- added: experimental support for consuming ActiveX controls in twinBASIC forms
- improved: WinNativeForms control Top/Left/Width/Height are now settable at runtime and are kept in sync with anchoring and docking
- added: WinNativeForms control Move() method
- improved: Implements-Via now supports type library based coclasses
- improved: Implements-Via can now forward events by using `Implements WithEvents ...` syntax
- improved: using Generic classes from referenced packages is now possible
- improved: IsDesignMode property now moved to the SerializationInfo object so that the property is available earlier (needed for Ax)
- improved: ContainerHWND property now moved to the SerializationInfo object so that the property is available earlier (needed for Ax)
- fixed: TabStop control property-getter had inversed logic
BETA 52 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_52.zip
- fixed: Implements-Via feature was not always correctly proxying procedures in dispinterfaces [https://github.com/WaynePhillipsEA/t...nt-1152507161]
- fixed: Implements-WithEvents-Via feature now allows for coclasses that do not expose any events, allowing for easier use in generics
- fixed: 'Client Site is unavailable' message box from some VB6 ActiveX controls during window destruction
- improved: window destruction sequence to try to avoid runtime errors of 9402/9403
Wayne you are a great baker, your dough goes very fast in the oven.
Yes, you set up a pretty obvious pun. I'm not one to pass up such an opportunity. In fact, there were several possible replies that I considered. I liked that particular pun the best, though.
twinBASIC status update:
twinBASIC update June 12, 2022
Highlights include ActiveX control support on twinBASIC forms and a discussion about the (accidental?) interface constructor language feature.
Mine was just a rye comment, I didn't expect bread puns to flour.
Please stop these bread jokes, they are offensive to me. My father was electrocuted in a bakery.
He trod on a bun and a currant shot up his leg.
Oh dough. That must have been hair raisin, a loaf changing experience. I guess you're not bready for these kneading-edge puns yet.
I'm getting a cob on from these crusty jokes. Turnover it.
Bread puns never grow mould.
Come on... use your loaf, please stop.
Put it to bread now lads and get brack to work
I'm on a roll
These bread puns will soon all be toast.
Well then, I realize that they are putting a lot of yeast, there is a book that says to be careful with the yeast, because it can take all the dough.
Edit: Forget what I wrote...
Bread puns happen when you yeast expect them.
puns????
The translator googles me plus I don't understand the right words for what they really mean when used figuratively... be more explicit
A 'pun' is a joke where a word can have more than one meaning, or where a word sounds (a bit) like a different word.
'Yeast' is what makes bread rise (you may call it levedura or fermento?).
And it sounds like 'least'.
So "Bread puns happen when you yeast expect them" is a jokey way of saying "Bread jokes happen when you least expect them"
Or "These bread puns will soon all be toast." Toast is bread that is has been grilled, often when it is getting old (you may call it torrada or brindar?), but it also means (in slang) 'doomed' or 'in trouble'. So it means "These bread jokes will soon all be doomed".
And "Are you just trying to get a rise out of him?" plays on two meanings of the word 'rise' - it can mean to get an angry reaction out of someone, but it also means dough 'rising' to twice its size.
'half-baked', 'knead' (need), 'rye' (wry), 'flour' (flower), 'loaf', 'roll' and other words are baking terms that can have other meanings or sound like other words.
You guys knead help. BETA 53 is now available:
https://www.twinbasic.com/downloads/...DE_BETA_53.zip
- fixed: IStream::Stat implementation, causing crash in using some ActiveX controls
- fixed: support for CODEJOCK Xtreme ActiveX controls
- fixed: LBound/UBound not working if the value passed in is a Byref-Variant param [ https://github.com/WaynePhillipsEA/twinbasic/issues/887 ]
- improved: monaco error widget now auto-wraps long error descriptions [ https://github.com/WaynePhillipsEA/twinbasic/issues/885 ]
- improved: further improvements to Implements-Via support