Archive for August, 2009

Report Writer for 7.1

Tuesday, August 18th, 2009

During the webinar on ClarionLive covering Report Writer we had some great suggestions for additional features and functionality.  It would be helpful if the Clarion devs who voiced those ideas could open Feature Requests in the PTSS  system so we can properly track them.  If you’d like to vote your support for a particular feature request you can also post a comment right here.

There were some audio problems during the webinar and it seems it caused some confusion during the Q/A session. It seems the most confusion revolved around whether the ability to just print/preview a report from within a Clarion7 or Clarion.Net application would require a license per workstation, this is the same type functionality as we have now using the C70prlbx.dll, and the answer is No, there is no license required to view and print exisitng reports.  We’ll be providing the same type of functionality as in C6/C7 to easily print/preview exising reports (without the full Report Writer) but with greater depth in order to take advantage of new features and functionality.

Managed IP Driver

Monday, August 17th, 2009

The current public version of Clarion.Net has support for all of the core Clarion drivers available for Clarion Win32. You can use the drivers for developing desktop and web apps, but they can’t be used on Mobile Devices due to the different CPUs used on those devices.  To accomplish this the runtime uses interop to access the native win32 functions. This works seamlessly and there are some amazing benefits for Clarion developers who can leverage all their database driver knowledge, run .Net and win32 Clarion programs side by side, and much more.

But up until now those native calls into the driver layer meant that on a 64bit OS you needed to run your Clarion# application targeting an x86 CPU. Otherwise the JIT compiler would compile the application as 64bit and when the runtime tried to make a call into the native win32 driver layer it would fail.  Changing the applications target CPU or just running the corflags.exe is simple and takes just a few seconds (the corflags tool allows you to configure the “CorFlags” section of the header of an assembly), but now you have another choice; the managed IP Driver.

The managed IP Driver is exactly what the name implies, its a 100% managed code implementation of our IP Driver. This means a few things;

  1. you can build WinForm applications that access any of the database formats that Clarion supports
  2. you can build WebForm applications that access any of the database formats that Clarion supports
  3. you can build CompactForm applications (Mobile devices) that access any of the database formats that Clarion supports

For item (1) in the list above you might be thinking “but I already can do that”, which is true but now your application can run as a pure managed code 64bit application. You might be thinking the same about item (2), but two things are worth mentioning; anyone who has ever tried to run a web application under IIS that reads/writes non-SQL database files knows the hoops that have to be jumped thru to make IIS security cooperate, and secondly if IIS is running on a 64bit OS, its going to want to run 64bit web applications. Now you can force 64bit IIS to run a web app that requires access to a native 32bit binary, but its not pretty and its not particularly easy. Point number (3) is potentially huge because it means that any Clarion# mobile application now has another data storage option besides SQL and XML. Mobile applications can now use Clarion file I/O syntax and can access any database that Clarion supports. Naturally this access requires a network connected Mobile device.

This is all accomplished with separate versions of the Clarion.Net runtime assemblies. If you set the checkbox shown below your application automatically references these new runtime assemblies:

managedip
The managed IP driver will be supported for both Professional and Enterprise editions.

Manifest support for Windows 7

Tuesday, August 11th, 2009

We’ve just added support for creating the new Windows 7 compatibility sections in the Application Manifest to both the Templates, and the Linker.

appmanifest

With the settings above your manifest is generated with these two new sections:

<compatibility xmlns=”urn:schemas-microsoft-com:compatibility.v1″>
<application>
<!–The ID below indicates application support for Windows Vista –>
<supportedOS Id=”{e2011457-1546-43c5-a5fe-008deee3d3f0}”/>
<!–The ID below indicates application support for Windows 7 –>
<supportedOS Id=”{35138b9a-5d96-4fbd-8e2d-a2440225f93a}”/>
</application>
</compatibility>

The Linker uses the MANIFEST directive and has been extended with the following options:

MANIFEST VISTA WINDOWS7
– The linker adds the default manifest to the executable compatible with records indicating application compatibility with both Windows Vista and Windows7

Note that Windows XP and Windows Vista ignore this manifest compatibility section and it has no impact on them.

Improvements to the PropertyGrid

Monday, August 10th, 2009

There has been a lot of talk about the transition from properties presented in modal dialogs (ala C6 and prior versions) and properties presented in the .Net PropertyGrid control.  And a lot of that talk was not too complimentary to the MS PropertyGrid.  There were several different complaints about the control, and perhaps the most frequent complaint was the poor support for keyboard-only navigation and data entry. There were other problems too, like the representation of True/False values, etc.

Clarion 7.1 addresses these issues with a much more keyboard-capable grid control, we are still working on further improvements but here is a very short video (no audio) that gives you a good idea of where its headed.  Just keep an eye on the mouse and you’ll see its not used at all for navigating and editing the grid data.

Clarion 7.1 - New Window Previewer

Sunday, August 9th, 2009

The C7  Window Designer does a remarkably good job of rendering a window as it will appear at runtime; including rendering controls with manifest styles applied (something the C6 preview could never do).  But Clarion developers have proven to us that for complex windows it just cannot match the runtime presentation.  Enter the new Window Previewer functionality in 7.1 — the new previewer beats the old C6 preview hands down, it does that by compiling the window into a tiny program and executing that program, which means no matter what OS you are running, you’ll see the exact same representation for the window as you would if you had compiled the entire application.  But because this is just a tiny program, it runs instantly (just as fast as in C6)!  It also displays user-defined data within the controls (another bonus over C6).

Here is a quick screen shot of the previewer in action:

windowpreviewer1