Friday, December 23, 2011
parameter handling and better code generation (Build 432)
Constants defined in the VCX or SCX include file are evaluated at compile time now. When you rebuild an existing project make sure to select Guineu > Clean up project name from the menu to force Guineu to rebuild all project files.
PRIVATE variables can be defined and are created in a truly private fashion. Undeclared variables are now PRIVATE, just like in Visual FoxPro. Missing variables raise an error message except when being assigned to. PARAMETERS creates private variables whereas LPARAMETERS is responsible for creating local variables.
Parameters can now be passed by value or by reference. Call the PARAMETERS() function to determine the number of parameters.
Some commands in Visual FoxPro are not relevant during program execution. EXTERNAL is a good example and is now supported by Guineu. Just like in the Visual FoxPro runtime this command does absolutely nothing. Previously, though, having the command in the code would raise a compiler error in Guineu due to an unknown token.
Code lines containing macro substitutions (& command) do not cause an error anymore. Currently, they are skipped at runtime since there's no tokenizer being part of Guineu.
Thursday, December 15, 2011
Changing the color of grid headers (Build 428)
There are also minor bugfixes in the STREXTRACT() function and the Listbox control.
Monday, December 12, 2011
.NET objects now First-class citizens in Guineu (build 426)
Some of these features are still lacking such as accessing a bluetooth or serial printer, retrieving GPS information, obtaining phone book entries and text messages, and much more. Quite often there's sample code for C# or VB.NET for the Microsoft Compact Framework. Yet, often it's only few who request a particular feature. That makes it particular difficult to implement a solution that covers not only those developers particular needs, but also the needs of others in future scenarios.
This release is a major step forward!
We now support .NET objects in the same manner as native objects. The philosophy behind Guineu has always been to keep the look and feel of Visual FoxPro. Therefore you use .NET objects exactly like you would use native objects in Guineu or ActiveX controls in Visual FoxPro. There are no new commands or functions as the next sample demonstrates:
New features
The OS() function implements values 1-6 now. OS(6) returns the platform. This is 1 for Windows 9x, 2 for any Windows NT based system (NT, 2000, XP and later), and 3 for Windows mobile.
Bugfixes
Repeatedly executing CREATE CURSOR would open a further cursor with the same alias.
ADIR() returned the wrong number of entries and wouldn't indicate directories.
SYS(2015) would not return a new value every call.
Builds 415-425
<?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>
Tuesday, January 26, 2010
Build 414
I just noticed that the past releases contained an older version of GuineuIDE.EXE without the fixes for the DO FORM problem some of you encountered. The new build contains the correct version. To benefit from the fixed generated code, you either have to modify the form (just changing the time stamp is sufficient) or delete the *.SCX.PRG files. Otherwise GuineuIDE won't regenerate the files.
Monday, November 30, 2009
Builds 390 - 412
I'll update this blog entry to collect all changes that have been implemented within the past few months. The past month's activity on the release blog doesn't do justice to the development of Guineu. There have been a number of changes.
Build 412 introduces the SelStart and SelLength properties for the Editbox control.
Build 405 adds the SET PROCEDURE TO and SET CLASSLIB TO command. This makes it easier to create more complex applications. Additionally, GuineuIDE handles controls correctly that are stored in a class library. With this release you might have to delete the generated .SCX.PRG files in order to regenerate those using the latest version of GuineuIDE. Starting with build 405 you can create your own VCX class libraries and use those classes on different forms.
Build 403 includes the Timer control. Available properties are Enabled and Interval. Timers raise the Init and Timer events.
SYS(8015) is new in build 402. This function adds SMTP capabilities to Guineu. To send an e-mail from the device you can use the following one liner:
Sys(8015, ;
"from@server.com", ;
"to@server.com", ;
"smtp.server.com","username","password", ;
"Subject", ;"Body" ;
)
You need internet connectivity on the device in order to send mails. Sending mails can be an alternative to printing a receipt.
Devices behave differently when you press the Enter key while the focus is on a button. Some devices trigger the Click event, some don't. Build 400 adds SYS(8014) to control this behavior. To explicitly call the Click event when Enter is pressed, use the following option:
SYS(8014,"ButtonClickOnEnter",1)
You revert to the device's default behavior by using this line:
SYS(8014,"ButtonClickOnEnter",0)
Build 395 adds the LOOP command. It works on all three supported loop types: FOR, DO WHILE and SCAN. SCATTER and GATHER have been extended in the same build. In addition to the NAME clause, they now support the MEMVAR and MEMO keywords.
Saturday, July 25, 2009
Build 389
SYS(8012) for controlling the Software-based Input Panel has been in the product for the past few weeks, but not been documented at all. The latest build mainly brings the documentation on par with the product, at least as far as the SIP is concerned. You find a detailed description of SYS(8012) on http://guineu.net/help/index.html?sys8012___software_based_input_panel.htm.