Archive for the 'Runtime/AutoLISP' Category

Barry Ralphs So what’s new…

Over the last few builds (alpha 3-5), there have been a number of new features that have been added to OpenDCL 5. Here is a quick recap if you haven’t been keeping up. Remember these new functions are still an Alpha work in progress, so make a backup before converting your existing projects. (Click on the thumbnail images below to see an enlarged version of them. Some are short videos showing the new stuff in action)

  1. Palette forms are now available. palette3.png (Screenshot by Fred Tomke, euroGIS IT-Systems, Germany)
  2. Here you’ll see how to insert the palette in the editor. palette2.png
  3. Most controls have a new Drag & Drop framework that allows them to handle the Drag & Drop events without any Lisp code at all. dragdrop3.gif
  4. Most controls now have a transparent background. transplabel.png
  5. Now you can import an image with a transparent background into a picture box. Set the background color of the image to 192,192,192, then set the picture box background to transparent. transpic.png
  6. A new delay function has been added: (dcl_DelayedInvoke <delay as integer> <command-name as string>). This function executes a command after a set period of time (specified in milliseconds). If the command name starts with “c:”, it will call the lisp function with that name. It also runs in the background, so you can keep working in Acad while the timer is still running. Unlike (command “.DELAY”) where it freezes Acad & waits until the timer is done. This can be used for things like splash screens or other time-controlled activities, maybe a file system watcher or a chat application. splash.gif
  7. Check boxes now support three states, and their ‘Value’ property is no longer a boolean, but an integer (0 = Unchecked, 1 = Checked, 2 = Indeterminate). Therefore, if you had code that checked whether a check box was checked via (if (dcl_Control_GetValue <control>) …), you’ll need to change this to (if (= 1 (dcl_Control_GetValue <control>)) …) chkbox.png

Barry Ralphs Tip of the day: Visual Styles

As Owen mentioned in his last post, OpenDCL 4.1 now supports Windows Visual Styles. So what’s that mean? As you’ve probably noticed, each major version of Windows comes with a new set of visual styles or themes (Win2000, XP, Vista). In OpenDCL 4.1 most of the controls have the ability to turn visual styles ON/OFF. By default they’re ON & therefore inherit the visual style or theme of your current version of Windows. For example if you want to change the foreground color of a CheckBox, you will not be able to as the foreground color is controlled by the Windows visual style. Therefore you will have to set the “UseVisualStyle” = False for your new foreground color to take effect. Click this thumbnail for a screen shot comparing various controls with visual style ON/OFF.
Visual Styles

Barry Ralphs OpenDCL gets smarter

The OpenDCL RC4 build has just been uploaded for everyone’s enjoyment. There where a few minor bug fixes, but the big news is it now has a built-in version checker. When you install OpenDCL Studio and load the runtime (ARX) module, it will automatically check to make sure it’s up-to-date & if it’s not, it will show you a balloon notification in the taskbar area. If you install the OpenDCL.runtime.msi it will not do this check automatically. You can do the check manually by calling the new function (dcl_UpdateCheck) or if you wish to enable the automatic version checking you can call the new function (dcl_SetAutoUpdateCheck <T/nil, otional>).

Version Checker Balloon

Barry Ralphs 64 little bits

As you know the release candidate (RC1) build for OpenDCL was just uploaded a few days ago. When OpenDCL is officially released it will be known as version 4.0.
While the development of version 4.0 continues, Alpha testing on version 4.1 has already started. Version 4.1 will include 64-bit support for Acad2008 on a 64-bit OS.
Here’s a screen shot of OpenDCL 4.1 running on Acad2008-64 & Vista-64. (click on pic to enlarge)
64-bit