To clarify - If the user clicks ONCE, the app works correctly? Yes, except when a particular sequence of steps is involved in which case it consistently happens on the first click. The sequence of steps are ones that a user would likely execute, so this is a significant issue.
Have you tested to see if the same error occurs in another, different DataWindow Control? No. The problem doesn't happen after the second click. It happens sometime after the first click. Also, it also always happens on the first click after a particular sequence of steps, but I would need to send you an installation program so you have the entire program to execute the sequence of steps.
The only consistent thing I can say about it is that when I run the debugger, the crash happens after the clicked event exits and before any other debuggable code executes.
Does the app crash when running from the IDE, when compiled/deployed, or both? Both
Is the application running as 32-bit or as 64-bit? 64-bit
Does the user click twice in rapid succession (such as when double-clicking) or is there a pause between clicks? Have you tested to see if there is some threshold (delay) that permits the app to work without crashing? There is a pause between clicks.
Is the app built using a framework, such as the PFC or STD class libraries? We use an old version of the PFC
Is the DW Control a descendant inherited from an ancestor DW control? Yes.
Does the DataWindow Control (or any ancestor DWC) have code present in any of the following events?
- Clicked (This is ancestor code. If I put a RETURN 0 statement in the descendant and turn off Extend Ancestor Script I get the same crashing behavior immediately after the clicked event)
//////////////////////////////////////////////////////////////////////////////
// Event: clicked
// Description: DataWindow clicked
//////////////////////////////////////////////////////////////////////////////
// Rev. History Version
// 5.0 Initial version
// 6.0 Added Linkage service notification
// 6.0 Introduced non zero return value
// 7.0 Do not bypass processing on linkage failure.
// 7.0 Linkage service should not fire events when querymode is enabled
//////////////////////////////////////////////////////////////////////////////
// Copyright © 1996-2000 Sybase, Inc. and its subsidiaries. All rights reserved. Any distribution of the
// PowerBuilder Foundation Classes (PFC) source code by other than Sybase, Inc. and its subsidiaries is prohibited.
//////////////////////////////////////////////////////////////////////////////
integer li_rc
boolean lb_disablelinkage
// Check arguments
if IsNull(xpos) or IsNull(ypos) or IsNull(row) or IsNull(dwo) then return
// Is Querymode enabled?
if IsValid(inv_QueryMode) then lb_disablelinkage = inv_QueryMode.of_GetEnabled()
if not lb_disablelinkage then
if IsValid (inv_Linkage) then
if inv_Linkage.Event pfc_clicked ( xpos, ypos, row, dwo ) = &
inv_Linkage.PREVENT_ACTION then
// The user or a service action prevents from going to the clicked row.
return 1
end if
end if
end if
if IsValid (inv_RowSelect) then inv_RowSelect.Event pfc_clicked ( xpos, ypos, row, dwo )
if IsValid (inv_Sort) then inv_Sort.Event pfc_clicked ( xpos, ypos, row, dwo )
- DoubleClicked Yes, but no double-clicking is involved.
- ButtonClicking No
- LButtonDown (or a user event mapped to pbm_dwnlbuttondown)
//////////////////////////////////////////////////////////////////////////////
// Event: lbuttondown
// Description: Send lbuttondown notification to services
//////////////////////////////////////////////////////////////////////////////
// Rev. History Version
// 5.0 Initial version
//////////////////////////////////////////////////////////////////////////////
// Copyright © 1996-2000 Sybase, Inc. and its subsidiaries. All rights reserved. Any distribution of the
// PowerBuilder Foundation Classes (PFC) source code by other than Sybase, Inc. and its subsidiaries is prohibited.
//////////////////////////////////////////////////////////////////////////////
if IsValid (inv_RowSelect) then inv_RowSelect.event pfc_lbuttondown (flags, xpos, ypos)
- LButtonUp (or a user event mapped to pbm_dwnlbuttonup).
//////////////////////////////////////////////////////////////////////////////
// Event: lbuttonup
// Description: Send lbuttonup notification to services
//////////////////////////////////////////////////////////////////////////////
// Rev. History Version
// 5.0 Initial version
//////////////////////////////////////////////////////////////////////////////
// Copyright © 1996-2000 Sybase, Inc. and its subsidiaries. All rights reserved. Any distribution of the
// PowerBuilder Foundation Classes (PFC) source code by other than Sybase, Inc. and its subsidiaries is prohibited.
//////////////////////////////////////////////////////////////////////////////
if IsValid (inv_RowSelect) then inv_RowSelect.event pfc_lbuttonup (flags, xpos, ypos)
Would you be able/willing to include the ButtonClicked event script?
iw_Parent.EVENT ue_LogEvent( THIS, "Event ButtonClicked")
// Open window to prompt for values file
of_LoadCustomValues( Row )
Best regards, John