1. Mike Kochevar
  2. PowerBuilder
  3. Thursday, 3 December 2020 05:07 PM UTC

Hello,

I am in the process of moving a powerbuilder app from PB12.5 to PB2019. The migration was a success except for one error. When a user clicks on the Window option in the toolbar the app freezes and then eventually crashes. I have found this error in the Event Viewer...

 

Faulting application name: PB190.EXE, version: 19.1.0.2353, time stamp: 0x5f14536e
Faulting module name: KERNELBASE.dll, version: 10.0.17763.1613, time stamp: 0xa4105fac
Exception code: 0xc000041d
Fault offset: 0x001225f2
Faulting process id: 0xa78
Faulting application start time: 0x01d6c9953bcd00d9
Faulting application path: C:\Program Files (x86)\Appeon\PowerBuilder 19.0\PB190.EXE
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report Id: f04764c7-ee47-4f58-b581-7ccef2b0840a
Faulting package full name:
Faulting package-relative application ID:

 

Here is the code in the Selected() event for the Window option...

 

//////////////////////////////////////////////////////////////////////////////
//
// Event: selected
//
// Description:
// Enables menu items based on sheet manager service
//
//////////////////////////////////////////////////////////////////////////////
//
// Revision History
//
// Version
// 5.0 Initial version
// 6.0.01 Remove logic to disable menu items after windows have been minimized
//
//////////////////////////////////////////////////////////////////////////////
//
// Copyright © 1996-1997 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.
//
//////////////////////////////////////////////////////////////////////////////

any la_rc
boolean lb_normal
integer li_rc
integer li_sheetcount
integer li_cnt = 1
arrangetypes le_arrange
n_cst_menu lnv_menu
window lw_obj
window lw_sheet[]
w_frame lw_frame

// Get frame window
li_rc = lnv_menu.of_GetMDIFrame (this, lw_obj)
if li_rc < 0 then
return
end if

// Determine if frame is a PFC frame descendant
la_rc = lw_obj.dynamic event pfc_descendant()
if IsNull (la_rc) then
return
end if
lw_frame = lw_obj

// If sheetmanager service is enabled, allow for undo and minimize capabilities
if IsValid (lw_frame.inv_sheetmanager) then

// First determine if there are any nonminimized sheets open
li_sheetcount = lw_frame.inv_sheetmanager.of_GetSheets (lw_sheet)
do while li_cnt <= li_sheetcount and not lb_normal
if lw_sheet[li_cnt].windowstate <> minimized! then
lb_normal = true
end if
li_cnt++
loop

this.m_undoarrange.enabled = true
this.m_minimizeall.enabled = lb_normal
this.m_cascade.enabled = lb_normal
this.m_layer.enabled = lb_normal
this.m_tilehorizontal.enabled = lb_normal
this.m_tilevertical.enabled = lb_normal

// Get current arrange state of windows and set undo text
le_arrange = lw_frame.inv_sheetmanager.of_GetCurrentState()
choose case le_arrange
case tile!
this.m_undoarrange.text = "&Undo Tile Vertical"
this.m_undoarrange.microhelp = "Undoes vertical tile arrangement of windows"
case tilehorizontal!
this.m_undoarrange.text = "&Undo Tile Horizontal"
this.m_undoarrange.microhelp = "Undoes horizontal tile arrangement of windows"
case cascade!
this.m_undoarrange.text = "&Undo Cascade"
this.m_undoarrange.microhelp = "Undoes cascaded arrangement of windows"
case layer!
this.m_undoarrange.text = "&Undo Layer"
this.m_undoarrange.microhelp = "Undoes layered arrangement of windows"
case icons!
this.m_undoarrange.text = "&Undo Minimize All"
this.m_undoarrange.microhelp = "Undoes minimization of windows"
case else
this.m_undoarrange.enabled = false
this.m_undoarrange.text = "&Undo"
this.m_undoarrange.microhelp = "Undo"
end choose
else
this.m_minimizeall.enabled = false
this.m_undoarrange.enabled = false
end if

When I debug through this event there is no crash but the menu does not display. 

Any help on this matter would be appreciated,

Thank you,

Mike


Responses (5)
  1. Likes
  2. Latest
  3. Oldest
Loading...

Find Questions by Tag

