WinWrap® Basic Version 10.52 Enhancements (since v9.30)
- Language (all)
- Allow module/class/enum/type/const identifier use before definition.
- Added conditional script code.
- Added data blocks.
- Added Project blocks.
- Added Class blocks.
- Added Module blocks.
- Allow multiple Class and Module blocks in one file.
- Allow identifiers to begin with '_'.
- Added &B numeric constants and '_' in numeric constants.
- Added CallersSymbol function.
- Added GetModuleInstance function.
- Added ParseJson function.
- '#EditingCert special comment. (Script editing protection.)
- '#EncryptingCert special comment. (Script encryption.)
- '#ViewingCert special comment. (Script viewing protection.)
- Erase and ReDim can now operate on a property. A property that
implements Get, Let and/or Set for an array can be used in an Erase or ReDim statement.
- Language (old)
- Language (WWB-COM)
- Language (WWB.NET)
- Added WWB.NET/5+ language.
- Added extension method support.
- Added implied line continuation.
- Added Await function/instruction.
- Added CDynamic function.
- Added automatic property declarations.
- Added support for accessing members of a dynamic object (IDynamicMetaObjectProvider).
- Allow generic types based on WWB.NET classes.
- Explicit generic method calls.
- Early binding to .NET members with parse time validation.
- Automatically queue events from a different thread to the script's thread.
- Allow expression . method where expression is a constant or parenthetical expression.
- Improved handling of Date and System.TimeSpan values.
- Automatically include System.dll reference.
- Imports projectname allowed.
- Imports statements allowed in project. Applies to all project members.
- Handles for a non-existent event/handler causes a syntax error.
- Nothing propagation.
- String interpolation $"...".
- The expression "New Object" is allowed.
- The type T? is the same as System.Nullable(Of T).
- Nested types from referenced assemblies are supported.
- Implements supported for .NET interfaces.
- Language (WWB.NET/Compiled)
- New language (VB.NET compiler).
- IDE
- High DPI support.
- Simple syntax highlighting.
- Symbol highlighting.
- Edit multiple languages including right-to-left scripts.
- Project editing/debugging.
- Multi-sheet mode allows more than nine sheets.
- Sheet tabs are now names (or numbers) and can be resized by a vertical split.
- Rapid autocompletion.
- HTML clipboard.
- Ctrl+MouseWheel zooms the font.
- Auto completion and auto parameter font scaled with main font size.
- Moving a split past the lower threshold returns the split to
"dynamic" mode. A dynamic split moves according to the
window's size or contents.
- Immediate, Stack, Watch and Loaded window tabs are now on the left side of the debug area instead of the top.
- Show parameter info for all overloaded methods.
- Auto completion of AddressOf now includes +method for inserting an empty prototype.
- Auto completion of generic type names improved.
- Added line number bar.
- Added change bar.
- Added outlining bar.
- Added File | New Project submenu.
- Added File | Import... menu item.
- Added Edit | Comment/Uncomment menu items.
- Added Edit | Go To menu item.
- Added View | Line Numbers menu item.
- Added View | Outlining submenu.
- Added Macro | Check Syntax menu item.
- Added Sheet | Expand and Collapse menu items.
- Added Sheet | Next and Previous menu items.
- Removed Sheet | 1..9 menu items.
- Ctrl-A is now the hotkey for Edit | Select All.
- Ctrl-H is now the hotkey for Edit | Replace.
- .NET Control/Object
- WPF Control/Object
- Same interface as .NET Control/Object, except for AttachToWindow replaces AttachToForm.
- BasicThread objects omitted.
- Azure Websites Object
- Same interface as .NET Object, except no AttachToWindow method.
- BasicThread objects omitted.
- COM Control/Object
- Added DefaultProjectName property.
- Added EditOnly property.
- Added EvaluateVariant property.
- Added LineNumbers property.
- Added Outlining property.
- Added ProjectMode property.
- Added ProjectSheetCount property.
- Added ProjectWidth property.
- Added SortSheets property.
- Added SynchronizedEdit property.
- Added VirtualFileSystem property.
- Added IndexFromPoint method.
- Added SymbolInfo method.
- Added DarkMode feature.
- Added HideProjects feature.
- Added IVirtualFileSysem interface.
- Added FileNewMacro command.
- Added FileNewExecutableProject, FileNewLibraryProject and FileNewCompiledLibraryProject commands.
- Added FileImport command.
- Added EditGoTo command.
- Added ViewLineNumbers command.
- Added ViewOutlining, ViewOutliningToggle, ViewOutliningExpandAll and ViewOutliningCollapseAll commands.
- Added MacroCheckSyntax command.
- Added SheetExpand and SheetCollapse commands.
- Added SheetNext and SheetPrevious commands.
- Removed Sheet1..Sheet9 commands.
- Added CompleteReferenceProject and CompleteLoadModule commands.
- COM: IBasicNoUI and IBasicIde dual interfaces. IBasicIde is derived
from IBasicNoUI. BasicNoUIObj and BasicNoUICtl are derived from
IBasicNoUI while BasicIdeObj and BasicIdeCtl are derived from IBasicIde.
- Secret property
for BasicIdeCtl, BasicIdeObj, BasicNoUICtl and
BasicNoUIObj to support certificates.
- Removed SerialNumber parameter from Initialize method.
WinWrap® Basic Version 9.30 Enhancements
- Language (all)
- Language (old)
- Language (WWB-COM)
- '#Language "WWB-COM" special comment for enhanced VBA compatibility
- AndAlso,
IsNot and OrElse operators
- Decimal,
SByte, UInteger,
ULong and UHuge_ data types
- CSByte,
CUInt, CULong
and CUHuge_ conversion functions
- Literal number type suffixes: D, F, H, R, I, L, UH, UI and UL
- Return instruction.
- Language (WWB.NET)
- '#Language "WWB.NET" special comment for VB.NET compatibility
- #References comment with a fully qualified .NET assembly name
- VB.NET expression evaluation rules
- Integer-32 bits, Long-64 bits
- Boxing of values in Object variables
- AddHandler and
RemoveHandler instructions
- AndAlso,
IsNot and OrElse operators
- Char, Decimal,
SByte, Short,
UInteger,
ULong and
UShort data types
- CChar, CObj,
CSByte, CShort,
CType, CUInt, CULong,
CUShort, DirectCast
and TryCast conversion functions
- ErrorToString function
- Generic type usage (not definition)
- GetChar function
- GetType operator
- Handles event specifier
- Imports statement
- InputString function
- IsDBNull,
IsNothing
and IsReference information functions
- LSet and RSet functions
- New expression with parameters (usage, not definition)
- New expression with array initializer
- Rename instruction
- Return instruction
- StrDup function
- SystemTypeName
and VbTypeName function
- Throw instruction
- Try/Catch/Finally/End Try block
- Using/End Using block
- Using enum elements require the enum type specifier
- Dim/Static initializers
- Sub/Function/Property parameters default to ByVal
- Property Get and Set block style definition
- Structure definition (limited)
- Literal number type suffixes: D, F, R, I, L, S, UI, UL and US
- Literal string type suffix: C
- overloaded methods (usage, not definition)
- static methods (usage, not definition)
- IDE
- UNICODE (UTF-8 and UTF-16) file I/O support
- String constant highlighting.
- Auto completions for '#Uses and '#Language special comments.
- Automatic insertion of end statement for Do, Enum, For, If, Select, Structure, Try, Type, Using, While and With.
- Auto completion for referenced .NET assemblies
- Reference .NET assemblies using the Edit|References dialog (WWB.NET)
- Control/Object
WinWrap® Basic Version 8.2 Enhancements
- Language
- A scalar String variable assignment of the form 's = s & ...' now
uses internal buffering to greatly improve string building speed. In a long
sequence of appends, code should run about 100x faster. This improvement
does not apply to string arrays or variants.
- Constant string concatenation sub-expressions optimized in all cases.
- String function calculates very large string results more quickly.
- Integer constants are now treated as
Long values. This reduces overflows
during constant calculation. Overflows can still occur during assignment.
- Event declaration and RaiseEvent instruction. This allows WinWrap®
Basic classes to source events for other WinWrap® Basic code.
- UNICODE (UTF-16) file I/O support.
- IDE
- Literal string highlighting.
- Paren highlighting. When the caret is left of '(' both the '('
the corresponding ')' are highlighted. When the caret is right of ')'
both the ')' and the corresponding '(' are highlighted.
- Debug|Set Next Statement can now set to a statement in a calling
procedure. (First changes the stack position to the caller's
line and then selects the new next statement line.)
- Hidden macros/modules are no longer shown in the stack window.
- UNICODE (UTF-16) file I/O support.
- Control/Object
WinWrap® Basic Version 7.3 Enhancements
- Language
- Options 1 and 3 to ListBox dialog statement. These options
enable the ListBox's horizontal scroll bar.
- Early Binding.
- Faster Execution.
- Better Thread Safety.
- L = L + 1 -- 2.3x faster
- O.Method -- 27x faster (in-process server)
- L = O.Prop -- 28x faster (in-process server)
- O.Prop = L -- 27x faster (in-process server)
- L = O -- 32x faster (in-process server)
- O = L -- 12x faster (in-process server)
- Begin Dialog UserDialog now allows any valid type name in place of UserDialog.
- Decode64, Encode64,
Decrypt64 and Encrypt64 functions to the
language.
- Out-of-process objects now use late-binding even when early-binding is
indicated. The decision is made at parse time. This optimization speeds
up out-of-process calls by almost a factor of two over v7.2.23.
- Marshaled out-of-process objects now use late-binding even when
early-binding is indicated. The decision is made at run-time, rather
than a parse time. This optimization speeds up out-of-process calls by
another factor of two over v7.2.24.
- 64 bit integer support: type Huge_ and conversion function
CHuge_.
- Allows Property Get, Let and Set to all be defined.
- IDE
- IME in-place text entry.
- Expanded proc drop down list to the right. The current name is not bolded.
- Object drop down list names are not bolded.
- Control/Object Interface
- Removed thread affinity and suspend thread code. Multi-threaded execution should be better (and faster).
- wbcFileExit command constant.
- Optimized early binding initialization. (Speeds up AddExtenstion.)
- Removed C++ iostream usage.
- Improved default property get/let speed.
WinWrap® Basic Version 6.4 Enhancements
- Language
- New ShowPopupMenu instruction
(WinWrap® Basic Language).
- New, mouse capability to SendKeys instruction
(WinWrap® Basic
Language).
- New, text alignment option to the Text User Dialog instruction
(WinWrap®
Basic Language).
- New KeyName function.
(WinWrap® Basic Language).
- New Debug.Clear instruction
(WinWrap® Basic Language).
- Added Option Compare support to the language.
- Added helpcontext, helpstring and helpfile type library support for
loaded modules. See Attribute in the Language Reference on-line help.
- Added vbMsgBoxSetForeground to MsgBox option list.
- Added Join and Split functions to the language.
- Added vbNewLine constant which is the same as vbCrLf. (VBScript
compatible.)
- Added vbBlack, vbRed, vbGreen, vbYellow, vbBlue, vbMagenta, vbCyan and
vbWhite constants. (VBScript compatible.)
- IDE
- New "hover evaluation" - show the value of a variable or
simple expression as mouse hovers.
- New "auto completion" - popup lists showing the
methods/properties for the object.
- New "parameter info" - show the parameter definitions for
the sub/function/property.
- New "most recent used list" - maintain a list of the most
recently used files.
- New "taskbar icon" - add a small icon near where the Windows
time is displayed. Has a popup menu to pause or end execution.
- Automatic endif to End If fixup.
- Automatic End Sub/Function/Property after entering the
Sub/Function/Property prototype.
- Identifiers defined in the code are automatically capitalized.
- User defined types/variables/constants included in the auto completion
drop down list.
- UDT's (Type and Enum) handled by Auto Completion and Paramter Info.
- Public symbols from '#Uses handled by Auto Completion and Paramter
Info (if the uses macro is loaded into another sheet).
- Public symbols, types and enums from HiddenCode handled by Auto
Completion and Parameter Info.
- Object Browser shows type info for UDT's, classes and objects
defined in the sheets and HiddenCode.
- Auto Completion and browsing supported for all loaded modules.
- Dragging a file onto the text editing area opens the file, if
FileTools is True.
- The debug and watch windows now support auto completion, parameter
info and drag/drop.
- Control/Object Interface
|