- Details
The OpenInsight 10.0 License Renewal and Installation/Upgrade Authorization process has changed from previous versions. Authorization codes are no longer written to the OEngine.dll file. The authorization code is now written to the RevEngine.lic file found in your OInsight10 directory. This eliminates the need to have users log off and the need to stop your OEngineServer service to update your license.
The process of assigning a new serial number to a copy of OpenInsight has also been changed.
Documentation
OpenInsight 10 License Renewal and Installation/Upgrade Authorization Process
- Details
he OpenInsight 10.0 Converter Utility is designed to let you convert your existing OpenInsight 9.x or below application to an OpenInsight 10 application.
The utility is a window called RTI_MIGRATE_V9_TO_V10
Documentation
- Details
OK, so we deprecated the Send_Message function for OI 10…
… but before you worry about your apps being broken don’t despair because it still works as it ever has. It has actually been replaced by a new function named Exec_Method which exposes the same interface as Send_Message, with the added bonus that it can support more than four parameters, so it’s basically a straight drop-in replacement when you need to use it.
Why did we do this? Well, there’s a couple of reasons really:
- When talking about object-based systems the usual jargon includes references to properties, methods and events. However, with OI we’ve always used the term “messages” when referring to an object’s methods because of the Send_Message function. We thought it was about time to use more standard terminology, like we do with the Basic+ OleExecMethod function for example.
- Send_Message is very close to the name of the core Windows API SendMessage function and sometimes it’s just too confusing (and annoying) trying to explain which one you actually mean when you’re discussing how to manipulate an object.
Actually Send_Message isn’t the only casualty, we’ve deprecated another well-known function too, but we’ll leave the details of that one for another post…
[Edit: 24 Apr 13 – Call_Method renamed to Exec_Method]
- Details
In our previous Send_Message posting we mentioned that we had deprecated another well-known function, and I’m sure you can guess which one from the title of this post – Yep, we deprecated the Utility function!
One of the things we’ve tried to do in this release is to tidy up and standardize the interface between your Basic+ programs and the Presentation Server, providing a standard object-based model based on properties, methods and events. The Utility function has always been been an exception to this however, essentially providing a shorthand way of executing what should be SYSTEM object methods, thereby breaking the paradigm.
In light of this the Utility function has been deprecated and it’s functionally exposed as properties and methods of the SYSTEM and FILESYSTEM objects instead. Utility itself still works, but it is now a shell that maps to the two aforementioned objects (more of which we’ll cover later).
In case you’re interested here’s how the Utility services map to the SYSTEM and FILESYSTEM objects:
Utility Service | Object | Type |
BEEP | SYSTEM | Method |
COPYFILE | FILESYSTEM | Method |
CREATE | SYSTEM | Method |
CURSOR | SYSTEM | Property [S] |
CHOOSECOLOR | SYSTEM | Method |
CHOOSEFONT | SYSTEM | Method |
CHOOSEFILE | SYSTEM + FILESYSTEM | Method |
CHOOSEDIR | SYSTEM + FILESYSTEM | Method |
DESTROY | SYSTEM | Method |
DIALOG_BOX | SYSTEM | Method |
FLUSH | SYSTEM | Method |
GET_EVENT | SYSTEM | Method |
GETLOGICALDRIVES | FILESYSTEM | Property [G] (DRIVELIST) |
HANDLE_BY_CURSOR | SYSTEM | Method |
HOOKCTRL | SYSTEM | Method |
IUNKNOWN_RELEASE | SYSTEM | Method |
LOAD_PICTURE | SYSTEM | Method |
MAKEDIR | FILESYSTEM | Method |
OBJECTID | SYSTEM | Method |
OPENAPP | SYSTEM | Method |
OBJECT_BY_CURSOR | SYSTEM | Method |
OBJECTLIST | SYSTEM | Method |
PRINTSETUP | SYSTEM | Method |
POST_WINMSG | SYSTEM | Method |
PICTURE_PROPS | SYSTEM | Method |
REMOVEDIR | FILESYSTEM | Method |
RENAMEDIR | FILESYSTEM | Method |
RENAMEFILE | FILESYSTEM | Method |
RUN | SYSTEM | Method |
RUNHELP | SYSTEM | Method |
RUNWIN | SYSTEM | Method |
SHELLEXECUTE | SYSTEM | Method |
SEND_WINMSG | SYSTEM | Method |
TEXTRECT | SYSTEM | Method |
UNHOOKCTRL | SYSTEM | Method |
WINCOUNT | SYSTEM | Property [G] |
WINDOW_BY_POS | SYSTEM | Method |
[EDIT: 19 Nov 15, Updated CHOOSEDIR and CHOOSEFILE methods to include FILESYSTEM]
(Disclaimer: This article is based on preliminary information and may be subject to change in the final release version of OpenInsight 10).
- Details
As the project moves along and work progresses you should see many new items added to the object interfaces in the Presentation Server. One of the main reasons for this is to try and reduce the amount of times you as a developer have to call the Windows API directly – we realize that most OI programmers aren’t C programmers and so we’re trying to save you the pain of dealing with static data types, C-structures and pointers wherever possible.
In light of this we’ve made some changes to the SYSTEM object: As well as bringing across many of the existing Utility services (mentioned previously here) there’s also some brand-new properties and methods too (and we’re not finished yet).
Here’s a quick look at some of the new SYSTEM properties we’ve added so far:
DPI property
This property returns the Windows DPI setting (96, 120 or 144) so you can handle custom scaling in your app if it’s running at a different DPI than the system you designed it on.
ENVVARLIST property
This property returns a list of OS environment variables (just as if you’d typed “set” at the DOS command prompt).
FONTLIST property
This property returns a list of font names that are available on the system.
INTERACTIVE property
This property returns TRUE$ if OpenInsight has been launched in an interactive Windows session (i.e. it has a “desktop”). It returns FALSE$ if OpenInsight has been launched in a non-interactive session such as from a Windows Service process.
MONITORLIST property
This property returns a dynamic array of monitor information. Each field in the array contains the following details for each monitor:
- Monitor Handle
- Monitor rectangle (left, top, right, bottom)
- Monitor work area (left, top, right, bottom)
- Flags
- Device name.
TYPES property
This property returns a list of the object types that the Presentation Server supports (EDITBOX, LISTBOX, WINDOW and so on). We’ll cover this in more detail in a later post when we look at some of the properties that expose an object’s type-information to provide a “reflection” interface for the toolset.