.EXE .NET 6.0 .NET Assembly .NET Core 3.1 .NET Core Framework .NET DataStore .NET Std Framework 32-bit 64-bit ADO.NET AEM AI Algorithm Amazon AWS Android Apache API APK App Store App Store (Apple) Appeon Workspace Appeon Xcelerator Plug-in Architecture Array ASE Asynchronous Methods Authentication AutoBuild AutoCompiler Automated Testing Automation AutoScript Azure Barcode Base64 Batch BigData BLOB Branch & Merge Browser Bug Build Button C# C# Class Importer C# Editor C# Model generator Calendar Camera Certificate Chrome Citrix Class Client Client/Server Cloud Cluster Collection COM Command Line Compiler Compression Computed Field Configuration Controls Cookies Cordova Crash Cross-Platform Crosstab CSharpAssembly CSharpObject CSS CSV Cursor Data Database Database Driver Database Painter Database Profile Database Provider DataObject DataSource DataStore DataStore (C#) DataStore (PS) DataType DataWindow DATE DATETIME DB2 Debug Debugger Debugging Deployment Design DLL DO-WHILE Dockable Docker Documentation DOUBLE Download DragDrop Edge Edit Style Editor Elevate Conference Email Embedded SQL Emulator Encoding Encryption Enhancement Request Entity Entity Framework ERP Error Event Event Handler Event Handling Excel Exception Export Expression External Functions F# Field File File Access Filter Firefox Firewall Font FOR-NEXT Foreground Format Function Garbage Collection GeoLocation Git Graph HANA Hash Header HTML/5 HTTP/S HTTPClient Icon IDE Identity IIS IMAPI Import InfoMaker Inheritance Installation Integer IntelliSense Interface Internet Internet Explorer iOS IPA iPad iPhone IWA J# Java JavaScript JBoss JDBC JOIN JSON JSONGenerator JSONParser Kestrel Label Lambda Large File LDAP Library License LINQ Linux OS Load Balancing Localization Localized PBVM Log In Log Out Logging LONG LONGLONG macOS MAPI Maps MDI Memory Memory Leak Menu Merge MessageBox Messagging Method Migration MIME TYPE Mobile Model ModelStore ModelStore (C#) MSOLEDBSQL Multi Threading MVC MySQL n-Tier Namespace NativePDF NVO OAuth ODATA ODBC Office Offline OLE OLEDB Online Open Source OpenAPI OpenSSL Oracle OrcaScript Other Outlook Output Package Parameter Patch PayPal PB Classic PB Native PB.NET PBC PBD PBDOM PBG PBJVM PBL PBNI PBORCA PBVM PBX PDF Performance Permission PFC Picture Pipeline Play Store (Google) Plugin Popup Port POST PostgreSQL PowerBuilder PowerBuilder (Appeon) PowerBuilder (SAP) PowerBuilder Compiler PowerBuilder Runtime PowerClient PowerScript (PS) PowerScript IDE PowerScript Migrator PowerServer PowerServer Mobile PowerServer Toolkit PowerServer Web PowerServerLabel Print Properties Proxy Publish PULL PUSH Query Regression Release Renew Resize Response REST Retrieve RibbonBar RibbonBar Builder Rich Text Roadmap RPC Runtime Packager SaaS Scaffolding Script SDI SDK Security Server Service Session Single Sign-on Size SMTP SMTPClient SnapDevelop SOAP Sort Source Code Speech Recognition SQL SQL Anywhere SQL Server SqlBuilder SqlExecutor SQLite SqlModelMapper Storage Stored Procedure Subscription SVN Swagger Syntax TabbedBar TabbedView Tablet TabPage Target TE Control Testing Text TFS Theme TIME Timer TLS/SSL Tomcat TortoiseGit TortoiseSVN Transaction Transparency Trial Trigger TRY-CATCH TX Control Type UI ULONG UltraLite Uninstall Unit Test Unit Testing UNIX OS Update Upgrade Upload URL User Center User Object UWP Validation VARCHAR Variable Versioning Visual Studio Visual Studio Code VM Voice Warning WCF Web API Web Extensions Web Service WebBrowser WebForms WebLogic WebSphere WildFly WinAPI Window Windows OS WinForms Wizard Workgroup Workspace WPF XCODE XHTML XML Zoom

Helpful?

If a reply or comment is helpful for you, please don’t hesitate to click the Helpful button. This action is further confirmation of their invaluable contribution to the Appeon Community.