logo WinWrap®

Enhancements

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)
    • None.
  • Language (WWB-COM)
    • None.
  • 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

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