Page 1 of 1

FWH 2310 Active X problem ?

Posted: Fri Nov 03, 2023 3:48 pm
by TimStone
I use the Codejock Calendar within my application ... it's an active x object. It has worked beautifully. ( The actual code is in the FWH Samples directory ).

I rebuilt the entire application yesterday with FWH 2310 and now when calling the program, it fails on an "array access". This is a pretty random issue, and there were no coding changes.

I went back to 2306 and it works perfectly.

So "something" in the new FWH release has "broken" active x. I wish I could be more specific, but whatever changes may have been made might be checked.

Here is where it fails with 2310 but not 2306 or ANY previous FWH version. It is the :ViewType = line. The error says array access ...

Code: Select all | Expand

METHOD BuildCalex() CLASS MpCal
    local oErr

   #ifdef __HARBOUR__
      #ifdef __XHARBOUR__
         TRY
         IF lBuild64
            ::oCalex := tActiveX():New( ::oPanelCalex, "Codejock.CalendarControl.20.3.0" )
         ELSE
             ::oCalex := tActiveX():New( ::oPanelCalex, "Codejock.CalendarControl.20.3.0" )
         ENDIF
      #ELSE
         TRY
         IF lBuild64
         ::oCalex := thActiveX():New( ::oPanelCalex, "Codejock.CalendarControl.20.3.0" )
         ELSE
         ::oCalex := thActiveX():New( ::oPanelCalex, "Codejock.CalendarControl.20.3.0" )
        ENDIF
      #endif
   #endif
   CATCH oErr
       MsgStop( "Missing installation Components", "Aborting" )
       Quit
   END
    with object ::oCalex
        :VisualTheme = ( xtpCalendarThemeOffice2007 )
        :bOnEvent = { | event, aParms | ::xTrmCalTriggeredEvents( Event, aParms ) }
        :SetDataProvider( "Provider=custom" )
        :DataProvider:open()
        :ShowCaptionBar = ( .f. )
        :ShowCaptionBarSwitchViewButtons = ( .f. )  //turn off switch from day, week, month view on capbar
        :ViewType = ( xtpCalendarDayView )
        :EnableToolTips(.t.)
        :DayView:TimeScaleMinTime = ( [7:00:00 AM] )
        :DayView:TimeScaleMaxTime = ( [7:00:00 PM] )
        :DayView:TimeScale = ( 15 )
    :Options:WorkDayStartTime = ( [7:00:00 AM] )
        :DayView:ScrollToWorkDayBegin()     //scroll the view to the work day starting time
        :Options:DayViewTimeScaleShowMinutes = ( .t. )
    :EnableReminders( .t. )
    :RemindersUpdatePeriod = ( [12:10:00 AM] )  // Sample has #12:10:00 AM#   Call is as Date
  end

  ::oPanelCalex:oClient = ::oCalex


RETURN self  
 

Re: FWH 2310 Active X problem ?

Posted: Fri Nov 03, 2023 7:42 pm
by Antonio Linares
Dear Tim,

Please try to reproduce it and post here the error.log

many thanks for your feedback and apologizes for the trouble

Re: FWH 2310 Active X problem ?

Posted: Fri Nov 03, 2023 8:08 pm
by paquitohm
Hi,

Perhaps it's a old OLE system error(s)

https://forums.fivetechsupport.com/view ... 54#p248345

Re: FWH 2310 Active X problem ?

Posted: Fri Nov 03, 2023 8:16 pm
by TimStone
Here is the error log. The Calendar dies in the build. As I said, it works perfectly with 2306 and ALL versions prior to that. I rebuilt it exactly the same going back to 2306, to eliminate the possibility of any change in my code, and it works perfectly.

For the complete code ( essentially ), look at schedules.prg in the FWH samples folder.

Code: Select all | Expand

.Application
===========
   Path and name: C:\MLS12c\MLS12x64.exe (64 bits)
   Size: ********* bytes
   Compiler version: Harbour 3.2.0dev (r2004201301)
   FiveWin  version: FWH 23.10
   C compiler version: Microsoft Visual C 19.26.28806 (64-bit)
   Windows 11 64 Bits version: 6.2, Build 9200 

  MLS version: 12.34.11

   Computer name:     JOY1
   User:              iamam
   Program user ID    MARK
   Time from start: 0 hours 0 mins 53 secs 
   Error occurred at: 11/03/23, 08:32:48
   Connection Type: You are connected to the Advantage Client Server 
   Error description: Error BASE/1132  Bound error: array access
   Args:
     [   1] = A   {} length: 0
     [   2] = N   1

