Monday, December 12, 2011

Builds 415-425

Since build 414 we made a number of changes, but I haven't been able to keep updating the blog. In this post I'll collect all those changes we made since January last year. Check back regularly, as I'll keep updating this post.

New features

STRCONV() is implemented with two new encodings. Values 17 and 18 provide a conversion between regular strings and URL encoded values ("A B" becomes "A%20B"). You need this with SYS(8009) to post back HTML forms to a web server.

SYS(8004) supports the "mssql" engine. Activating this engine switches to the regular SQL server client on mobile devices for SQLSTRINGCONNECT(). With this engine you can connect to a regular SQL server from any mobile devices. For data intensive processes this is a better solution than accessing DBF files across a WiFi.

GuineuIDE detects parameters to the Init event of an SCX form and produces the code to receive those in the generated PRG file and pass them on. This feature is a little fragile right now and only works for simply LPARAMETERS statements. Please report any code that doesn't pick up the parameter line. You might have to manually delete the *.scx.prg/fxp files to force GuineuIDE to regenerate the file.

APPEND supports the IN and BLANK clauses now.

MKDIR is now supported on the desktop and on the mobile platform.

Added support for Date, DateTime and Boolean fields to CREATE CURSOR.

Changes

We changed a number of file names to cope with a number of new supported platforms. Guineu.exe is now Guineu.Desktop.EXE, Guineu.runtime.dll has become Guineu.Runtime.Desktop.dll. Guineu.compact.runtime.dll is Guineu.Runtime.Mobile.dll. We dropped guineu.compact.exe completely, since it caused confusion about the proper way of creating a mobile application.

To use the new runtime version you have to rebuild your EXE using GuineuIDE.

Guineu detects when it's running in an emulator. When features aren't supported in the emulator, Guineu does not attempt to call them. This applies mainly to non-standard hardware.

Bug fixes

Sometimes Guineu would raise an error message referring to the record source being NULL.

Index files were kept open even when the table was closed. This made it impossible to delete the CDX file unless the application was closed.

Fixed crash when a class in a separate VCX or a procedure file was instantiated.

When a function or method returned a NULL string Guineu would sometimes crash when the result would be used in conjunction with the = or == operator.

Umlauts in procedure names no longer cause a crash.

Downloading binary files with SYS(8009) caused data corruption, mainly with DBF and CDX files. This has been corrected.

Added support for NULL values in cursors other than character fields.

COPY FILE handles subdirectories correctly now.

Known issues

Should you encounter an error message when launching the EXE on the device, please create a text file in the same directory as your application with the addition ".config". If your application is "myapp.exe", the file needs to be "myapp.exe.config". Put the following code into the config file:
<?xml version="1.0"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="OpenNETCF" publicKeyToken="E60DBEA84BB431B7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.3.0.39" newVersion="2.3.0.39"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

This was necessary due to an updated DLL. We are working on this issue. In future builds you do not have to create this config file.

No comments: