Friday, June 20, 2008

Build 266

Andrew MacNeill has interviewed me for his latest FoxShow. You can probably tell from the interview that I was quite nervous with this one being the first time. It's never ceases to amaze me what has become possible during only the past few years and is now taken for granted. I mean a transatlantic interview and we only need to worry about the time zone differences…

A couple of new features have been added to the latest release.

The mobile version of Guineu now supports the grid control. Unfortunately, the .NET DataGrid control in the Compact Framework isn't exactly what I would call a powerful control. So far, the grid class supports a cursor as a RecordSource. The cursor can be a DBF table that has been opened, or the result of a query against the Microsoft SQL Server Compact engine.

Columns can have a ControlSource and Headers a Caption. Any other control in the column is currently ignored, meaning everything is displayed as text. Nonetheless, you can use columns of any data type. To change the color of grid lines use the GridLineColor property. To hide the grid you can change the GridLineColor to the background color of the form.

Right now there are still some limitations: Any filter and index tag is ignored. I'm working on that. The grid is also non-editable. This is a limitation of the .NET control which will take some more time to work around. The grid class will be added to the desktop version in a later build. Right now I focus on getting this to work flawlessly on the PDA.

Another new class is the Spinner control which is available in all versions of Guineu. Forms now support the Load event, which is a good place to open any table you plan to use as a ControlSource or RecordSource.

For PDAs with a higher resolution than 320x240 there's some additional support. First of all, SYSMETRIC() can be used to return the screen resolution if you want to support multiple resolutions.

Guineu.compact.exe is a hi-res aware application. Any form you run through this loader has the full resolution available. If you don't need the higher resolution, you can enable automatic scaling with SYS(8006). The same function is necessary, if your PDA treats any application as a hi-res aware application. Some HP organizers seem to do this.

Any mobile application created with GuineuIDE.EXE is currently generated as a lo-res application. That means Windows pretends that the screen resolution is only 320x240 and scales internally. SYSMETRIC() also returns 320x240 in this case. If you need to create hi-res applications with GuineuIDE, please let me know.

The bad news at the end: I'm still working on the code to update CDX files. That part is a little more complicated since CDX files need to be fully integrated into Guineu. Otherwise it would be impossible to implement some features like seeking in a buffered table.

No comments: