PB 5中PFC的使用
發表時間:2023-08-18 來源:明輝站整理相關軟件相關文章人氣:
[摘要]中原石油勘探局計算中心系統集成部 劉少青 ---- PFC是PowerBuilder高級開發工具集中的一個基本類庫,提供了進行一般應用開發時會經常用到的對象和函數代碼。PowerBuilder 5....
中原石油勘探局計算中心系統集成部 劉少青
---- PFC是PowerBuilder高級開發工具集中的一個基本類庫,提供了進行一般應用開發時會經常用到的對象和函數代碼。PowerBuilder 5.0的基本類庫中的內容十分豐富,比以前版本中所提供的功能要增加了許多,而且對象之間的繼承和引用關系也比以前更為清晰合理。因此編寫一個完全建構在PFC類庫之上的應用可大大提高軟件質量,而且利用基類的已有代碼也會使得許多復雜的功能實現起來要輕松得多。
---- 本文將根據筆者使用PFC的經驗,介紹如何創建PFC的應用。
---- 1、首先在C盤新建一個目錄Test,啟動PowerBuilder5.0,創建一個新的應用,并將應用對象保存在Test.pbl中,將應用取名為test,保存時不使用PB提供的快速模板。
---- 2、進入應用的“Properties”(屬性)中,選中“Libraries”標簽,單擊“Browes…”按鈕,選中C:\Pwrs\Pb5i32\Adk\pfc目錄下的全部8個pbl文件:pfcapsrv.plb、pfcdwarv.pbl、pfcmain.pbl、pfcwnsrv.pbl、pfeapsrv.pbl、pfedwarv.pbl、pfemain.pbl、pfewnsrv.pbl,單擊“打開”按鈕,再單擊“Apply”按鈕。然后選中“Variable Types”標簽,將“SQLCA:”中的“transaction”改為“n_tr”,單擊“OK”按鈕保存對屬性的修改。
---- 3、新建一個“User Object”(用戶對象),單擊“Inherit…”(繼承)按鈕,在“Application Libraries”中選中“PFEAPSRV.PBL”,在“User Objects”中選中“n_cst_appmanager”,單擊“OK”按鈕,在其“pfc_open”事件中寫入以下登錄數據庫的程序(以SQL Server為例):
//pfc_open for n_cst_test inherited
n_cst_appmananger returns (none)
SQLCA.DBMS=ProfileString
("PB.INI","Database","DBMS", " ")
SQLCA.Database=ProfileString
("PB.INI","Database","DataBase"," ")
SQLCA.LogID=ProfileString
("PB.INI","Database","LogID", " ")
SQLCA.LogPass=ProfileString
("PB.INI","Database","LogPassword"," ")
SQLCA.ServerName=ProfileString
("PB.INI","Database","ServerName"," ")
SQLCA.UserID=ProfileString
("PB.INI","Database","UserID"," ")
SQLCA.DBPass=ProfileString
("PB.INI","Database","DatabasePassword", " ")
SQLCA.Lock=ProfileString
("PB.INI","Database","Lock"," ")
SQLCA.DbParm=ProfileString
("PB.INI","Database","DbParm"," ")
Connect Using SQLCA;
If SQLCA.sqlcode < > 0 Then
MessageBox("Cannot Connect to Database",
SQLCA.sqlerrtext,StopSign!)
Halt Close
Return
End If
Open(w_frame_test) //打開應用的主窗口(假設為w_frame_test)
---- 將該用戶對象保存為n_cst_test。
---- 4、進入應用的“Script”中,選擇“Declare/Global Variables…”菜單,定義全局變量:
n_cst_appmanager gnv_app //該全局變量的名稱必須為gnv_app
并在該應用的open事件和close事件中分別寫入以下程序:
//open for test returns (none)
gnv_app = Create n_cst_test
gnv_app.Event pfc_open(commandline)
//close for test returns (none)
gnv_app.Event pfc_close()
Destroy n_cst_appmanager
---- 經過上述步驟后,我們所要的PFC應用的總體械架就形成了,剩下的就是具體的編程工作了,本人在此不再贅述。