PFC學習筆記(四)PFC程式設計基礎

來源:互聯網
上載者:User
PFC是基於PowerBuilder原生對象/函數的進一步抽象,抽象出了程式開發的準系統,並提供了一套規則用於程式開發。

本篇主要是學習這套規則的基本使用方法。

一、設定應用程式管理器

1、首先設定擴充層的n_cst_appmanager,或建立一個基於n_cst_appmanager的對象。此對象貫穿整個應用程式的始終。以 gnv_app.event pfc_open(commandline)為起點,以gnv_app.Event pfc_close()為終點,並提供pfc_systemerror()、pfc_idle()、pfc_ConnectionBegin()、 pfc_ConnectionEnd()事件對應application的各事件。

2、在n_cst_appmanger的pfc_open()事件中設定要啟用的應用服務,包括:

of_SetAppPreference ——   應用選項服務
of_SetDWCache ——  資料視窗快取服務
of_SetError —— 錯誤服務
of_SetMRU —— 最近使用過的物件服務
of_SetTrRegistration ——  事務註冊服務
of_SetSecurity ——  安全性服務
of_SetDebug ——  調試服務

3、可在pfc_PreAbout、pfc_PreLogonDlg、pfc_PreSplash事件中添加代碼以定製關於、登陸、閃屏視窗。

二、建立應用程式

PFC提供了兩種應用程式模式,即MDI和SDI。

1、建立MDI應用程式

w_frame作為應用程式的架構的祖先視窗,w_sheet作為頁程式的祖先視窗。
of_SetStatusBar啟用狀態條服務
of_SetSheetManager啟用頁管理服務

2、建立SDI應用程式

w_main作為應用程式主視窗的祖先視窗。

三、使用PFC函數進行程式設計

1、函數命名規則:of_Get,of_Set,of_Is,of_Register,of_UnRegister

2、使用函數前需要確定其所屬對象已經被建立。

3、函數過載。通過兩種方法實現:多重文法及選擇性參數

四、使用PFC事件進行程式設計

PFC充分體現了事件響應驅動的設計思路。

1、PFC通過廣泛的預編碼事件,可在其中定製或擴充相應事件的功能。
例如:pfc_PreAbout,pfc_PreClose,pfc_PreLogonDlg,pfc_PreOpen, pfc_PrePageSetupDlg,pfc_PrePrintDlg,pfc_PreRestoreRow,pfc_PreRMBMenu, pfc_PreSplash,pfc_PreToolbar,pfc_PreUpdate

2、PFC提供空使用者事件,可以添加代碼實現相應的功能。
很多空使用者物件部分是通過訊息路由被功能表項目觸發的,其他的則由應用程式中的代碼觸發。

五、使用屬性對象

PFC提供了一些只有屬性的使用者物件,具有以下特點:

1、包含公用的執行個體變數

2、是自動執行個體化的

3、對象名稱以attrib結尾

4、常用於向PFC的預先處理過程傳遞資訊

5、是可擴充的

6、PFC使用它們代替了結構

六、使用PFC常量

使用常量增加程式碼可讀性。PFC約定常量的所有字母都要大寫

七、訊息路由器

PFC使用訊息路由器處理菜單與視窗間的通訊。其根據一種定製的搜尋演算法決定接收訊息的合適對象。

1、菜單指令碼僅需要知道要調用的使用者事件,而不必知道當前視窗或相關空間的名稱。

2、視窗不必維護那些僅僅調用資料視窗事件的使用者事件。

3、訊息路由器傳遞的實際上是一個字串,包含要觸發的使用者事件的名稱。

4、訊息路由器內建了錯誤訊息

5、當使用者選中一個功能表項目時,該功能表項目的Clicked事件指令碼調用菜單的of_SendMessage函數,傳遞要調用的使用者事件名稱。 of_SendMessage函數調用n_cst_menu的of_SendMessage函數,該函數調用視窗的pfc_MessageRouter事件,該事件再調用指定的使用者事件。

八、PFC的交易管理

PFC使用n_tr代替標準的事務對象。提供了一組函數,用來執行資料庫的串連、斷開、提交和復原,以實現事務的管理。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.