Hi.

We use the Codejock Calendar control with the library of the SIG group, but recently found, that the recurrence dialog doen't like to play fair with a german resource dll, for a translated dialog (it seems to look for the words 'hour', 'day' and 'week' in the selected duration and failing to find any of them resorts to interpret every number as 'minutes', which resuls in '1 hour' = '1 minute' or '2 weeks' = '2 minutes').

But while implementing our own dialog(s) I stumbled above 2 things, which should propably get fixed in the library.

First, the suggested type and size for 'eRoRecurr_Type' in the 'tdSigCjCal_RecPattern' struct in cSigCjCalendar_Public.pkg is noted with //NUM 2.0. This should be a size of 4, because the max size of the underlying bit-mask can go up to 127 and needs at least a 3 character wide field (also observable in the sample application. Just create an event with a weekly recurrence and check monday through (including) saturday and save the event and you'll get an error.)

The second point is the missing possibility to remove a recurrence, when using an own dialog for editing/creating the events.
In theory it would be easy. Just move 'eCal_Dialog_Action_Delete' to 'tdSigCjCal_Dialog_Info.tdSigCjCal_Dialog_RecPatte rn.eAction' and thats it, but that doesn't work. Modifying the struct including the 'RecPattern' and 'tEvent' won't work either.
It seems that in the 'EditEventDialog' procedure in cSigCjCalendar_Control_v2.pkg the action 'eCal_Dialog_Action_Delete' for the recurrence isn't accounted for.

The part
Code:
If (tDialog_Info.tDialog_RecPattern.eAction <> eCal_Dialog_Action_None) Begin
    Get ComRecurrencePattern of hoEvent to tDialog_COM_Ojects.vRecPattern
    If (IsNullComObject(tDialog_COM_Ojects.vRecPattern)) Begin
        Get ComCreateRecurrence of hoEvent to tDialog_COM_Ojects.vRecPattern
    End
    Send UpdateRecPatternObject tDialog_COM_Ojects.vRecPattern tDialog_Info.tDialog_RecPattern.tRecPattern
    Send ComUpdateRecurrence of hoEvent tDialog_COM_Ojects.vRecPattern
End
should be changed into something like this
Code:
If (tDialog_Info.tDialog_RecPattern.eAction <> eCal_Dialog_Action_None) Begin
   If (tDialog_Info.tDialog_RecPattern.eAction = eCal_Dialog_Action_Delete) Begin
      Send ComRemoveRecurrence of hoEvent
   End
   Else Begin
      Get ComRecurrencePattern of hoEvent to tDialog_COM_Ojects.vRecPattern
      If (IsNullComObject(tDialog_COM_Ojects.vRecPattern)) Begin
         Get ComCreateRecurrence of hoEvent to tDialog_COM_Ojects.vRecPattern
      End
      Send UpdateRecPatternObject tDialog_COM_Ojects.vRecPattern tDialog_Info.tDialog_RecPattern.tRecPattern
      Send ComUpdateRecurrence of hoEvent tDialog_COM_Ojects.vRecPattern
   End
End
and then it works.

I hope I'm not sounding like a total dick, even if my middle name is richard