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
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