1. David Peace (Powersoft)
  2. PowerBuilder
  3. Tuesday, 16 March 2021 11:49 AM UTC

Hi Guys

I have observed that using OpenTab in a constructor event of an object wipes out the Message object. This is a problem because the Window Open event has not yet fired to get the values. I can easily code round the issue but is this expected behavour?

I expect it's becuase you also have OpenTabWithParm as an option?

Forgot to say PB2019R3 Build 2670 - Same runtime.

Opinions please?

Cheers

David

 

Accepted Answer
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 16 March 2021 18:00 PM UTC
  2. PowerBuilder
  3. # Permalink

Hi David;

  Yes, its been that way since PB 3.0 - 4.0. What I do is always capture the current Message object's values either in a Constructor or an Open event. Then perform the OpenTabXxxxx and/or OpenUserObjectXxxx methods in a Post Constructor or Pot Open event. In fact, the entire STD Frameworks are designed that way. Never lost a good MO value yet. Food for thought.  ;-)

Regards ... Chris

Comment
  1. Chris Pollach
  2. Thursday, 18 March 2021 17:39 PM UTC
Hi David;

That is "Awesome" news.

PS: Us old (ahhh "mature") PB guys have to stick together ... LOL!

Regards ... Chris
  1. Helpful
  1. mike S
  2. Thursday, 18 March 2021 18:53 PM UTC
I'm confused - tab objects did not exist in version 1 of PB.



