exicalendar - what's new
14.0.0.4 Mar 20, 2024
*Added: Update the samples to support x64 configuration (/COM version)
*Added: The ExecuteTemplate() method can return the value of a variable. For instance, the eXSurface's PointToPosition method uses variables by reference which is not supported in PowerBuilder. For that you can use a code like ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);x") that returns the x-position (surface's coordinates) of the current mouse pointer. In the same manner you can use ExecuteTemplate("dim x,y;x=-1;y=-1;PointToPosition(x,y);y") to return the y-position.

14.0.0.3 May 15, 2023
*Added: TemplateDef/TemplatePut property allows defining inside variables for the Template feature ( available for /COM only, and useful to assign properties with multiple parameters, which is not supported in dBASE )
*Fixed: The BySetPos rule ignores the occurrences within the first interval of dates. For instance "FREQ=WEEKLY;BYDAY=MO,SU;BYSETPOS=1;DTSTART=20120229;COUNT=4" returns "3/5/2012, 3/12/2012, 3/19/2012, 3/26/2012" while it should return "3/4/2012, 3/5/2012, 3/12/2012, 3/19/2012". The week Feb 27, Mar 4 contains Feb 27(Mo) and Mar 4(Su), but since Feb 27 is before Feb 29 (DTSTART) it is ignored, so  BYSETPOS=1 gets Mar 4(Su) (3/4/2012)
*Fixed: The AttachTemplate method fails if using "handle" keyword on x64 version

14.0.0.2 Nov 23, 2022
*Added: "Error: The WKST rule is invalid" occurs if WKST rule is specified with none of SU,MO,TU,WE,TH,FR,SA
*Fixed: A GPF may occur on closing the form/window/dialog if one or more events are handled by AttachTemplate method
*Fixed: Sometimes, the control hangs indefinitely if using repetitive-expressions with BYSETPOS rule that generates no results. For instance, the "FREQ=WEEKLY;BYDAY=FR;BYSETPOS=2" generates no results, as there is only one alternative, while the BYSETPOS rule asks for the second position.

14.0.0.1 Aug 01, 2022
*NEW: Z-Events support (Standard .NET event patterns)
*Added: Every event of the control (/NET assembly) provides a Z-Event alternative, of "void OnEventRaised(object sender, EventArgs args)" type. The .NET convention is for an event (Z-event) signature to have a void return and 2 parameters. The first parameter is of type System.Object and is the sender of the event. The second parameter must be of type System.EventArgs or derived from System.EventArgs and contains data passed between sender and receiver. For instance, the "DblClick(object sender, short Shift, int X, int Y)" event is equivalent to "ZDblClick(object sender, ZDblClickArgs e)", where "ZDblClickArgs" type is derived from System.EventArgs and includes definitions for Shift, X and Y properties
*Fixed: "Warning: The <event-name> event is a .NET event that does not follow the .NET convention for event signatures (OpenEdge, ABL code)". To prevent this warning, under OpenEdge environment you must use the Z-event alternatives 

13.0.0.1 May 30, 2022
*Added: The DTSTART field is set to current date and time, in case it is missing or it is invalid (no more error: "The DTSTART property is missing or invalid")
*Added: The UNTIL and COUNT rules can be used together within the expression, and so no more error "The UNTIL or COUNT rule parts are OPTIONAL, but they MUST NOT occur in the same 'recur'"
*Added: "Error: The UNTIL rule is invalid" occurs if UNTIL rule is invalid

12.0.0.1 Oct 06, 2021
*Added: ExICalendar.pdf (include the control's documentation in PDF format)
*Added: PowerBuilder 21.0 sample

11.0.0.1 June 11, 2018
*NEW:   Ability to executes x-script code ( including events ), from a string, file or a safe array of bytes. This feature allows you to load the control's visual appearance and behavior, without having to write any line of code. The x-script code can save EBNs, icons, pictures into BASE64 encoded strings, and so everything can be put into a single file, that should be invoked by AttachTemplate method. This feature allows you to run any x-script code for any configuration of the component (/COM, /NET or /WPF). 
*Added: AttachTemplate method executes the giving x-script code, and attach events if found. The x-script code can contain handle keyword that defines a handler for the specified event. For instance, the AttachTemplate("handle Click() { print(Version) }") sends the control's Version property to the debugger for display. All you need is to open the DebugView tool, and click the control.
*Added: The Version property includes the SpecialBuild number of the assembly so it provides information like Major.Minor.Build.Revison.SpecialBuild.Type...

10.0.0.1 January 04, 2016
* Initial Release