Sherlock Holmes and the Case of the Missing Events

 

SRP has a good reputation for tracking down the obscure and unusual problems that occasionally occur within OpenInsight. Normally we should prefer that these problems be far and few between (especially when trying to impress a client!) but like a good mystery novel, there is something about the challenge that presents us with a thrilling adventure.

Such was recently the case when I upgraded a customer's system from OpenInsight 4.1.3 to OpenInsight 8.0.8. Great care was taken to make sure all necessary upgrades were applied as skipping some can create incomplete systems. At first glance the upgrade path appeared to go flawlessly. Beyond the known form fixing issues, the application worked just fine. That was until I recompiled my first form...


It's the Little Things - Resolving a Long Standing SRP FrameWorks Annoyance

 

From the earliest days of our venerable FrameWorks product there has existed a rather annoying problem whenever the System Monitor was launched: OpenInsight would lock up and the only way to recover was to use the Window's Task Manager to kill OpenInsight.

Of course we've known just what was causing the problem and we certainly wanted to get this fixed but it never became a high priority. After all, we became accustomed to avoiding the combination tasks that resulted in the unforgiving problem. While this might be just fine for SRP developers, it has become something of an embarrassment when other developers who use SRP FrameWorks for their own projects contact us wondering why their system locks up when they run the System Monitor.


An Explanation of SRP's Licensing Policy

 

SRP's philosophy on product licensing has always been geared toward the developer rather than the end user. As such we have always provided a "royalty free" licensing policy. That is, a developer only needs to buy one license which can be deployed with any application that the developer supports. While this may seem simple in concept there are some technical considerations that can sometimes create confusion for our customers.


SRP Utilities Update, Version 1.3

 

Once again SRP delivers features that OpenInsight developers can really use. We begin by addressing what amounts to be a branding and marketing problem for software products based upon OpenInsight. The issue occurs when Windows groups icons in the taskbar. Once this occurs, the button's title becomes "oinsight", even if the application was using the SRP Application Launcher utility. This is undesirable for commercial products since users usually have no idea what "oinsight" is. With the new SRP_Taskbar method we can alter the group button text to be anything we wish, thus preserving a software product's essential branding.


SRP Editor Update, Version 2.3.5 & 2.3.6

 

The SRP Editor saw a new update last week, another minor fix to the code formatter, resulting in version 2.3.5. However, before we could get around to announcing it, we made a much needed improvement to the SRP Editor's command line.

Our command line has always suffered when it comes to executing built-in routines. To give you some background, when you run any routine, the SRP Editor command line opens the routine's object code and determines how many parameters the routine expects. If you pass too few parameters, the SRP Editor passes null values for all the missing parameters to avoid potential VNAV errors. This, of course, only works for routines that exist in object code and list their parameters. For all other routines, the SRP Editor command line just sends the parameters you provide.

This becomes a headache when using common built-in routines such as COPY_ROW. COPY_ROW hates missing parameters, and you'll get a VNAV error if you forget even one. If permitted, we'd like to appeal to the old saying, "Better late than never."

The SRP Editor 2.3.6 now ships with a default list of routines and their parameter counts. You can browse or modify this list in the new TCL tab of the Options dialog. Don't worry about modifying the list, the SRP Editor will never overwrite your changes. Most users will not really need this as the most important built-in routines are already there, including COPY_ROW.

SRP Editor 2.3.6 is now available to download from here.


SRP Editor Update, Version 2.3.4

 

'Tis the season for...SRP Editor updates. One of our customers has a knack for finding issues with our code formatter. In this most recent scenario, it appears that our formatting logic was failing to ignore a "for" statement when it was located within a commented line. As a result the remaining code was being improperly intended. SRP Editor 2.3.4 has addressed this and is now available to download from here.


SRP Editor Update, Version 2.3.3

 

We recently received a report that the SRP Editor would produce the above error message when attempting to close a record with unsaved changes. When we looked at the code we discovered that this issue would only happen when the Window -> Close All menu option was selected.

The fix required less effort than creating a new install. Nevertheless, we dislike problems with our products no matter how trivial they are. Therefore we have fixed this in SRP Editor 2.3.3 and posted it here.


SRP Utilities Update, Version 1.2.3

 

SRP Utilities has been enhanced yet again with SRP_Join_Arrays. This function is useful for those of you that implement your own cross references. On several occasions, the developers at SRP Computer Solutions, Inc. have found themselves with two lists of keys they would like to merge. Sometimes, they need to get the keys that appear in both lists: an intersection. Other times, they need to merge both lists together without duplications: a union. SRP_Join_Arrays can do this for you at top speeds.

This version of SRP Utilities also contains a bug fix. SRP_Clean_Array has a TRIM option that--per the documentation--is supposed to remove only trailing blank elements from the array. This was not happening. Instead, it was removing all blanks in the array. This error has been corrected.

If you are currently using version 1.2.2 or earlier, we highly recommend upgrading. Both existing users and those that wish to try this free utility can download the latest version of SRP Utilities from here.


Did You Know - Managing RDKs from the SRP Editor

Like most developers, the programmers at SRP Computer Solutions, Inc. love making tools that simplify complex tasks and make us more productive. With so many tools, it was only a matter of time before we created a tool to help manage our tools, specifically, the deployment of our tools.

Repository Deployment Kits (RDKs) are the means by which we deploy our tools such as SRP Editor, SRP Utilities, etc. As such, we found ourselves expending a lot of time and effort on just the RDK management. Maintaining RDKs requires several steps and a separate tool. Since we spend so much time in the SRP Editor, it seemed natural to enhance the SRP Editor with time saving RDK tools. This thought process led to the "Add to RDK" menu and the RDK command.

Add to RDK

The "Add to RDK" tool is accessed via the Tools menu or by pressing F6.


Did You Know - Accessing Images from Compressed Folders

 

OpenInsight's BITMAP property allows developers access images by path name or from within a resource file (.DLL or .EXE):

// Pull image from a path.
Set_Property(Ctrl, 'BITMAP''BMPS\Check.png')

// Pull image from a resource file.
Set_Property(Ctrl, 'BITMAP''Images.dll#check')

Storing images within a resource file makes an application more professional and prevents the curious end user from modifying the images stored on the hard drive. However, many developers are unfamiliar with the technology necessary to manage images from within a resource file. Most software development kits provide tools for this. If you are unfamiliar with (or would rather not learn) these SDKs there are simple utilities that can be downloaded to make this relatively easy (e.g. one that seems to work well is Resource Hacker.)

As might be expected, all SRP ActiveX image based properties can load images from a path or resource file. However, for developers who like the idea of using a single file to store all their images but would rather not fiddle with resource files there is another option: zip files. Developers can put all of their images into a zip file (aka compressed folder) and use the same syntax to reference them. The .zip extension can even be renamed to obscure this even more:

// Pull image from a zip file.
Set_Property(Ctrl, 'OLE.Images''Images.zip#check')

// Pull image from a zip file (extension renamed).
Set_Property(Ctrl, 'OLE.Images''Images.fil#check')

Don't forget that the entire SRP ActiveX control suite and OLE Help documentation can be downloaded from here. These are fully functional controls but will display an evaluation message without a license file.


Syndicate content