Also, opening a window does not clear out the message object. yet opening a tab object (apparently from david's post) does.

  1. Helpful
  1. Chris Pollach @Appeon
  2. Thursday, 18 March 2021 19:38 PM UTC
Opening anything dynamically in PB 1.0 (and higher) ... and inadvertently stepping on the message object has been a challenge since day #1. ;-)
  1. Helpful
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Thursday, 18 March 2021 22:29 PM UTC
  2. PowerBuilder
  3. # 1

Maybe not the brightest answer here, but since the message object is global and can be "wiped out" by more than one function or event, we could simply use a self created global variable instead for our means. That way, at least you don't have to worry about it being wiped out or when to catch it contents.

regards

Comment
  1. Miguel Leeuwe
  2. Friday, 19 March 2021 10:03 AM UTC
And not to rub things in Chris, but even you would agree there's no easy way around the use of global variables.

In your STD demo app 'OrderEntry' there's only one global variable, being an object, but ...

1099 uses whereas using global variables is a NO-NO!!!

( I do highly appreciate your assistence !)

---------- Search: Searching Target OES_Native for 'go_ac.' (09:50:12)

---------- 1099 Matches Found On "go_ac.":

OES_System.pbl(ap_orderentry)open.0031: go_ac.of_register ( THIS ) // Register Creator

OES_System.pbl(ap_orderentry)open.0037: go_ac.Trigger Event oe_open ( commandline ) // Transfer Control

OES_System.pbl(ap_orderentry)close.0027: go_ac.Trigger Event oe_Close ( ) // Peform AC Close

OES_System.pbl(ap_orderentry)systemerror.0027: go_ac.Trigger event oe_systemerror ( ) // Perform A.C. SystemError!

OES_System.pbl(ap_orderentry)idle.0027: go_ac.Trigger Event oe_idle ( ) // Perform A.C. Idle!

OES_Main.pbl(mu_oes_controller_e)oe_postconstructor.0001: call super::oe_postconstructor;IF go_ac.of_get_Client_type( ) <> "PB" THEN

OES_Main.pbl(mu_oes_controller_e).mi_framework.clicked.0002: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

OES_Main.pbl(mu_oes_controller_e).mi_powerbuilder.clicked.0002: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

OES_Main.pbl(mu_oes_controller_e).mi_appeonwebsite.clicked.0002: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

OES_Main.pbl(mu_oes_controller_e).mi_chrissblog.clicked.0002: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

OES_Main.pbl(mu_oes_controller_e).mi_stdframework.clicked.0002: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

OES_Main.pbl(mu_oes_controller_e).mi_stdincwebsite.clicked.0002: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

OES_Main.pbl(nc_ac_orderentry)oe_open.0020: // MessageBox ( "UUID", go_ac.of_generate_uuid( ) )

OES_Main.pbl(vc_oes_toolbar_e).dc_date_time.buttonclicked.0002: MessageBox ( go_ac.of_get_appl_display_name( ), THIS.tag ) // Test Message

OES_Main.pbl(vc_oes_tp_about_general_e).pt_logo.oe_postconstructor.0001: call super::oe_postconstructor;IF go_ac.of_is_pb_ide_active( ) = FALSE THEN

OES_Main.pbl(wn_controller_orderentry_e)oe_postopen.0031: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

OES_Main.pbl(wn_controller_orderentry_e)oe_postopen.0032: IF go_ac.of_is_dockable_app( ) = FALSE THEN // YES=>Dockable App?

OES_Main.pbl(wn_controller_orderentry_e)close.0003: ls_name = go_ac.of_get_appl_display_name ( )

OES_Main.pbl(wn_controller_orderentry_e)close.0004: go_ac.of_notification_display ( ls_name , "Good bye / Au revoir / Addio / Adiós" )

OES_Main.pbl(wn_controller_orderentry_e)oe_drop_files.0013: go_ac.of_messagebox ( ls_title, ls_msg, Information!, OK!, 1)

OES_Main.pbl(wn_logon_orderentry_e)oe_postopen.0004: ls_name = go_ac.of_get_appl_display_name ( )

OES_Main.pbl(wn_logon_orderentry_e)oe_postopen.0005: il_notification_id = go_ac.of_notification_display ( 5, ls_name , "Welcome / Bienvenue / Accoglienza / Bienvenida!")

OES_Main.pbl(wn_logon_orderentry_e)close.0029: go_ac.of_notification_remove ( il_notification_id ) // YES=>Remove it

OES_Main.pbl(wn_logon_orderentry_e).cb_ok.clicked.0050: IF go_ac.of_get_client_type ( ) = "PB" THEN // Native App?

OES_Main.pbl(wn_logon_orderentry_e).cb_ok.clicked.0081: go_ac.of_write_log ( ls_title + " - " + ls_msg ) // Log it!

OES_Main.pbl(wn_logon_orderentry_e).cb_ok.clicked.0082: go_ac.of_write_log ( "SQL STATE = " + ls_state ) // Log it!

OES_Main.pbl(wn_logon_orderentry_e).cb_ok.clicked.0083: go_ac.of_messagebox ( ls_title, ls_msg, Information!, OK!, 1) // Msg 2 user

OES_Main.pbl(wn_logon_orderentry_e).cb_ok.clicked.0087: go_ac.of_write_log ( ls_title + " - " + ls_msg ) // Log it!

OES_Main.pbl(wn_logon_orderentry_e).cb_ok.clicked.0088: go_ac.of_write_log ( "SQL STATE = " + ls_state ) // Log it!

OES_Main.pbl(wn_logon_orderentry_e).cb_ok.clicked.0089: go_ac.of_messagebox ( ls_title, ls_msg, StopSign!, OK!, 1) // Msg 2 User!

OES_Main.pbl(wn_logon_orderentry_e).cb_ok.clicked.0092: go_ac.of_write_log ( ls_title + ", " + ls_msg ) // log it!

OES_Main.pbl(wn_logon_orderentry_e).cb_ok.clicked.0101: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

OES_Main.pbl(wn_logon_orderentry_e).cb_ok.clicked.0121: ls_name = go_ac.of_get_application_path ( ) // Get App name

OES_Main.pbl(wn_logon_orderentry_e).cb_ok.clicked.0122: ls_name += go_ac.of_get_appl_ini_name ( ) // Get INI name

OES_Main.pbl(wn_logon_orderentry_e).cb_cancel.clicked.0004: go_ac.of_notification_remove ( il_notification_id ) // YES=>Remove it

OES_Main.pbl(wn_logon_orderentry_e).dc_logon.oe_postconstructor.0006: ls_name = go_ac.of_get_appl_ini_name ( )

OES_Main.pbl(wn_logon_orderentry_e).dc_logon.oe_postconstructor.0012: IF go_ac.of_get_client_type( ) = "PB" THEN

OES_Main.pbl(wn_logon_orderentry_e).dc_logon.itemchanged.0038: IF go_ac.of_get_client_type( ) <> "Mobile" THEN // YES=>Mobile?

OES_Main.pbl(wn_logon_orderentry_e).dc_logon.itemchanged.0054: go_ac.of_set_controller_window_class ( "wn_controller_orderentry_dockable" ) // YES=>Set new Controller

OES_Main.pbl(wn_logon_orderentry_e).dc_logon.itemchanged.0056: go_ac.of_set_controller_window_class ( "wn_controller_orderentry" ) // NO=>Set old name back

OES_Main.pbl(wn_logon_orderentry_e).dc_logon.other.0003: //go_ac.of_write_debug ( "LongParm: " + String ( lparam) + " - WordParm: " + String ( wparam) ) // Debug Test

OES_Main.pbl(wn_splash_orderentry_e).pc_splash.oe_postconstructor.0002: IF go_ac.of_is_pb_ide_active( ) = FALSE THEN // Running under IDE

OES_Main.pbl(wn_splash_orderentry_e).st_env.oe_postconstructor.0029: IF go_ac.of_get_client_type ( ) <> "PB" THEN

OES_Main.pbl(wn_splash_orderentry_e).st_env.oe_postconstructor.0030: IF go_ac.of_is_iwa_app( ) = TRUE THEN

OES_Main.pbl(wn_splash_orderentry_e).st_env.oe_postconstructor.0033: THIS.Text = go_ac.of_get_client_type ( )

OES_Main2.pbl(wn_controller_orderentry_dockable_e)open.0003: go_ac.of_set_dockable_mode ( TRUE ) // Inform AC that we are dockable!

OES_Contact.pbl(wn_contact_list_e).dc_data.oe_postconstructor.0005: IF go_ac.of_get_client_type( ) <> "PB" THEN

OES_Contact.pbl(wn_contact_list_e).dc_data.oe_postconstructor.0006: go_ac.of_notification_display ( THIS.title , THIS.tag )

OES_Contact.pbl(wn_contact_pipeline_e)oe_postopen.0032: go_ac.of_messagebox ( "Contact", &

OES_Customer.pbl(wn_customer_detail_e)resize.0022: IF go_ac.of_get_client_type ( ) = "PB" THEN // Win32 App?

OES_Customer.pbl(wn_customer_detail_e)resize.0031: // newheight - dc_data.y - go_ac.of_get_menubar_height( ) )

OES_Customer.pbl(wn_customer_detail_e).dc_data.oe_postconstructor.0043: IF go_ac.of_get_client_type( ) = "MOBILE" THEN // Mobile?

OES_Customer.pbl(wn_customer_list_e)oe_postopen.0004: go_ac.of_notification_display( 10, go_ac.of_get_appl_display_name( ) , THIS.Tag ) // New Tandem Scrolling

OES_Customer.pbl(wn_customer_list_e).uo_id.constructor.0002: IF go_ac.of_get_client_type( ) = "PB" THEN

OES_Customer.pbl(wn_customer_list_e).sle_name.constructor.0002: IF go_ac.of_get_client_type( ) = "PB" THEN

OES_Customer.pbl(wn_customer_list_e).st_name.constructor.0002: IF go_ac.of_get_client_type( ) = "PB" THEN

OES_Customer.pbl(wn_customer_list_e).st_id.constructor.0002: IF go_ac.of_get_client_type( ) = "PB" THEN

OES_Customer.pbl(wn_customer_list_e).dc_list.oe_retrieve.0022: go_ac.of_write_log ( ls_title + " - " + ls_msg)

OES_Customer.pbl(wn_customer_list_e).dc_list.oe_retrieve.0023: go_ac.of_messagebox ( ls_title, ls_msg, Information!, OK!, 1)

OES_Customer.pbl(wn_customer_list_e).uo_name.constructor.0002: IF go_ac.of_get_client_type( ) = "PB" THEN

OES_Employee.pbl(wn_employee_e).dc_detail.oe_postconstructor.0029: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

OES_Employee.pbl(wn_employee_e).dc_detail.oe_postconstructor.0033: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

OES_Employee.pbl(wn_employee_e).dc_list.oe_postconstructor.0029: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

OES_Employee2.pbl(wn_name_list_e)oe_postopen.0002: go_ac.of_notification_display ( 5, go_ac.of_get_appl_display_name( ) , THIS.Tag )

OES_Employee2.pbl(wn_state_e)oe_postopen.0085: ls_title = go_ac.of_get_appl_display_name( )

OES_Employee2.pbl(wn_state_e)oe_postopen.0086: go_ac.of_messagebox ( ls_title, ls_msg, Information!, OK!, 1 )

OES_Product.pbl(vc_tp_product_detail_f).dc_detail.other.0001: call super::other;//go_ac.of_write_debug ( "LongParm: " + String (lparam) + " - WordParm: " + String (wparam) )

OES_Product.pbl(vc_tp_product_detail_i).dc_detail.other.0001: call super::other;//go_ac.of_write_debug ( "LongParm: " + String (lparam) + " - WordParm: " + String (wparam) )

OES_Product.pbl(vc_tp_product_detail_s).dc_detail.other.0001: call super::other;//go_ac.of_write_debug ( "LongParm: " + String (lparam) + " - WordParm: " + String (wparam) )

STD_FC_PB_Base.pbl(fn_build_number)0030: li_build_no = ProfileInt ( go_ac.of_get_appl_ini_name( ) , "Settings", "Build_no", -1 ) // Get last build no used

STD_FC_PB_Base.pbl(fn_build_number)0033: SetProfileString (go_ac.of_get_appl_ini_name( ), "Settings", "Build_no", &

STD_FC_PB_Base.pbl(fn_check_db_status)0036: go_ac.of_write_log ("DataBase Error detected by by 'fn_check_db_status' on object: '" + &

STD_FC_PB_Base.pbl(fn_check_db_status)0038: go_ac.of_write_log ("Transaction Object: " + ao_to.ClassName ( )) // Write SQL Code 2 log

STD_FC_PB_Base.pbl(fn_check_db_status)0039: go_ac.of_write_log ("SQL Code: " + String (ao_to.sqlCode )) // Write SQL Code 2 log

STD_FC_PB_Base.pbl(fn_check_db_status)0040: go_ac.of_write_log ("DB Code: " + String (ao_to.sqldbcode)) // Write DB Code 2 log

STD_FC_PB_Base.pbl(fn_check_db_status)0041: go_ac.of_write_log ("DB Error - " + ao_to.sqlerrtext) // Write Error MSG 2 log

STD_FC_PB_Base.pbl(fn_check_db_status)0042: go_ac.of_write_log ("Server - " + ao_to.servername) // Write Server 2 log

STD_FC_PB_Base.pbl(fn_check_db_status)0043: go_ac.of_write_log ("Database - " + ao_to.database ) // Write database 2 log

STD_FC_PB_Base.pbl(fn_check_db_status)0044: go_ac.of_write_log ("Login ID - " + ao_to.logid ) // Write LogID 2 log

STD_FC_PB_Base.pbl(fn_check_db_status)0045: go_ac.of_write_log ("Return data - " + ao_to.sqlreturndata) // Write Rtn Data 2 log

STD_FC_PB_Base.pbl(fn_check_db_status)0046: go_ac.of_write_log ("dbparm - " + ao_to.dbparm) // Write DBParm 2 log

STD_FC_PB_Base.pbl(fn_dbms_get_sysdate)0060: go_ac.of_write_log ("Error in 'fn_dbms_get_sysdate' - unsupported DBMS: " + as_dbms_type )

STD_FC_PB_Base.pbl(fn_open_sheet_window)0040: ls_name = as_window_name + "_" + Lower(go_ac.of_get_language ( ) ) // Compute proper name

STD_FC_PB_Base.pbl(fn_open_sheet_window)0043: go_ac.of_get_controller_window ( ),0, ae_open_type ) // Try 2 Open it!

STD_FC_PB_Base.pbl(fn_open_sheet_window)0047: IF go_ac.of_is_dockable_app( ) = TRUE THEN // Dockable App?

STD_FC_PB_Base.pbl(fn_open_sheet_window)0052: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug Mode?

STD_FC_PB_Base.pbl(fn_open_sheet_window)0053: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

STD_FC_PB_Base.pbl(fn_open_sheet_window)0060: go_ac.of_get_message (43, ls_title, ls_msg, lo_sr) // Get MSG

STD_FC_PB_Base.pbl(fn_open_sheet_window)0061: go_ac.of_write_log (ls_msg) // Write 2 Log!

STD_FC_PB_Base.pbl(fn_open_sheet_window_withparm)0048: ls_name = as_window_name + "_" + Lower(go_ac.of_get_language ( ) ) // Compute proper name

STD_FC_PB_Base.pbl(fn_open_sheet_window_withparm)0051: go_ac.of_get_controller_window ( ),0, ae_open_type ) // Try 2 Open

STD_FC_PB_Base.pbl(fn_open_sheet_window_withparm)0056: IF go_ac.of_is_dockable_app( ) = TRUE THEN // Dockable App?

STD_FC_PB_Base.pbl(fn_open_sheet_window_withparm)0061: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug Mode?

STD_FC_PB_Base.pbl(fn_open_sheet_window_withparm)0062: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

STD_FC_PB_Base.pbl(fn_open_sheet_window_withparm)0069: go_ac.of_get_message (43, ls_title, ls_msg, lo_sr) // Get MSG

STD_FC_PB_Base.pbl(fn_open_sheet_window_withparm)0070: go_ac.of_write_log (ls_msg) // Write 2 Log!

STD_FC_PB_Base.pbl(fn_open_tab_page)0037: ls_name = as_tabpage_name + "_" + go_ac.of_get_language ( ) // Compute UO 2 open

STD_FC_PB_Base.pbl(fn_open_tab_page)0041: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug Mode?

STD_FC_PB_Base.pbl(fn_open_tab_page)0042: IF go_ac.of_get_client_type( ) = "PB" THEN

STD_FC_PB_Base.pbl(fn_open_tab_page)0048: go_ac.of_get_message (71, ls_title, ls_msg, lo_sr) // Get MSG

STD_FC_PB_Base.pbl(fn_open_tab_page)0049: go_ac.of_write_log (ls_msg) // Write 2 Log!

STD_FC_PB_Base.pbl(fn_open_tab_page_withparm)0037: ls_name = as_tabpage_name + "_" + go_ac.of_get_language ( ) // Compute UO 2 open

STD_FC_PB_Base.pbl(fn_open_tab_page_withparm)0041: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug Mode?

STD_FC_PB_Base.pbl(fn_open_tab_page_withparm)0042: IF go_ac.of_get_client_type( ) = "PB" THEN

STD_FC_PB_Base.pbl(fn_open_tab_page_withparm)0048: go_ac.of_get_message (71, ls_title, ls_msg, lo_sr) // Get MSG

STD_FC_PB_Base.pbl(fn_open_tab_page_withparm)0049: go_ac.of_write_log (ls_msg) // Write 2 Log!

STD_FC_PB_Base.pbl(fn_open_user_object)0041: ls_name = as_object_name + "_" + go_ac.of_get_language ( ) // NO=>Compute UO 2 open

STD_FC_PB_Base.pbl(fn_open_user_object)0046: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug Mode?

STD_FC_PB_Base.pbl(fn_open_user_object)0047: IF go_ac.of_get_client_type( ) = "PB" THEN

STD_FC_PB_Base.pbl(fn_open_user_object)0053: go_ac.of_get_message (71, ls_title, ls_msg, lo_sr) // Get MSG

STD_FC_PB_Base.pbl(fn_open_user_object)0054: go_ac.of_write_log (ls_msg) // Write 2 Log!

STD_FC_PB_Base.pbl(fn_open_user_object_withparm)0041: ls_name = as_object_name + "_" + go_ac.of_get_language ( ) // NO=>Compute UO 2 open

STD_FC_PB_Base.pbl(fn_open_user_object_withparm)0046: IF go_ac.of_is_debug_mode( ) = TRUE THEN

STD_FC_PB_Base.pbl(fn_open_user_object_withparm)0047: IF go_ac.of_get_client_type( ) = "PB" THEN

STD_FC_PB_Base.pbl(fn_open_user_object_withparm)0054: go_ac.of_get_message (71, ls_title, ls_msg, lo_sr) // Get MSG

STD_FC_PB_Base.pbl(fn_open_user_object_withparm)0055: go_ac.of_write_log (ls_msg) // Write 2 Log!

STD_FC_PB_Base.pbl(fn_open_window)0041: ls_name = as_window_name + "_" + Lower (go_ac.of_get_language ( ) ) // Compute proper name

STD_FC_PB_Base.pbl(fn_open_window)0045: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug Mode?

STD_FC_PB_Base.pbl(fn_open_window)0046: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

STD_FC_PB_Base.pbl(fn_open_window)0053: go_ac.of_get_message (43, ls_title, ls_msg, lo_sr) // Get MSG

STD_FC_PB_Base.pbl(fn_open_window)0054: go_ac.of_write_log (ls_msg) // Write 2 Log!

STD_FC_PB_Base.pbl(fn_open_window_withparm)0043: ls_name = as_window_name + "_" + Lower ( go_ac.of_get_language ( ) ) // Compute proper name

STD_FC_PB_Base.pbl(fn_open_window_withparm)0047: IF go_ac.of_is_debug_mode( ) = TRUE THEN

STD_FC_PB_Base.pbl(fn_open_window_withparm)0048: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

STD_FC_PB_Base.pbl(fn_open_window_withparm)0055: go_ac.of_get_message (43, ls_title, ls_msg, lo_sr) // Get MSG

STD_FC_PB_Base.pbl(fn_open_window_withparm)0056: go_ac.of_write_log (ls_msg) // Write 2 Log!

STD_FC_PB_Base.pbl(fn_print_screen)0038: ls_printscreen = go_ac.of_get_print_screen_application( ) // Get App EXE and Path

STD_FC_PB_Base.pbl(fn_print_screen)0043: ls_name = go_ac.of_get_appl_display_name ( ) + " (Screen Print)" // Set "spool name"

STD_FC_PB_Base.pbl(fn_print_screen)0047: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

STD_FC_PB_Base.pbl(fn_print_screen)0050: go_ac.of_write_log ( "Print Open command failed - rc: " + String ( ll_jobno )) // NO=>Msg to Log

STD_FC_PB_Base.pbl(fn_print_screen)0064: go_ac.of_write_log( "Print Screen command failed - rc: " + String ( li_rc )) // NO=>Msg to log!

STD_FC_PB_Base.pbl(fn_print_screen)0068: go_ac.of_write_log( "Print Close command failed - rc: " + String (li_rc )) // NO=>Msg 2 log!

STD_FC_PB_Base.pbl(fn_print_screen)0070: go_ac.of_write_log ( "Print Screen completed for '" + ls_name) // YES=>Msg 2 Log (EOJ)

STD_FC_PB_Base.pbl(fn_print_screen)0077: go_ac.of_run ( ls_printscreen , TRUE, FALSE ) // NO=>Use external print!

STD_FC_PB_Base.pbl(fn_print_window)0047: lo_wn = go_ac.of_get_controller_window( ) // Get Controller Window's address

STD_FC_PB_Base.pbl(fn_print_window)0058: IF go_ac.of_get_client_type( ) = "WEB" THEN // PS Web App?

STD_FC_PB_Base.pbl(fn_print_window)0060: ls_printwindow = go_ac.of_get_print_window_application( ) // YES=>Get Ext App name & Location

STD_FC_PB_Base.pbl(fn_print_window)0063: li_rc = go_ac.of_run ( ls_printwindow , FALSE, TRUE ) // Call external print App!

STD_FC_PB_Base.pbl(fn_print_window)0067: go_ac.of_write_log ( "Print Open command failed - rc: " + String ( ll_jobno )) // NO=>Msg to Log

STD_FC_PB_Base.pbl(fn_print_window)0076: go_ac.of_write_log ( "Printing completed for Window Class: '" + ls_name) // Msg 2 Log (EOJ)

STD_FC_PB_Base.pbl(fn_print_window)0079: go_ac.of_write_log( "Print Window command failed - rc: " + String ( li_rc )) // NO=>Msg to log!

STD_FC_PB_Base.pbl(mu_application_master).of_set_separators.0088: IF go_ac.of_is_mdi_application ( ) = FALSE THEN

STD_FC_PB_Base.pbl(mu_application_master).of_set_active_window.0005: lo_wn_control = go_ac.of_get_controller_window () // Load "Controller" address

STD_FC_PB_Base.pbl(mu_application_master).of_set_window_list.0001: IF go_ac.of_is_mdi_application( ) = FALSE THEN

STD_FC_PB_Base.pbl(mu_application_master)oe_refresh_track_list.0004: lo_wn_control = go_ac.of_get_controller_window ( )

STD_FC_PB_Base.pbl(mu_application_master)oe_postconstructor.0066: IF go_ac.of_get_client_type ( ) <> "PB" THEN // Native PB?

STD_FC_PB_Base.pbl(mu_application_master)oe_postconstructor.0078: IF go_ac.of_get_client_type( ) = "MOBILE" THEN // Mobile?

STD_FC_PB_Base.pbl(mu_application_master)oe_postconstructor.0083: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(mu_application_master)oe_postconstructor.0088: IF go_ac.of_is_dockable_app ( ) = TRUE THEN // Dockable?

STD_FC_PB_Base.pbl(mu_application_master).mi_logon.clicked.0007: ii_rc = go_ac.of_get_message ( 61, ls_title, ls_msg ) // Get Restart MSG

STD_FC_PB_Base.pbl(mu_application_master).mi_logon.clicked.0008: ii_rc = go_ac.of_messagebox ( ls_title, ls_msg, Question!, YesNo!, 2 ) // Display MSG

STD_FC_PB_Base.pbl(mu_application_master).mi_logon.clicked.0011: go_ac.of_restart_application ( ) // YES=>Make it so!

STD_FC_PB_Base.pbl(mu_application_master).mi_restart.clicked.0007: ii_rc = go_ac.of_get_message ( 61, ls_title, ls_msg ) // Get Restart MSG

STD_FC_PB_Base.pbl(mu_application_master).mi_restart.clicked.0008: ii_rc = go_ac.of_messagebox ( ls_title, ls_msg, Question!, YesNo!, 2 ) // Display MSG

STD_FC_PB_Base.pbl(mu_application_master).mi_restart.clicked.0010: go_ac.of_restart_application ( ) // YES=>Make it so!

STD_FC_PB_Base.pbl(mu_application_master).mi_exit.clicked.0006: lo_wn = go_ac.of_get_controller_window ( ) // Get Address

STD_FC_PB_Base.pbl(mu_application_master).mi_tools.selected.0001: IF go_ac.of_get_client_type( ) = "PB" THEN // Native PB?

STD_FC_PB_Base.pbl(mu_application_master).mi_tools.selected.0002: IF go_ac.of_is_theme_feature_active( ) = TRUE THEN // YES=>Themes ON?

STD_FC_PB_Base.pbl(mu_application_master).mi_colours.clicked.0003: go_ac.of_open_colour_window ( ) // Open the colour selector!

STD_FC_PB_Base.pbl(mu_application_master).mi_viewlog.clicked.0003: go_ac.of_open_log_viewer_window ( ) // Open LOG VIEWER dialog

STD_FC_PB_Base.pbl(mu_application_master).mi_sysmgnt.clicked.0003: go_ac.of_open_smc_viewer_window ( ) // Open SMC VIEWER dialog

STD_FC_PB_Base.pbl(mu_application_master).mi_systray.clicked.0005: lo_wn = go_ac.of_get_controller_window ( )

STD_FC_PB_Base.pbl(mu_application_master).mi_vertical.clicked.0025: lo_wn = go_ac.of_get_controller_window ( ) // Get COntroller's address

STD_FC_PB_Base.pbl(mu_application_master).mi_horizontal.clicked.0024: lo_wn = go_ac.of_get_controller_window () // Get Controller's address

STD_FC_PB_Base.pbl(mu_application_master).mi_layer.clicked.0024: lo_wn = go_ac.of_get_controller_window () // Get Controller's address

STD_FC_PB_Base.pbl(mu_application_master).mi_cascade.clicked.0024: lo_wn = go_ac.of_get_controller_window () // Get Controller's address

STD_FC_PB_Base.pbl(mu_application_master).mi_closeall.clicked.0005: lo_wn = go_ac.of_get_controller_window ( ) // Get Window Pointer

STD_FC_PB_Base.pbl(mu_application_master).mi_orientation.selected.0044: lb_enable = go_ac.of_get_allow_screen_rotation ( ) // Get Rotation status.

STD_FC_PB_Base.pbl(mu_application_master).mi_index.clicked.0003: go_ac.of_display_help ( )

STD_FC_PB_Base.pbl(mu_application_master).mi_howtouse.clicked.0003: go_ac.of_display_basic_help ( )

STD_FC_PB_Base.pbl(mu_application_master).mi_about.clicked.0003: go_ac.of_open_about_window ()

STD_FC_PB_Base.pbl(mu_controller_master)oe_postconstructor.0002: THIS.mi_tools.mi_colours.visible = go_ac.of_is_colour_window ( ) // Set Colour menu On/Off

STD_FC_PB_Base.pbl(mu_controller_master)oe_postconstructor.0003: THIS.mi_tools.mi_colours.toolbaritemvisible = go_ac.of_is_colour_window ( ) // Set Colour toolbar On/Off

STD_FC_PB_Base.pbl(mu_controller_master)oe_postconstructor.0004: THIS.mi_tools.mi_viewlog.visible = go_ac.of_is_logviewer_window ( ) // Set Log menu On/Off

STD_FC_PB_Base.pbl(mu_controller_master)oe_postconstructor.0005: THIS.mi_tools.mi_viewlog.toolbaritemvisible = go_ac.of_is_logviewer_window ( ) // Set Log toolbar On/Off

STD_FC_PB_Base.pbl(mu_controller_master)oe_postconstructor.0006: THIS.mi_help.mi_index.visible = go_ac.of_is_help_window ( ) // Set HELP menu On/Off

STD_FC_PB_Base.pbl(mu_controller_master)oe_postconstructor.0007: THIS.mi_help.mi_index.toolbaritemvisible = go_ac.of_is_help_window ( ) // Set HELP toolbar On/Off

STD_FC_PB_Base.pbl(mu_controller_master)oe_postconstructor.0009: IF go_ac.of_get_client_type ( ) = "PB" THEN // Native PB?

STD_FC_PB_Base.pbl(mu_controller_master)oe_postconstructor.0010: THIS.mi_tools.mi_sysmgnt.visible = go_ac.of_is_smc_window ( ) // YES=>Set SMC menu On/Off

STD_FC_PB_Base.pbl(mu_controller_master)oe_postconstructor.0011: THIS.mi_tools.mi_sysmgnt.toolbaritemvisible = go_ac.of_is_smc_window ( ) // Set SMC toolbar On/Off

STD_FC_PB_Base.pbl(mu_controller_master)oe_postconstructor.0012: THIS.mi_tools.mi_systray.visible = go_ac.of_is_system_tray ( ) // Set SysTray menu On/Off

STD_FC_PB_Base.pbl(mu_controller_master)oe_postconstructor.0013: THIS.mi_tools.mi_systray.toolbaritemvisible = go_ac.of_is_system_tray ( ) // Set SysTray toolbar On/Off

STD_FC_PB_Base.pbl(mu_controller_master)oe_postconstructor.0016: IF go_ac.of_get_client_type ( ) = "MOBILE" THEN // Mobile?

STD_FC_PB_Base.pbl(mu_main_master)oe_postconstructor.0022: THIS.mi_tools.mi_colours.visible = go_ac.of_is_colour_window ( ) // Set Colour menu On/Off

STD_FC_PB_Base.pbl(mu_main_master)oe_postconstructor.0023: THIS.mi_tools.mi_viewlog.visible = go_ac.of_is_logviewer_window ( ) // Set Log menu On/Off

STD_FC_PB_Base.pbl(mu_main_master)oe_postconstructor.0024: THIS.mi_help.mi_index.visible = go_ac.of_is_help_window ( ) // Set HELP menu On/Off

STD_FC_PB_Base.pbl(mu_master)oe_predestructor.0005: IF go_ac.of_is_debug_mode( ) = TRUE THEN

STD_FC_PB_Base.pbl(mu_master)oe_predestructor.0010: go_ac.of_write_log ("Menu Statitstics for ... " + THIS.ClassName ( ) + " within " + &

STD_FC_PB_Base.pbl(mu_master)oe_predestructor.0013: go_ac.of_write_log ( Space ( 4 ) + io_ds_stats.GetItemString (ll_loop, "menu_class") + ": Selected: " + &

STD_FC_PB_Base.pbl(mu_no_cutcopypaste_master).mi_block_cut.clicked.0005: ii_rc = go_ac.of_get_message ( 96, ls_title, ls_msg)

STD_FC_PB_Base.pbl(mu_no_cutcopypaste_master).mi_block_cut.clicked.0006: go_ac.of_messagebox ( ls_title, ls_msg, StopSign!,OK!, 1)

STD_FC_PB_Base.pbl(mu_no_cutcopypaste_master).mi_block_copy.clicked.0005: ii_rc = go_ac.of_get_message ( 97, ls_title, ls_msg) // Get "feature blocked" MSG

STD_FC_PB_Base.pbl(mu_no_cutcopypaste_master).mi_block_copy.clicked.0006: go_ac.of_messagebox ( ls_title, ls_msg, StopSign!,OK!, 1)

STD_FC_PB_Base.pbl(mu_no_cutcopypaste_master).mi_block_paste.clicked.0005: ii_rc = go_ac.of_get_message ( 98, ls_title, ls_msg )

STD_FC_PB_Base.pbl(mu_no_cutcopypaste_master).mi_block_paste.clicked.0006: go_ac.of_messagebox ( ls_title, ls_msg, StopSign!,OK!, 1)

STD_FC_PB_Base.pbl(mu_systemtray_master).m_restore.clicked.0003: lo_wn = go_ac.of_get_controller_window( )

STD_FC_PB_Base.pbl(mu_systemtray_master).mi_exit.clicked.0003: lo_wn = go_ac.of_get_controller_window( )

STD_FC_PB_Base.pbl(nc_active_directory_master).of_get_groups.0057: go_ac.of_write_log ( ls_msg ) // Log MSG

STD_FC_PB_Base.pbl(nc_active_directory_master).of_get_groups.0065: go_ac.of_write_log ( ls_msg ) // Log MSG

STD_FC_PB_Base.pbl(nc_active_directory_master).of_get_groups.0078: go_ac.of_write_log ( ls_msg ) // Log MSG

STD_FC_PB_Base.pbl(nc_active_directory_master).of_get_os_username.0041: go_ac.of_write_log ( ls_msg ) // Log MSG

STD_FC_PB_Base.pbl(nc_active_directory_master).of_get_machine_name.0041: go_ac.of_write_log ( ls_msg ) // Log MSG

STD_FC_PB_Base.pbl(nc_active_directory_master).of_get_group_membership.0049: go_ac.of_write_log ( ls_msg ) // Write MSG to Log

STD_FC_PB_Base.pbl(nc_active_directory_master).of_get_group_membership.0071: go_ac.of_write_log ( ls_msg ) // Write it to Log

STD_FC_PB_Base.pbl(nc_active_directory_master).of_get_group_membership.0073: go_ac.of_write_log ( ls_msg ) // Write to log

STD_FC_PB_Base.pbl(nc_active_directory_master).of_is_login_valid.0076: go_ac.of_write_log ( ls_msg ) // Log MSG

STD_FC_PB_Base.pbl(nc_active_directory_master)constructor.0035: ls_computer = Lower (go_ac.of_get_computer_name ( ) ) // Get Computer's Name

STD_FC_PB_Base.pbl(nc_active_directory_master)constructor.0036: ls_logon_server = Lower (go_ac.of_get_logon_server ( ) ) // Get Network LOGON server

STD_FC_PB_Base.pbl(nc_active_directory_master)constructor.0044: go_ac.of_write_log ( ls_msg ) // Log the error

STD_FC_PB_Base.pbl(nc_active_directory_master)constructor.0050: IF go_ac.of_is_debug_mode( ) = TRUE THEN // NO=>Debug mode?

STD_FC_PB_Base.pbl(nc_active_directory_master)constructor.0053: go_ac.of_write_log ( ls_msg ) // Write MSG to Log

STD_FC_PB_Base.pbl(nc_app_controller_master)oe_open.0094: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug Mode?

STD_FC_PB_Base.pbl(nc_app_controller_master)oe_open.0100: go_ac.of_write_log ( ls_msg ) // Log it!

STD_FC_PB_Base.pbl(nc_app_controller_master)oe_open.0110: go_ac.of_write_log ( ls_msg ) // Log the privilege

STD_FC_PB_Base.pbl(nc_app_controller_master)oe_open.0118: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug Mode?

STD_FC_PB_Base.pbl(nc_app_controller_master)oe_open.0124: go_ac.of_write_log ( ls_msg ) // Log it!

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_splash_window.0007: go_ac.of_write_log (ls_title + " - " + ls_msg)

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_splash_window.0008: go_ac.of_messagebox (ls_title, ls_msg, StopSign!, OK!, 1)

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_application_location.0036: IF go_ac.of_get_client_type( ) = "MOBILE" THEN // Mobile?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_check_os_version.0112: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_send_mail.0029: IF go_ac.of_get_client_type( ) <> "MOBILE" THEN // Mobile App?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_send_mail.0069: go_ac.of_write_log ( ls_msg )

STD_FC_PB_Base.pbl(nc_app_controller_master).of_restart_application.0032: lo_wn = go_ac.of_get_controller_window ( ) // Load Ptr

STD_FC_PB_Base.pbl(nc_app_controller_master).of_restart_application.0033: IF go_ac.of_is_dockable_app( ) = TRUE THEN // Dockable App?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_restart_application.0034: IF go_ac.of_get_dockable_restore( ) = TRUE THEN // YES=>Restore Required?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_restart_application.0037: ls_registry_key += Trim ( go_ac.of_get_appl_display_name ( ) ) + "\" // Add App name

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_network_info.0046: go_ac.of_write_log ( ls_msg ) // Log It!

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0059: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0070: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0090: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0096: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0102: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0109: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0114: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0120: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0125: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0135: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0142: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0149: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0153: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0163: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0197: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0202: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0207: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0214: go_ac.of_get_message (112, ls_title, ls_msg, lo_sr ) // Get MSG

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0218: go_ac.of_get_message (116, ls_title, ls_msg, lo_sr ) // Get MSG

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0222: go_ac.of_get_message (117, ls_title, ls_msg, lo_sr ) // Get MSG

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0226: go_ac.of_get_message (118, ls_title, ls_msg, lo_sr ) // Get MSG

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0228: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0236: go_ac.of_get_message ( 113, ls_title, ls_msg, lo_sr ) // Get MSG

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0253: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0266: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0276: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0281: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0288: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0308: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0312: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0317: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0322: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0327: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0332: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0337: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0342: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0351: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0356: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_powerserver_environment_info.0361: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_browse_for_folder.0030: lo_wn = go_ac.of_get_controller_window( ) // Get Window Pointer

STD_FC_PB_Base.pbl(nc_app_controller_master).of_create_javavm.0043: go_ac.of_write_log ( ls_title + "The Java VM was successfully loaded!") // Log MSG!

STD_FC_PB_Base.pbl(nc_app_controller_master).of_create_javavm.0045: go_ac.of_write_log ( ls_title + "Error - The JVM.dll was not found in the classpath!" ) // Record error!

STD_FC_PB_Base.pbl(nc_app_controller_master).of_create_javavm.0047: go_ac.of_write_log ( ls_title + "Error - The PowerBuilder 'pbejbclient12x.jar' file was not found!" ) // Record error!

STD_FC_PB_Base.pbl(nc_app_controller_master).of_create_javavm.0049: go_ac.of_write_log ( ls_title + "Error - An Unknown error was encountered - RC: (" + &

STD_FC_PB_Base.pbl(nc_app_controller_master).of_create_ejb.0036: go_ac.of_write_log ( "The Java Class '" + as_classname + "' was instantiated!")

STD_FC_PB_Base.pbl(nc_app_controller_master).of_create_ejb.0038: go_ac.of_write_log ( "The 'of_CreateJavaVM' method failed to load the JVM - RC: " + &

STD_FC_PB_Base.pbl(nc_app_controller_master).of_write_event.0042: ls_client_type = go_ac.of_get_client_type( ) // Get client type!

STD_FC_PB_Base.pbl(nc_app_controller_master).of_write_event.0042: ls_client_type = go_ac.of_get_client_type ( ) // Get client type!

STD_FC_PB_Base.pbl(nc_app_controller_master).of_write_event.0045: IF go_ac.of_is_64bit_app( ) = TRUE and ls_client_type = "WEB" THEN // YES=>WEB 64bit?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_check_fc_version.0039: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug mode ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_check_ps_version.0038: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug mode ON?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_check_ps_version.0049: go_ac.of_write_log ( ls_msg ) // Log it!

STD_FC_PB_Base.pbl(nc_app_controller_master).of_check_ps_version.0057: go_ac.of_write_log ( ls_msg ) // Log it!

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_cpu_affinity.0041: IF go_ac.of_get_client_type( ) = "PB" OR &

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_cpu_affinity.0042: go_ac.of_get_client_type( ) = "WEB" THEN // Native EXE or Web App?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_theme.0040: ls_ini = go_ac.of_get_appl_ini_name ( ) // Get INI name

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_theme.0041: lo_sr.si_data [ 1 ] = go_ac.of_get_appl_display_name( ) // Get App name

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_theme.0046: ii_rc = go_ac.of_get_message ( 119, ls_title, ls_msg, lo_sr ) // Get Restart MSG

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_theme.0047: ii_rc = go_ac.of_messagebox ( ls_title, ls_msg, Question!, YesNo!, 2 ) // Display MSG

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_theme.0050: go_ac.of_restart_application ( ) // Make it so!

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_theme.0061: ii_rc = go_ac.of_get_message ( 120, ls_title, ls_msg, lo_sr ) // Get MSG

STD_FC_PB_Base.pbl(nc_app_controller_master).of_set_theme.0062: go_ac.of_write_log( ls_msg ) // Log theme setting

STD_FC_PB_Base.pbl(nc_app_controller_master).of_call_phone_number.0028: IF go_ac.of_get_client_type( ) = "MOBILE" THEN // Mobile?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_call_phone_number.0036: go_ac.of_write_log ( "Phone call cancelled ... Not running as a mobile App!") // NO=>Log Error

STD_FC_PB_Base.pbl(nc_app_controller_master).of_notification_display.0035: IF go_ac.of_is_silent_mode( ) = TRUE THEN // Silent Mode?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_notification_display.0036: go_ac.of_write_log ( as_message ) // YES=>Just log it!

STD_FC_PB_Base.pbl(nc_app_controller_master).of_notification_display.0055: ls_notify += "Name=" + go_ac.of_get_appl_display_name ( ) // Add APP name

STD_FC_PB_Base.pbl(nc_app_controller_master).of_notification_display.0057: go_ac.of_run ( ls_notify , TRUE , FALSE) // Run PBNotify!

STD_FC_PB_Base.pbl(nc_app_controller_master).of_notification_display.0061: go_ac.of_write_log ( "Notify EXE not found: " + ls_notify ) // NO=>log Error!

STD_FC_PB_Base.pbl(nc_app_controller_master).of_notification_display.0065: go_ac.of_write_log ( "O/S version does not support notify - O/S: " + &

STD_FC_PB_Base.pbl(nc_app_controller_master).of_notification_display.0070: go_ac.of_write_log ( "Client type does not support notify - Type: " + &

STD_FC_PB_Base.pbl(nc_app_controller_master).of_get_current_monitor.0029: IF go_ac.of_get_client_type( ) = "PB" THEN // PB Native APP?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_get_current_monitor.0030: IF go_ac.of_get_number_monitors( ) > 1 THEN // YES=2 monitors?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_get_current_monitor.0034: lo_win = go_ac.of_get_controller_window( ) // Get COntroller Window Pointer

STD_FC_PB_Base.pbl(nc_app_controller_master).of_log_nvuo_usage.0035: ll_max = go_ac.of_get_all_registered_nvuos ( lo_nvuo ) // Populate array

STD_FC_PB_Base.pbl(nc_app_controller_master).of_check_available_memory.0037: lo_data.si_description += go_ac.of_get_appl_display_name( ) + ") - " // Add App Name

STD_FC_PB_Base.pbl(nc_app_controller_master).of_check_available_memory.0038: IF go_ac.of_get_client_type( ) = "MOBILE" THEN // Mobile Device?

STD_FC_PB_Base.pbl(nc_app_controller_master).of_check_available_memory.0063: lo_data.si_description += go_ac.of_get_computer_name( ) // Add computer name

STD_FC_PB_Base.pbl(nc_app_controller_master).of_write_console.0034: IF go_ac.of_is_pb_ide_active( ) = TRUE THEN

STD_FC_PB_Base.pbl(nc_app_controller_master).of_write_console.0035: IF go_ac.of_is_debug_mode( ) = TRUE THEN

STD_FC_PB_Base.pbl(nc_app_controller_master).of_write_console.0036: go_ac.of_write_log ( "** Note ** - can NOT write to console when running under the PB IDE" )

STD_FC_PB_Base.pbl(nc_app_controller_master).of_write_console.0037: go_ac.of_write_log ( "Console message - " + as_message )

STD_FC_PB_Base.pbl(nc_app_controller_master)constructor.0252: IF go_ac.of_is_theme_feature_active( ) = TRUE THEN // Themes ON?

STD_FC_PB_Base.pbl(nc_app_controller_master)constructor.0370: IF ls_file2check <> go_ac.of_get_appl_release_number ( ) THEN // INI value matches App release?

STD_FC_PB_Base.pbl(nc_app_controller_master)constructor.0372: lo_sr.si_data [ 2 ] = go_ac.of_get_appl_release_number( ) // Set MSG Parm

STD_FC_PB_Base.pbl(nc_crypto_master).of_base64_stringtobinary.0038: ib_rc = go_ac.CryptStringToBinary ( as_encoded , lul_len, &

STD_FC_PB_Base.pbl(nc_crypto_master).of_base64_binarytostring.0037: ib_rc = go_ac.CryptBinaryToString (ablb_value , &

STD_FC_PB_Base.pbl(nc_master)oe_post_constructor.0036: go_ac.of_get_message (45, ls_title, ls_msg, lo_sr ) // Get Error MSG

STD_FC_PB_Base.pbl(nc_master)oe_post_constructor.0047: go_ac.of_get_message (45, ls_title, ls_msg, lo_sr) // Get Error MSG

STD_FC_PB_Base.pbl(nc_master)oe_post_constructor.0057: iul_tracker_no = go_ac.of_register_nvuo ( THIS ) // YES=> Register NVUO

STD_FC_PB_Base.pbl(nc_message_master).of_get_message.0039: ls_dwo = 'dw_messages' + '_' + go_ac.of_get_language () // Compute DWO name

STD_FC_PB_Base.pbl(nc_message_master).of_get_message.0043: IF Right (io_ds.dataobject, 1) <> go_ac.of_get_language () THEN // YES=>Same Language?

STD_FC_PB_Base.pbl(nc_message_master).of_get_message.0046: ls_dwo = 'dw_messages' + '_' + go_ac.of_get_language () // Compute new DWO name

STD_FC_PB_Base.pbl(nc_network_adapter).of_getadaptersinfo.0056: go_ac.of_write_log ( ls_title + " - " + ls_msg)

STD_FC_PB_Base.pbl(nc_network_adapter).of_getadaptersinfo.0057: IF go_ac.of_is_silent_mode( ) <> TRUE THEN

STD_FC_PB_Base.pbl(nc_network_adapter).of_getadaptersinfo.0058: go_ac.of_messagebox ( ls_title, ls_msg, StopSign!, OK!, 1)

STD_FC_PB_Base.pbl(nc_powershell_master).of_run.0033: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug Mode?

STD_FC_PB_Base.pbl(nc_powershell_master).of_run.0035: go_ac.of_write_log ( ls_msg ) // Log message

STD_FC_PB_Base.pbl(nc_powershell_master).of_run.0044: go_ac.of_write_log ( ls_msg ) // Log message

STD_FC_PB_Base.pbl(nc_powershell_master)constructor.0036: go_ac.of_get_message ( 59, ls_msg_title , ls_msg, lo_sr ) // Get MSG

STD_FC_PB_Base.pbl(nc_powershell_master)constructor.0037: go_ac.of_write_log ( ls_msg ) // Log it!

STD_FC_PB_Base.pbl(nc_powershell_master)constructor.0050: go_ac.of_get_message ( 59, ls_msg_title , ls_msg, lo_sr ) // Get MSG

STD_FC_PB_Base.pbl(nc_powershell_master)constructor.0051: go_ac.of_write_log ( ls_msg ) // Log it!

STD_FC_PB_Base.pbl(nc_socket32_master).of_messagebox.0016: go_ac.of_messagebox ( "Socket Error", as_msgtext, StopSign!, OK!, 1)

STD_FC_PB_Base.pbl(nc_socket32_master).of_messagebox.0018: go_ac.of_messagebox ( "Socket Warning", as_msgtext, Exclamation!, OK!, 1)

STD_FC_PB_Base.pbl(nc_socket32_master).of_messagebox.0020: go_ac.of_messagebox ( "Socket Message", as_msgtext, Information!, OK!, 1)

STD_FC_PB_Base.pbl(nc_socket32_master).of_startup.0014: IF go_ac.of_is_64bit_app ( ) = TRUE THEN

STD_FC_PB_Base.pbl(nc_socket32_master).of_startup.0015: go_ac.of_write_log ( "Socket Start-Up processing aborted. 64Bit App's are currently NOT supported!" )

STD_FC_PB_Base.pbl(nc_socket64_master).of_messagebox.0016: go_ac.of_messagebox ( "Socket Error", as_msgtext, StopSign!, OK!, 1)

STD_FC_PB_Base.pbl(nc_socket64_master).of_messagebox.0018: go_ac.of_messagebox ( "Socket Warning", as_msgtext, Exclamation!, OK!, 1)

STD_FC_PB_Base.pbl(nc_socket64_master).of_messagebox.0020: go_ac.of_messagebox ( "Socket Message", as_msgtext, Information!, OK!, 1)

STD_FC_PB_Base.pbl(nc_socket64_master).of_startup.0014: IF go_ac.of_is_64bit_app ( ) = FALSE THEN

STD_FC_PB_Base.pbl(nc_socket64_master).of_startup.0015: go_ac.of_write_log ( "Socket Start-Up processing aborted. 32Bit App's are NOT supported in this object!" )

STD_FC_PB_Base.pbl(nc_systemtray_master).of_load_image.0031: ll_handle = go_ac.extracticon ( Handle(GetApplication( ) ), as_filename, aui_iconindex )

STD_FC_PB_Base.pbl(nc_systemtray_master).of_get_dll_version.0039: ll_module = go_ac.loadlibrary ( ls_libname )

STD_FC_PB_Base.pbl(nc_systemtray_master).of_get_dll_version.0041: ll_rc = go_ac.getprocaddress ( ll_module, ls_function )

STD_FC_PB_Base.pbl(nc_systemtray_master).of_get_dll_version.0054: go_ac.freelibrary ( ll_module )

STD_FC_PB_Base.pbl(nc_systemtray_master).of_load_image.0033: ll_handle = go_ac.loadimage ( 0, as_imagename, IMAGE_ICON, 0, 0, LR_LOADFROMFILE + LR_DEFAULTSIZE )

STD_FC_PB_Base.pbl(nc_systemtray_master).of_load_image.0035: ll_handle = go_ac.loadimage ( 0, as_imagename, IMAGE_CURSOR, 0, 0, LR_LOADFROMFILE + LR_DEFAULTSIZE )

STD_FC_PB_Base.pbl(nc_systemtray_master).of_register_hotkey.0036: ib_rc = go_ac.Registerhotkey ( Handle (ao_window), ai_hotkeyid, aui_modifier, aui_keycode )

STD_FC_PB_Base.pbl(nc_systemtray_master).of_unregister_hotkey.0030: ib_rc = go_ac.unregisterhotkey ( Handle ( ao_window ), ai_hotkeyid )

STD_FC_PB_Base.pbl(nc_systemtray_master).of_set_foreground.0030: ib_rc = go_ac.SetForegroundWindow ( Handle ( ao_window ) )

STD_FC_PB_Base.pbl(nc_systemtray_master)destructor.0032: go_ac.destroyicon( il_iconhandles [ li_cnt ] )

STD_FC_PB_Base.pbl(nc_utc_master).of_utc_to_local_datetime.0035: IF go_ac.of_get_client_type( ) <> "Mobile" THEN

STD_FC_PB_Base.pbl(nc_utc_master).of_utc_to_local_datetime.0037: lb_rc = go_ac.GetTimeZoneInformationForYear ( Year ( Date ( adt_utc ) ), lc_char, lsr_timezone )

STD_FC_PB_Base.pbl(nc_utc_master).of_utc_to_local_datetime.0052: lb_rc = go_ac.SystemTimeToTzSpecificLocalTime ( lsr_timezone, lsr_UTC, lsr_local )

STD_FC_PB_Base.pbl(nc_wininet_master)ue_internetopen.0009: go_ac.of_write_log ( ls_title + " - " + ls_msg)

STD_FC_PB_Base.pbl(nc_wininet_master)ue_internetopen.0010: IF go_ac.of_is_silent_mode( ) <> TRUE THEN

STD_FC_PB_Base.pbl(nc_wininet_master)ue_internetopen.0011: go_ac.of_messagebox ( ls_title, ls_msg, StopSign!, OK!, 1)

STD_FC_PB_Base.pbl(nc_winsock_master).of_messagebox.0034: ii_rc = go_ac.of_get_message ( 63, ls_title, ls_msg, lo_sr )

STD_FC_PB_Base.pbl(nc_winsock_master).of_messagebox.0036: IF go_ac.of_is_silent_mode ( ) = FALSE THEN

STD_FC_PB_Base.pbl(nc_winsock_master).of_messagebox.0039: ii_rc = go_ac.of_messagebox ( ls_title, ls_msg, StopSign!, OK!, 1)

STD_FC_PB_Base.pbl(nc_winsock_master).of_messagebox.0041: ii_rc = go_ac.of_messagebox ( ls_title, ls_msg, Exclamation!, OK!, 1)

STD_FC_PB_Base.pbl(nc_winsock_master).of_messagebox.0043: ii_rc = go_ac.of_messagebox ( ls_title, ls_msg, Information!, OK!, 1)

STD_FC_PB_Base.pbl(nc_winsock_master).of_messagebox.0047: go_ac.of_write_log ( ls_msg )

STD_FC_PB_Base.pbl(ns_connection_master)error.0034: go_ac.of_write_log ("Error on CONNECTION object: '" + &

STD_FC_PB_Base.pbl(ns_connection_master)error.0036: go_ac.of_write_log (" Error Number: " + String ( errornumber ) ) // Write Error No 2 log

STD_FC_PB_Base.pbl(ns_connection_master)error.0037: go_ac.of_write_log (" Error Text: " + errortext ) // Write Error Text 2 log

STD_FC_PB_Base.pbl(ns_connection_master)error.0038: go_ac.of_write_log (" Error Object: " + errorobject ) // Write Object 2 log

STD_FC_PB_Base.pbl(ns_connection_master)error.0039: go_ac.of_write_log (" Error Script: " + errorscript ) // Write Script 2 log

STD_FC_PB_Base.pbl(ns_connection_master)error.0040: go_ac.of_write_log (" Error Line: " + String ( errorline )) // Write Error LineNo 2 log

STD_FC_PB_Base.pbl(ns_connection_master)error.0042: IF go_ac.of_is_silent_mode( ) = FALSE THEN // Silent mode ON?

STD_FC_PB_Base.pbl(ns_connection_master)error.0045: ii_rc = go_ac.of_get_message ( 66, ls_title, ls_msg) // get MSG

STD_FC_PB_Base.pbl(ns_connection_master)error.0046: ii_rc = go_ac.of_messagebox ( ls_title, ls_msg, Exclamation!, OK!, 1) // Display MSG

STD_FC_PB_Base.pbl(ns_ds_master)oe_postconstructor.0030: go_ac.of_get_message (45, ls_title, ls_msg, lo_sr ) // Get Error MSG

STD_FC_PB_Base.pbl(ns_ds_master)oe_postconstructor.0041: go_ac.of_get_message (45, ls_title, ls_msg, lo_sr) // Get Error MSG

STD_FC_PB_Base.pbl(ns_ds_master)oe_postconstructor.0059: THIS.of_set_pdf_native( go_ac.of_get_pdf_native( ) ) // YES=>See if AC agrees!

STD_FC_PB_Base.pbl(ns_ds_master)oe_postconstructor.0063: iul_tracker_no = go_ac.of_register_nvuo ( THIS ) // YES=> Register NVUO

STD_FC_PB_Base.pbl(ns_ds_master)constructor.0030: ib_sql_trace = go_ac.of_is_sql_trace ( ) // NO=>Get SQL SW

STD_FC_PB_Base.pbl(ns_ds_master)constructor.0034: ib_dbtime_trace = go_ac.of_is_dbtime_trace ( ) // NO=>Get SQL SW

STD_FC_PB_Base.pbl(ns_ds_master)constructor.0038: ib_printtime_trace = go_ac.of_is_printtime_trace ( ) // NO=>Get SQL SW

STD_FC_PB_Base.pbl(ns_ds_master)constructor.0042: ib_memory_trace = go_ac.of_is_memory_trace( ) // NO=>Get Memory SW

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0042: ii_rc = go_ac.of_get_message ( 90, ls_title, ls_msg) // Get HEADER msg

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0043: ii_rc = go_ac.of_write_log (ls_msg ) // Write it 2 log!

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0044: go_ac.of_write_log (" DB Error object: '" + THIS.Classname ( ) + "'") // Write name 2 Log

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0045: go_ac.of_write_log (" DB Error DWO: " + THIS.dataobject ) // Write DWO 2 log

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0046: go_ac.of_write_log (" DB Error Row: " + String ( row ) ) // Write Row 2 log

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0047: go_ac.of_write_log (" DB Error Buffer: " + is_sql_buffer ) // Write Buffer 2 log

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0048: go_ac.of_write_log (" DB Error State: " + is_sql_state ) // Write DB State 2 log

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0049: go_ac.of_write_log (" DB Error Code: " + String ( sqldbcode ) ) // Write DB Code 2 log

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0050: go_ac.of_write_log (" DB Error Text: " + sqlerrtext ) // Write Error MSG 2 log

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0051: go_ac.of_write_log (" DB Error SQL: " + sqlsyntax ) // Write SQL 2 log

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0052: ii_rc = go_ac.of_get_message ( 91, ls_title, ls_msg ) // Get TRAILER msg

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0053: ii_rc = go_ac.of_write_log (ls_msg ) // Write it 2 log!

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0055: IF go_ac.of_is_silent_mode ( ) = FALSE THEN // Silent Mode?

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0056: ii_rc = go_ac.of_get_message ( 64, ls_title, ls_msg) // NO=>get MSG

STD_FC_PB_Base.pbl(ns_ds_master)dberror.0057: ii_rc = go_ac.of_messagebox ( ls_title, ls_msg, Exclamation!, OK!, 1) // Display MSG

STD_FC_PB_Base.pbl(ns_ds_master)itemerror.0026: ii_rc = go_ac.of_get_message ( 90, ls_title, ls_msg) // Get HEADER msg

STD_FC_PB_Base.pbl(ns_ds_master)itemerror.0027: ii_rc = go_ac.of_write_log (ls_msg ) // Write it 2 log!

STD_FC_PB_Base.pbl(ns_ds_master)itemerror.0028: go_ac.of_write_log (" Item Error object: '" + THIS.Classname () + "'") // Write name 2 Log

STD_FC_PB_Base.pbl(ns_ds_master)itemerror.0029: go_ac.of_write_log (" Item Error Row: " + String(row)) // Write Row# 2 log

STD_FC_PB_Base.pbl(ns_ds_master)itemerror.0030: go_ac.of_write_log (" Item Error DWO: " + THIS.dataobject) // Write DWO 2 log

STD_FC_PB_Base.pbl(ns_ds_master)itemerror.0031: go_ac.of_write_log (" Item Error Name: " + String(dwo.Name)) // Write Error MSG 2 log

STD_FC_PB_Base.pbl(ns_ds_master)itemerror.0032: go_ac.of_write_log (" Item Error Data: " + String (data)) // Write Data 2 log

STD_FC_PB_Base.pbl(ns_ds_master)itemerror.0033: ii_rc = go_ac.of_get_message ( 91, ls_title, ls_msg) // Get TRAILER msg

STD_FC_PB_Base.pbl(ns_ds_master)itemerror.0034: ii_rc = go_ac.of_write_log (ls_msg ) // Write it 2 log!

STD_FC_PB_Base.pbl(ns_ds_master)itemerror.0036: IF go_ac.of_is_silent_mode( ) = FALSE THEN // Silient mode?

STD_FC_PB_Base.pbl(ns_ds_master)itemerror.0037: ii_rc = go_ac.of_get_message ( 65, ls_title, ls_msg) // Get MSG

STD_FC_PB_Base.pbl(ns_ds_master)itemerror.0038: ii_rc = go_ac.of_messagebox ( ls_title, ls_msg, Exclamation!, OK!, 1) // Display MSG

STD_FC_PB_Base.pbl(ns_ds_master)error.0025: ii_rc = go_ac.of_get_message ( 90, ls_title, ls_msg) // Get HEADER msg

STD_FC_PB_Base.pbl(ns_ds_master)error.0026: ii_rc = go_ac.of_write_log (ls_msg ) // Write it 2 log!

STD_FC_PB_Base.pbl(ns_ds_master)error.0027: go_ac.of_write_log (" Error on: '" + errorobject + "'") // Write Item name 2 Log

STD_FC_PB_Base.pbl(ns_ds_master)error.0028: go_ac.of_write_log (" Error DWO: '" + THIS.dataobject ) // Write DWO 2 Log

STD_FC_PB_Base.pbl(ns_ds_master)error.0029: go_ac.of_write_log (" Error No: " + String(errornumber)) // Write Error # 2log

STD_FC_PB_Base.pbl(ns_ds_master)error.0030: go_ac.of_write_log (" Error Line No: " + String(errorline)) // Write Line # 2 log

STD_FC_PB_Base.pbl(ns_ds_master)error.0031: go_ac.of_write_log (" Error Script: " + errorscript) // Write Script 2 log

STD_FC_PB_Base.pbl(ns_ds_master)error.0032: go_ac.of_write_log (" Error: " + errortext) // Write Msg 2 log

STD_FC_PB_Base.pbl(ns_ds_master)error.0033: ii_rc = go_ac.of_get_message ( 91, ls_title, ls_msg) // Get TRAILER msg

STD_FC_PB_Base.pbl(ns_ds_master)error.0034: ii_rc = go_ac.of_write_log (ls_msg ) // Write it 2 log!

STD_FC_PB_Base.pbl(ns_ds_master)error.0036: IF go_ac.of_is_silent_mode( ) = FALSE THEN // Silent Mode?

STD_FC_PB_Base.pbl(ns_ds_master)error.0037: ii_rc = go_ac.of_get_message ( 65, ls_title, ls_msg ) // Get MSG

STD_FC_PB_Base.pbl(ns_ds_master)error.0038: ii_rc = go_ac.of_messagebox ( ls_title, ls_msg,Exclamation!, OK!, 1) // Display MSG

STD_FC_PB_Base.pbl(ns_ds_master)sqlpreview.0049: IF go_ac.of_is_select_trace( ) = TRUE THEN // YES=>Trace?

STD_FC_PB_Base.pbl(ns_ds_master)sqlpreview.0055: IF go_ac.of_is_insert_trace( ) = TRUE THEN // YES=>Trace?

STD_FC_PB_Base.pbl(ns_ds_master)sqlpreview.0061: IF go_ac.of_is_delete_trace( ) = TRUE THEN // YES=>Trace?

STD_FC_PB_Base.pbl(ns_ds_master)sqlpreview.0067: IF go_ac.of_is_update_trace( ) = TRUE THEN // YES=>Trace?

STD_FC_PB_Base.pbl(ns_ds_master)sqlpreview.0077: go_ac.of_get_message ( 89, ls_title, ls_msg, lo_sr) // Get trace MSG

STD_FC_PB_Base.pbl(ns_ds_master)sqlpreview.0078: go_ac.of_write_log ( ls_msg ) // Write Header 2 Log!

STD_FC_PB_Base.pbl(ns_ds_master)sqlpreview.0079: go_ac.of_write_log ( ls_sql ) // Write SQL 2 Log!

STD_FC_PB_Base.pbl(ns_ds_master)retrievestart.0048: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug mode?

STD_FC_PB_Base.pbl(ns_ds_master)retrievestart.0049: IF go_ac.of_is_sql_trace( ) = TRUE THEN // YES=>Trace ON?

STD_FC_PB_Base.pbl(ns_ds_master)retrievestart.0053: go_ac.of_get_message ( 127, ls_title, ls_msg, lo_msg_data ) // Get MSG

STD_FC_PB_Base.pbl(ns_ds_master)retrievestart.0054: go_ac.of_write_log ( ls_msg ) // Write to log!

STD_FC_PB_Base.pbl(ns_ds_master)retrievestart.0059: IF go_ac.of_is_debug_mode( ) = TRUE THEN // Debug mode?

STD_FC_PB_Base.pbl(ns_ds_master)retrievestart.0060: IF go_ac.of_is_sql_trace( ) = TRUE THEN // YES=>Trace ON?

STD_FC_PB_Base.pbl(ns_ds_master)retrievestart.0062: IF go_ac.of_is_audit_trail( ) = TRUE THEN // Audit trail ON?

STD_FC_PB_Base.pbl(ns_ds_master)retrievestart.0063: go_ac.of_write_log ( ls_dwo_source ) // YES=Write DWO Source 2 Log!

STD_FC_PB_Base.pbl(ns_ds_master)retrievestart.0078: go_ac.of_get_message ( 126, ls_title, ls_msg, lo_msg_data ) // Get MSG

STD_FC_PB_Base.pbl(ns_ds_master)retrievestart.0079: go_ac.of_write_log ( ls_msg ) // Write to log!

STD_FC_PB_Base.pbl(ns_ds_master)retrieveend.0030: go_ac.of_write_log ("DS '" + THIS.DataObject + "' - Retrieval performance: " + &

STD_FC_PB_Base.pbl(ns_ds_master)retrieveend.0037: go_ac.of_write_log ("DS '" + THIS.DataObject + "' - Data Memory utilization: " + &

STD_FC_PB_Base.pbl(ns_ds_master)retrieveend.0040: go_ac.of_write_log ("DS '" + THIS.DataObject + "' - Total Memory utilization: " + &

STD_FC_PB_Base.pbl(ns_ds_master)retrieveend.0043: IF go_ac.of_is_debug_mode( ) = TRUE THEN

STD_FC_PB_Base.pbl(ns_ds_master)retrieveend.0044: go_ac.of_write_log ( "DS '" + THIS.DataObject + " - Storage statistics: " + &

STD_FC_PB_Base.pbl(ns_ds_master)retrieveend.0049: go_ac.of_check_available_memory( ) // Check App's memory

STD_FC_PB_Base.pbl(ns_ds_master)updateend.0023: go_ac.of_write_log ("DS '" + THIS.DataObject + "' - Update performance: " + &

STD_FC_PB_Base.pbl(ns_ds_master)printend.0022: go_ac.of_write_log ("DS '" + THIS.DataObject + "' - Print performance: " + &

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0039: ii_rc = go_ac.of_get_message ( 90, ls_title, ls_msg) // Get Header MSG

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0040: go_ac.of_write_log (ls_msg) // Write it 2 log!

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0041: go_ac.of_write_log (" WS Error on '" + THIS.classname ( ) + "'") // Write Name 2 Log

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0042: go_ac.of_write_log (" WS Error DWO: '" + THIS.dataobject ) // Write DWO 2 Log

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0043: go_ac.of_write_log (" WS Error Operation: " + operation ) // Write Operation 2log

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0044: go_ac.of_write_log (" WS Row No: " + String ( rownum ) ) // Write Row # 2 log

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0045: go_ac.of_write_log (" WS Buffer: " + buffername ) // Write WS Buffer 2 log

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0046: go_ac.of_write_log (" WS Info: " + wsinfo ) // Write WS Info 2 log

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0047: go_ac.of_write_log (" WS Method: " + method ) // Write Buffer 2 log

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0048: go_ac.of_write_log (" WS Error: " + errormessage ) // Write Msg 2 log

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0050: ii_rc = go_ac.of_get_message ( 91, ls_title, ls_msg) // Get trailer MSG

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0051: go_ac.of_write_log (ls_msg) // Write it 2 log!

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0053: IF go_ac.of_is_silent_mode( ) = FALSE THEN // Silent mode?

STD_FC_PB_Base.pbl(ns_ds_master)wserror.0054: ii_rc = go_ac.of_get_message ( 67, ls_title, ls_msg) // Get MSG

STD_FC_PB_Base.pbl(ns_ds_master)wser
  1. Helpful
  1. Chris Pollach @Appeon
  2. Friday, 19 March 2021 18:40 PM UTC
Hi Guys;

Yep, like the PFC .. the STD Framework does NOT use any GV's ... its an Object Pointer. That is the way all PB Apps need to be built. However, you guys never took the BOOA course (I guess). so your comments are understandable! ;-)

So you don't care that GV's are ...

1) Not Inheritable

2) Not write protected

3) Not Encapsulated

4) Cannot be protected or private

5) Polymorphism (Inclusional nor Operational)

Whereas, the PFC "App Manager" or the STD "App Controller" are *not* a GV. Its a pointer to an object that observes items 1-5 above.



PS: I wish that we had the BOOA course back. The PB Community really needs this from the many awful code snippets that I have seen - even in recent years.



Regards ... Mr OO - LOL!
  1. Helpful
  1. Benjamin Gaesslein
  2. Monday, 22 March 2021 14:03 PM UTC
How is gnv_app not a global variable? Yes, it's an object pointer; it's a global variable that holds a pointer to an object. It's literally listed under "Global Variables". By definition, a global variable is any variable that is global in scope, no matter the content. Gnv_app to me is no exception, with all the downsides associated with it. I don't know about it being write protected, either, nothing stops me from doing a "destroy gnv_app" anywhere within the application, potentially (or definitely, really) messing up global state that other code relies upon.
  1. Helpful
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Tuesday, 16 March 2021 12:51 PM UTC
  2. PowerBuilder
  3. # 2

In my opinion the "whole changed sequence of event executions", especially when using tabs is utterly confusion.

Nice would be:

- first the constructors of objects contained within a tabpage

- then the constructor of a tabpage

- then the constructor of a tab control

- last: the open event of a window.

.. but it's not.

I've seen things change over the years and especially when using "create on demand" it's very well possible that when you access a "create on demand" tabpage's pfc_retrieve(), that event fires without seeing the constructor being triggered (implicitly) first.

Also I don't seem to understand why SetRedraw() of a tab or a tabpage doesn't also affect the objects contained within them.

Though I'm not a 100% sure if what I'm saying here is completly true, if I ever have some time, I'll make a sample application to figure it all out and present a feature request to Appeon.

regards

Comment
  1. Miguel Leeuwe
  2. Tuesday, 16 March 2021 14:24 PM UTC
Hi David,

I know, I just checked and indeed, the OpenTab() function does wipe out the message contents. There might be other function / event calls that do the same. It's been always "good advice" to get the contents of the message object as soon as a window opens, but of course, if anything else before that does something to overwrite it, you can't wait for the open() to be triggered to read it.

regards
  1. Helpful
  1. David Peace (Powersoft)
  2. Friday, 19 March 2021 08:49 AM UTC
Yes, and that is the point really. But it is fair that a constructor event of an object on the window will fire before the open event.
  1. Helpful
  1. Miguel Leeuwe
  2. Friday, 19 March 2021 09:29 AM UTC
Agree on that one too.

it's the constructor of a tab, tabpage, or visual userobject firing BEFORE the constructor of the controls they might contain that I don't like. I know that a constructor is not the same as the open event of a window, but it still feels like inconsistent behaviour.

In the open of a window, you have the knowledge that all of the controls have been created. In the constructor of a tab, tabpage, or visual userobject this is not the case.

At the same time, from the constructor of a tab control on a window, you can trigger a pfc_retrieve() of a datawindow on a tabpage WITHOUT first passing through the constructor of that same dw and the tabpage it's on.

Strangely enough it doesn't blow up.

regards
  1. Helpful
There are no comments made yet.
mike S Accepted Answer Pending Moderation
  1. Tuesday, 16 March 2021 12:50 PM UTC
  2. PowerBuilder
  3. # 3

bug. 

Only the opentabwithparm should mess with the message object NOT opentab .  Did you check  openuserobject as well?

What PB version?

Comment
  1. David Peace (Powersoft)
  2. Tuesday, 16 March 2021 13:48 PM UTC
I didn't check openuserobject, being a typical developer..... having identified the problem I moved on :)
  1. Helpful
  1. mike S
  2. Tuesday, 16 March 2021 15:16 PM UTC
lol
  1. Helpful
There are no comments made yet.
Roland Smith Accepted Answer Pending Moderation
  1. Tuesday, 16 March 2021 12:36 PM UTC
  2. PowerBuilder
  3. # 4

Message is a standard global object, similar to sqlca.

Comment
  1. David Peace (Powersoft)
  2. Tuesday, 16 March 2021 13:49 PM UTC
Yes, I get that. I was not expecting opentab to clear the values though. Certainly took me a while to debug that one, ha ha!

  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.