Integrated Foundation Classes (2020R1) Released!
"THE" Framework for Appeon PowerBuilder & PowerServer!
(v2020.1.0.148 - April 13, 2020)
Actual application built from the Integrated framework! |
STD are also very excited as this release represents another significant enhancement to the Integrated framework
that really further exemplifies the power of the Appeon PowerBuilder 2019 MR2170 development environment! The new
framework combined with the current PowerBuilder and/or PowerServer products, positions developers to take
advantage of today's Agile and DevOps methodologies. Plus it further enhances a
new GUI "punch" in your Native, Web and Mobile Apps without buying
expensive add-on products.
For a summary of the previous framework version's feature sets for 2019, please follow these links - 2019R2, 2019R2-1, 2019R3-2 and 2019R4. Note that STD has now released 4 new versions of the framework in 2019. This is only the first exciting release in the 2020 calendar year!
For a summary of the previous framework version's feature sets for 2019, please follow these links - 2019R2, 2019R2-1, 2019R3-2 and 2019R4. Note that STD has now released 4 new versions of the framework in 2019. This is only the first exciting release in the 2020 calendar year!
The following are some of the key highlights of the new 2020R1 Integrated Foundation Class library and Appeon PowerBuilder 2019 MR2170 versions at work, as follows:
Memory Usage Tracking
Machine and DataWindow resource tracking |
The latest Integrated framework version contains the following updates and has been tested with the latest MS-Windows 10 O/S (Build 18362), PB 2019 MR2170 and the PowerServer 2019 builds #2170. Testing inside of PB included Win32 (both P-code & M-code) and Win64 (P-code) deployments. Testing inside of PowerServer Web & Mobile included latest Web Browsers, latest Apple Tablet / Smart Phone and Android Tablet / Smart Phone deployments.
Note: All the STD frameworks are free and can be downloaded from its STD Foundation Classes SourceForge project website..
Release 2020.1.0.148 - Major Release (2020R1) - change highlights ...
- Migrated framework from PB2019 build 2082 to PB2019 build 2170
- Revised "of_set_powerserver_environment_info" method in "nc_app_controller_master" object class to set bitness on mobile devices & fix 64bit detection on Web Apps
- Revised "of_write_event" method in "nc_app_controller_master" object class to remove code when in 64 bit WEB mode due to PS2019 bug (Ticket#3351)
- Revised "Constructor" method in "nc_app_controller_master" object class to check INI file for RTE Check Type indicator before actually checking
- Revised "of_commit" method in "ns_sqlca_master" object class to log the COMMIT command when in debug mode
- Revised "of_disconnect" method in "ns_sqlca_master" object class to log the Disconnect command if SQL Tracing is ON!
- Revised "of_connect" method in "ns_sqlca_master" object class to log the Connect command if SQL tracing is ON
- Revised "of_connect" method in "ns_sqlca_master" object class to get messages from message service vs hard coded
- Revised "oe_tab_out" method in "vs_dc_master" object class to Added special DW mapping for further use
- Revised "oe_tabup_out" method in "vs_dc_master" object class to Added special DW mapping for further use
- Revised "oe_tabdown_out" method in "vs_dc_master" object class to Added special DW mapping for further use
- Revised "oe_escape" method in "vs_dc_master" object class to Added special DW mapping for further use
- Revised "scrollhorizontal" method in "vs_dc_master" object class to handle whether Pane#1 scrolls when DW in Split mode
- Revised "fn_build_number" object class to Updated code to use current App's INI file
- Revised "selected" method in "mu_application_master" object class to removed old WPF code
- Revised "Constructor" method in "nc_app_controller_master" object class to check the O/S privileges and also log the status (enabled = Y/N)
- Added "oe_android_back_button" method in "nc_app_controller_master" object class to Receives control from the framework when the Andoid device's BackButton is pressed.
- Revised "of_check_exe_version" method in "nc_app_controller_master" object class to Remove old #IF WebService code as these features are deprecated
- Revised "of_set_cpu_affinity" method in "nc_app_controller_master" object class to Remove old WPF and Winform code as these features are deprecated
- Added "of_is_audit_trail" method in "nc_app_controller_master" object class to be called by the framework or PB App
- Revised "of_set_cpu_affinity" method in "nc_app_controller_master" object class to Remove old WPF and Winform code as these features are deprecated
- Revised "Constructor" method in "nc_app_controller_master" object class to check for the presence of an INI in a PowerServer App as well.
- Revised "oe_post_constructor" method in "nc_app_controller_master" object class to Remove old WPF code line
- Revised "of_browseforfolder" method in "nc_powershell_master" object class to check for the presence of an INI in a PowerServer App as well.
- Created new "nc_powershell_master" object class to interface with O/S "PowerShell" feature
- Added "of_browseforfolder" method in "nc_powershell_master" object class to Introspects the O/S privileges
- Revised "ns_ds_master" object class to Added statistical counters for DML activity tracking
- Added "of_is_external_source" method in "ns_ds_master" object class to Checks the current DWO if its an "External" type
- Revised "sqlpreview" method in "ns_ds_master" object class to added SQL Function & Type tracking / logging feature
- Revised "retrievestart" method in "ns_ds_master" object class to added code to check for invalid DWO versions and external DWOs being retrieved!
- Added "of_is_external_source" method in "vs_dc_master" object class to checks the current DWO if its an "External" type
- Revised "retrievestart" method in "vs_dc_master" object class to check for invalid DWO versions and external DWOs being retrieved!
- Revised "sqlpreview" method in "ns_ds_master" object class to Added SQL Function & Type tracking / logging feature
- Revised "sqlpreview" method in "wn_controller_master" object class to Added SQL Function & Type tracking / logging feature
- Revised "ns_ds_master" object class to Activate the Horizontal Scroll and Vertical Scroll properties by default to ON
- Revised "resize" method in "wn_logon_master" object class to remove old WinForm code
- Revised "of_set_cpu_affinity" method in "nc_app_controller_master" object class to handle up to 64 CPU's (ie: 32+) on large servers
- Revised "of_set_cpu_affinity" method in "nc_app_controller_master" object class to Changed the code to restrict Affinity setting if > 64 CPU's
- Revised "of_set_cpu_affinity" method in "nc_app_controller_master" object class to Refactored the code to allow PowerServer Web Apps to assign a CPU
- Revised "of_is_user_administrator" method in "nc_app_controller_master" object class to Refactored the code to allow PowerServer Web Apps to assign a CPU
- Added "of_is_run_as_administrator" method in "nc_app_controller_master" object class to Returns whether the current application has been started by "Run As Admin" command
- Revised "of_register_nvuo" method in "nc_app_controller_master" object class to Tracks NVUO's of all types and assigns a tracking number
- Revised "of_is_run_as_administrator" method in "nc_powershell_master" object class to Check if the user running the App is an Admin
- Revised "of_register_nvuo" method in "nc_app_controller_master" object class to Tracks NVUO's of all types and assigns a tracking number
- Revised "Destructor" method in "nc_app_controller_master" object class to enhance the SQL tracing to the App's log.
- Revised "wn_response_master" object class to Tracks NVUO's of all types and assigns a tracking number
- Added "ib_move_outside_app" variable in "wn_response_master" object class to control Response's movement behaviour outside of the App
- Revised "oe_postconstructor" event in "wn_contact_pipeline_e" object class to Fix the "Owner" pointer.
- Revised "oe_postconstructor" event in "mu_master" object class to clean-up the DataStore when the Menu is about to be destroyed
- Revised "of_set_theme" method in "nc_app_controller_master" object class to use a relative path if App is running as an EXE
- Added "of_get_all_registered_nvuos" method in "nc_app_controller_master" object class to Returns all the NVUO pointers that have been registered!/
- Revised "of_register_nvuo" method in "nc_app_controller_master" object class to add a PB generated tracking Number (PBVM does not support NVUO "Handle").
- Revised "nc_pbdebug_pbvm190"object class to Revised DLL name to match PB2019 run-time name
- Revised "of_get_tracker_no" method in "ns_ds_master" object class to Get Framework's assigned "tracking #" for the NVUO in question
- Revised "oe_postconstructor" method in "ns_sqlca_master" object class to register this class with the App Controller for tracking!
- Added "oe_dw_mousemove" method in "vs_dc_master" object class to allow DW Object's mouse move notification
- Revised "oe_close_all" method in "nc_app_controller_master" object class to stop All drawing when multiple closes are happening
- Revised "SelectionChanged" method in "wn_debug_list_master" object class to Added a new tab page for NVUO processing
- Revised "Open" method in "wn_main_master" object class to always check for a valid Window pointer
- Added "oe_syscommand" method in "wn_response_master" object class to trap the Left mouse click on the Window title bar
- Revised "of_check_ps_version" method in "nc_app_controller_master" object class to remove the use of the "of_getappeonadtversion" method. Deprecated in PS2019 (Build 2170)
- Added "of_get_sqlstate" method in "ns_ds_master" object class to get the SQLState value from the SQL Error Text data
- Revised "dbError" method in "ns_ds_master" object class to capture the DBMS's SQLState if using ODBC client AND log more information about the DBMS error
- Added "of_get_sqlstate" method in "ns_sqlca_master" object class to get the SQLState value from the SQL Error Text data
- Revised "dbError" method in "ns_sqlca_master" object class to capture the last SQLState values returned; capture the DBMS's SQLState if using ODBC client AND Get, Save and Log the SQL State value(s)
- Added "oe_paste" method in "vc_em_hinttext_master" object class to Show or Hide "hittext" as required
- Added "oe_copy" method in "vc_em_hinttext_master" object class to Show or Hide "hittext" as required
- Added "oe_cut" method in "vc_em_hinttext_master" object class to Show or Hide "hittext" as required
- Revised "oe_paste" method in "nc_app_controller_master" object class to Show or Hide "hittext" as required
- Added "of_get_sqlstate" method in "ns_dc_master" object class to get the SQLState value from the SQL Error Text data
- Revised "dbError" method in "ns_dc_master" object class to capture the DBMS's SQLState if using ODBC client AND log more information about the DBMS error
- Added "oe_paste" method in "vs_em_master" object class to Perform a "paste" to O/S Clipboard interaction.
- Added "oe_copy" method in "vs_em_master" object class to Perform a "copy" to O/S Clipboard interaction.
- Added "oe_cut" method in "vs_em_master" object class to Perform a "cut" to O/S Clipboard interaction.
- Added "oe_copy" method in "vs_mle_master" object class to Perform a "copy" to O/S Clipboard interaction.
- Added "oe_cut" method in "vs_mle_master" object class to Perform a "cut" to O/S Clipboard interaction.
- Added "oe_copy" method in "vs_sle_master" object class to Perform a "copy" to O/S Clipboard interaction.
- Added "oe_cut" method in "vs_sle_master" object class to Perform a "cut" to O/S Clipboard interaction.
- Added "oe_copy" method in "vs_rte_master" object class to Perform a "copy" to O/S Clipboard interaction.
- Added "oe_cut" method in "vs_rte_master" object class to Perform a "cut" to O/S Clipboard interaction.
- Revised "of_generate_dw_json" method in "ns_json_generator_master" object class to Correct the DS destroy process
- Revised "of_get_groups" method in "nc_active_directory_master" object class to register the parent of "ns_oleobject_master"
- Revised "of_get_machine_name" method in "nc_active_directory_master" object class to register the parent of "ns_oleobject_master"
- Revised "of_get_group_membership" method in "nc_active_directory_master" object class to register the parent of "ns_oleobject_master"
- Revised "of_is_login_valid" method in "nc_active_directory_master" object class to register the parent of "ns_oleobject_master"
- Revised "Constructor" method in "nc_active_directory_master" object class to register the parent of "ns_oleobject_master"
- Revised "Close" method in "nc_app_controller_master" object class to call "of_log_nvuo_usage" function that lists NVUO's still open at close; clean-up DS/DWO used for memory statistics AND save Memory/Device/Paging statistics if tracking is ON for analysis
- Added "oe_application_memory_changed" method in "nc_app_controller_master" object class to Monitor / acivated when DW Object's memory has changed.
- Revised "of_set_powerbuilder_environment_info" method in "nc_app_controller_master" object class to get the "Process ID" from local O/S
- Added "of_log_nvuo_usage" method in "nc_app_controller_master" object class to Log NVUO use at EOJ
- Added "of_get_process_id" method in "nc_app_controller_master" object class to Return O/S process ID captured at App start-up by the framework
- Added "of_check_available_memory" method in "nc_app_controller_master" object class to calculate how much resources the App is consuming.
- Revised "oe_post_constructor" method in "nc_master" object class to register the NVUO to the App Controller's NVUO tracker
- Revised "Constructor" method in "nc_powershell_master object class to register the parent of "ns_oleobject_master".
- Revised "oe_postconstructor" method in "ns_ds_master" object class to register the NVUO to the App Controller's NVUO tracker
- Added "oe_postconstructor" method in "ns_internet_master" object class to (Missing)
- Revised "oe_postconstructor" method in "vc_tp_about_device" object class to include better "Load" statistics
- Revised "Open" method in "nc_app_controller_master" object class to Remove Registration logic as Ancestor will now perform this processing
- Revised "oe_postconstructor" method in "wn_debug_list_master" object class to Remove check for MAIN window and let any Window class resolve it!
- Added "of_get_window_open_type" method in "wn_master" object class to Return the "worded" window type
- Revised "Open" method in "wn_master" object class to allow every window type to be tracked!
- Revised "pageleft" method in "wn_zoom_master" object class to Remove position computation as control does that automatically now
- Revised "pageright" method in "wn_zoom_master" object class to Remove position computation as control does that automatically now
- Revised "lineleft" method in "wn_zoom_master" object class to Remove position computation as control does that automatically now
- 106) Revised "lineright" method in "wn_zoom_master" object class to Remove position computation as control does that automatically now
- 107) Revised "fn_print_window" object class to handle the print if the "controller" window is not present
- 108) Added "of_register_nvuo" method in "nc_app_controller_master" object class to Monitor/acivate when DW Object's memory has changed.
- Revised "oe_close" method in "nc_app_controller_master" object class to clean-up DS/DWO used for memory statistics AND save Memory/Device/Paging statistics if tracking is ON for analysis
- Revised "of_check_available_memory" method in "nc_app_controller_master" object class to update mobile instance variables for viewing in debugger AND clear statistics DataStore if Memory Warp is ON
- Revised "of_check_available_memory" method in "nc_app_controller_master" object class to pass multiple data points via the common framework's structure AND update mobile instance variables for viewing in debugger AND clear statistics DataStore if Memory Warp is ON
- Added "of_write_console" method in "nc_app_controller_master" object class to allow messages to be written to the MS-Windows "Console"!
- Revised "Constructor" method in "nc_app_controller_master" object class to set Memory tracking / warning SW's and Threshold %'s
- Revised "oe_postconstructor" method in "vc_tp_about_processor" object class to
- Revised "oe_postconstructor" method in "wn_debug_list_master" object class to check if running within the PB IDE
- Revised "wn_debug_list_master" object class to Invoke the PB IDE's"Debugger"
- Revised "of_get_window_open_type" method in "wn_main_master" object class to use a function to get the Sheet type if not a special dock-able one
- Revised "oe_set_theme" method in "wn_master" object class to WortkAround for PB2019 R2 Theme issue when activating a new Theme
- Revised "Resize" method in "wn_master" object class to Check If in DEBUG mode and if so, write state to App log!
- Revised "oe_PostConstructor" method in "vc_tp_about_mobile" object class to get Device's platform name
- Added "oe_free_memory_warning" method in "nc_app_controller_master" object class to monitor critical application available memory when the memory % free drops below the threshold (as set in INI file)
The OrderEntry example application and the Integrated Framework's Documentation has also been updated to the new Integrated Foundation class 2020R1 framework version. You can download the example application from here. Also, check out the online "getting started" video series to accelerate your assimilation of the best framework for PowerBuilder & PowerServer!
Enjoy!
Regards ... Chris