Stack Calls
===========
   Called from: mlscalendar.prg => MPCAL:RETRIEVEDAYEVENTS( 344 )
   Called from: mlscalendar.prg => MPCAL:XTRMCALTRIGGEREDEVENTS( 206 )
   Called from: mlscalendar.prg => (b)MPCAL_BUILDCALEX( 418 )
   Called from: .\source\classes\ACTIVEX.PRG => THACTIVEX:EVENT( 0 )
   Called from: .\source\classes\ACTIVEX.PRG => (b)THACTIVEX_INIT( 0 )
   Called from:  => WIN_OLEAUTO:_VIEWTYPE( 0 )
   Called from: .\source\classes\ACTIVEX.PRG => THACTIVEX:HB_EXECFROMARRAY( 0 )
   Called from: .\source\classes\ACTIVEX.PRG => THACTIVEX:_VIEWTYPE( 0 )
   Called from: mlscalendar.prg => MPCAL:BUILDCALEX( 423 )
   Called from: mlscalendar.prg => MPCAL:NEW( 167 )
   Called from: aMLS12.prg => (b)MAIN( 467 )
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK( 0 )
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP( 0 )
   Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 0 )
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT( 0 )
   Called from: .\source\classes\WINDOW.PRG => _FWH( 0 )
   Called from:  => WINRUN( 0 )
   Called from: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE( 0 )
   Called from: aMLS12.prg => MAIN( 732 )

System
======
   Hardware memory: 16256 megs

   Free System resources: 90 %
        GDI    resources: 90 %
        User   resources: 90 %

   Windows total applications running: 7
      1 ,                                                                                                     
      2 , C:\MLS12c\MLS12x64.exe                                                                             
      3 , C:\WINDOWS\System32\SHELL32.dll                                                                    
      4 , C:\WINDOWS\System32\shcore.dll                                                                     
      5 DDE Server Window, C:\WINDOWS\System32\ole32.dll                                                                      
      6 GDI+ Window (TabTip.exe), C:\WINDOWS\WinSxS\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.22621.1778_none_57fe2016ce15
      7 XTPCalendarMsgNotifier, C:\MLS12c\Codejock.Calendar.UNICODE.x64.v20.3.0.ocx                                                

Variables in use
================
   Procedure     Type   Value
   ==========================
   MPCAL:RETRIEVEDAYEVENTS
     Param   1:    O    Class: ERROR
   MPCAL:XTRMCALTRIGGEREDEVENTS
     Param   1:    A    Len:    0
     Local   1:    U    
     Local   2:    U    
     Local   3:    U    
     Local   4:    U    
     Local   5:    U    
     Local   6:    S    @LEFT()
     Local   7:    U    
     Local   8:    S    @TTOS()
     Local   9:    U    
     Local  10:    A    Len:    0
     Local  11:    N    1
     Local  12:    U    
     Local  13:    U    
   (b)MPCAL_BUILDCALEX
     Param   1:    C    "DoRetrieveDayEvents"
     Param   2:    A    Len:    0
     Local   1:    U    
   THACTIVEX:EVENT
     Param   1:    C    "DoRetrieveDayEvents"
     Param   2:    A    Len:    0
     Param   3:    A    Len:    0
   (b)THACTIVEX_INIT
     Param   1:    N    50
     Local   1:    A    Len:    0
     Local   2:    N    50
     Local   3:    N    31
     Local   4:    C    "DoRetrieveDayEvents"
     Local   5:    S    @EVAL()
   WIN_OLEAUTO:_VIEWTYPE
     Param   1:    N    50
     Param   2:    D    11/03/23
     Param   3:    O    Class: WIN_OLEAUTO
   THACTIVEX:HB_EXECFROMARRAY
     Param   1:    N    0
     Local   1:    N    50
     Local   2:    P    0x2248EE03038
     Local   3:    U    
   THACTIVEX:_VIEWTYPE
     Param   1:    O    Class: WIN_OLEAUTO
     Param   2:    C    "_VIEWTYPE"
     Param   3:    A    Len:    1
   MPCAL:BUILDCALEX
     Param   1:    N    0
   MPCAL:NEW
     Local   1:    O    Class: MPCAL
     Local   2:    U    
     Local   3:    O    Class: THACTIVEX
     Local   4:    P    0x2248EDECD28
   (b)MAIN
     Local   1:    O    Class: MPCAL
     Local   2:    O    Class: TICON
     Local   3:    O    Class: MPCAL
   TBTNBMP:CLICK
     Param   1:    O    Class: TBTNBMP
   TBTNBMP:LBUTTONUP
   TCONTROL:HANDLEEVENT
     Param   1:    N    57
     Param   2:    N    27
     Param   3:    N    0
     Local   1:    L    .T.
     Local   2:    N    0
     Local   3:    S    @CLICK()
   TBTNBMP:HANDLEEVENT
     Param   1:    N    514
     Param   2:    N    0
     Param   3:    N    3735579
     Local   1:    U    
   _FWH
     Param   1:    N    514
     Param   2:    N    0
     Param   3:    N    3735579
   WINRUN
     Param   1:    N    3735579
     Param   2:    N    514
     Param   3:    N    0
     Param   4:    N    3735579
     Param   5:    N    7
     Local   1:    O    Class: TBTNBMP
   TWINDOW:ACTIVATE
     Param   1:    N    8848590
   MAIN
     Param   1:    C    "NORMAL"
     Param   2:    U    
     Param   3:    U    
     Param   4:    U    
     Param   5:    U    
     Param   6:    B    {|| ... }
     Param   7:    U    
     Param   8:    U    
     Param   9:    U    
     Param  10:    U    
     Param  11:    U    
     Param  12:    U    
     Param  13:    U    
     Param  14:    U    
     Param  15:    U    
     Param  16:    U    
     Param  17:    B    {|| ... }
     Param  18:    U    
     Param  19:    U    
     Param  20:    L    .F.
     Local   1:    O    Class: TWINDOW
     Local   2:    U    
     Local   3:    U    

