Polar Engineering, Inc. is pleased to announce the release of WinWrap® Basic v10.40. These are the three additions/changes:
The '#PromoteAllUses directive causes all contained '#Uses to promote to the macro/module that has the original '#Uses directive.
The SymbolInfo method allows host applications to get symbol information from the Auto Completion Unit.
WinWrap Basic® uses synchronize messages to communicate between a BasicIdeCtl control and a BasicNoUIObj object. WinWrap Basic® v10.40 adds collaborative editing by using synchronize messages to communicate with the new Auto Completion Unit implemented in the BasicNoUIObj object.
This architectural change enables remote editing to go along with remote debugging and remote execution.
The BasicIdeCtl control normally uses a hidden (integral) BasicNoUIObj object to execute scripts in the IDE's thread. With v10.40 a BasicIdeCtl control can edit, debug and execute scripts in a BasicNoUIObj object in a different thread. The BasicThread class contains a BasicNoUIObj making this easy to do. Configure the language extensions for the BasicNoUIObj object and let the user edit, debug and execute scripts from the BasicIdeCtl. The IDE's auto completion is supplied by the BasicNoUIObj object eliminating the need to configure language extensions for the BasicIdeCtl control.
Inter-process communication needs to transport the Synchronize messages between two processes. Windows Communication Foundation (WCF) provides an easy way to implement message transport as inter-process calls. The sample shown here is a service that manages all aspects of the script editing, debugging and execution.
A dedicated web server can provide an HTTP interface to WinWrap® Basic. This is an alternative to using WCF. The sample shown is a dedicated (or embedded) web server that manages all aspects of the script editing, debugging and execution. In this sample a Windows application is the client. The user can edit, debug and execute scripts from the BasicIdeCtl control.
Copyright Polar Engineering, Inc.