Re: FWH 2310 Active X problem ?

Posted: Fri Nov 03, 2023 8:18 pm
by Antonio Linares
Dear Tim,

Please post the source code for this line:

mlscalendar.prg => MPCAL:RETRIEVEDAYEVENTS( 344 )

Re: FWH 2310 Active X problem ?

Posted: Fri Nov 03, 2023 8:25 pm
by TimStone
Please look at schedule.prg in the FWH\Samples folder. That is essentially the full code.

Code: Select all | Expand

. METHOD RetrieveDayEvents( aParms ) CLASS MpCal

    local oEvent
    local cDate     := Left( TtoS( aParms[ 1 ] ), 8 )
    local oEvents := aParms[ 2 ] 
    local nRecno := ::oApt:recno()
    local nOrder := ::oApt:setOrder()

    ::oApt:setorder( "aswbeg" )
    ::oApt:gotop( )
    ::oApt:Seek( cDate ) 

    WHILE ! ::oApt:eof() .AND. left( ::oApt:aptbeg, 8 ) == cDate
    
        oEvent := ::oCalex:DataProvider:CreateEventEx( ::oApt:aptseq  )
        
        WITH Object oEvent
            :Subject = (::oApt:aptsum)
            :StartTime = ( StoT( ::oApt:aptbeg ) )
            :EndTime = ( StoT( ::oApt:aptend ) )
            :body = ( ::oApt:aptnot )
      :Label = ( ::oApt:aptclr )
      :Reminder = ( ::oApt:aptrem )
      :ReminderMinutesBeforeStart = ( ::oApt:aptitv )
      :AllDayEvent = ( ::oApt:AptAld )
      :MeetingFlag = ( ::oApt:AptMtg )
      :PrivateFlag = ( ::oApt:AptPri )
      :Importance = ( ::oAPt:AptImp )
      :BusyStatus = ( ::oApt:AptBsy )

        END
    
        oEvents:add( oEvent )
        ::oApt:Skip( )

    END
    
  ::oApt:setorder( nOrder )
  ::oApt:goto( nRecno )
    
Return Nil
               

Re: FWH 2310 Active X problem ?

Posted: Fri Nov 03, 2023 8:32 pm
by Antonio Linares
Is this one the line 344 ?

local cDate := Left( TtoS( aParms[ 1 ] ), 8 )

Re: FWH 2310 Active X problem ?

Posted: Fri Nov 03, 2023 8:38 pm
by Antonio Linares
Dear Tim,

Just in case, please download FWH.exe again and reinstall it and try it again

We have implemented some late changes and lets check if they are related

many thanks

Re: FWH 2310 Active X problem ?

Posted: Fri Nov 03, 2023 8:55 pm
by TimStone
Antonio,

Same issue. I just emailed you the full source file for the class and the error code that was generated with the newly downloaded file.

I hope your server doesn't reject the attachment. It is small, and I changed .zip to .mls

Tim

Re: FWH 2310 Active X problem ?

Posted: Fri Nov 03, 2023 9:48 pm
by Antonio Linares
got it, thank you

we need a demo version of codejock to test schedule.prg example

Re: FWH 2310 Active X problem ?

Posted: Fri Nov 03, 2023 10:10 pm
by Antonio Linares
Dear Tim,

I just sent you some FWH modified libs, please test them and let me know if the error gets solved

many thanks for your help

Re: FWH 2310 Active X problem ?

Posted: Sat Nov 04, 2023 8:19 am
by Antonio Linares
Dear Tim,

We have found and fixed the error. Please download FWH.exe again, install it and try it

many thanks for your help

we are sorry for the inconveniencies

Re: FWH 2310 Active X problem ?

Posted: Sat Nov 04, 2023 6:07 pm
by TimStone
Thank you. That is working.

I will test other areas very carefully to see if there are any more issues.

Tim

Re: FWH 2310 Active X problem ?

Posted: Sat Nov 04, 2023 7:02 pm
by Antonio Linares
great!

many thanks for your so valuable feedback :-)