《PowerBuilder程序設(shè)計基礎(chǔ)》-第三章 應(yīng)用對象_第1頁
《PowerBuilder程序設(shè)計基礎(chǔ)》-第三章 應(yīng)用對象_第2頁
《PowerBuilder程序設(shè)計基礎(chǔ)》-第三章 應(yīng)用對象_第3頁
《PowerBuilder程序設(shè)計基礎(chǔ)》-第三章 應(yīng)用對象_第4頁
《PowerBuilder程序設(shè)計基礎(chǔ)》-第三章 應(yīng)用對象_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第三章應(yīng)用對象

眾所周知,PowerBuilder提供的是面向?qū)ο蟮拈_發(fā)環(huán)境,用它開發(fā)的應(yīng)用程序以對象和事件驅(qū)動為基本特征。應(yīng)用對象,顧名思義,它首先應(yīng)該是一個對象。那么,作為PowerBuilder8.0的對象之一,應(yīng)用對象也有一組事件,當用戶運行應(yīng)用程序時,首先觸發(fā)應(yīng)用對象的Open事件,在這個事件的事件處理程序中我們可以設(shè)置應(yīng)用的初始狀態(tài)、裝入其他對象、連接數(shù)據(jù)庫等。當用戶終止應(yīng)用程序時,應(yīng)用對象的Close事件將被觸發(fā),在這個事件的事件處理程序中,完成必要的系統(tǒng)清理工作。當程序運行過程中發(fā)生嚴重的錯誤時,應(yīng)用對象的SystemError事件將被觸發(fā),這時可以報告錯誤的類型和性質(zhì),以便我們及時排除錯誤。對于PowerBuilder來說,應(yīng)用對象對應(yīng)用程序至關(guān)重要,不可缺少。下面就讓我們一起去了解一下吧。3.1什么是應(yīng)用3.2創(chuàng)建應(yīng)用對象3.3設(shè)置應(yīng)用對象屬性3.1什么是應(yīng)用

應(yīng)用程序簡稱為應(yīng)用(Application),它包含了整個應(yīng)用程序的所有內(nèi)容。

每個程序都要有一個入口點,運行時程序就從這個入口點啟動。以C語言為例,用C語言編程時,main()函數(shù)就是入口點。同樣的,用PowerBuilder開發(fā)應(yīng)用程序時,也需要一個入口點,不過與C語言不同的是,這個入口點并不是函數(shù),而是PowerBuilder的一個對象,即應(yīng)用對象(ApplicationObject)。每個PowerBuilder應(yīng)用程序都有一個且僅有一個應(yīng)用對象,程序從這個應(yīng)用對象開始運行。

應(yīng)用對象是PowerBuilder的眾多對象之一,也是每個PowerBuilder應(yīng)用程序必備的對象,它是一個應(yīng)用程序的標識,是應(yīng)用程序的唯一入口點。應(yīng)用對象需要在應(yīng)用對象畫板中創(chuàng)建和修改。

除了作為應(yīng)用程序入口點這個功能以外,應(yīng)用對象還用來定義應(yīng)用程序的系統(tǒng)級行為。3.1.1應(yīng)用對象應(yīng)用對象是PowerBuilder應(yīng)用程序啟動時裝入的第一個對象,除了標識應(yīng)用程序和作為應(yīng)用程序的入口點外,應(yīng)用對象還保存和定義了下述信息:1.默認字體應(yīng)用對象是非可視對象,它的4個字體屬性用于定義應(yīng)用程序中的其他對象使用的默認字體。把應(yīng)用對象的字體屬性設(shè)置成應(yīng)用程序中使用最頻繁的字體將有助于加快應(yīng)用程序的開發(fā)進程。(因為這樣做可以避免為每個對象設(shè)置所需的字體)2.應(yīng)用程序圖標指定用哪個圖標代表運行中的應(yīng)用程序。3.應(yīng)用庫搜索路徑該路徑指明了在查找應(yīng)用程序中包含的各種對象時都檢索哪些應(yīng)用庫。放置在前面的應(yīng)用庫將首先被查找。4.默認的全局變量PowerBuilder為每個應(yīng)用程序都提供5個默認的全局變量(在第二章已經(jīng)學(xué)習(xí)過這5個默認的全局變量),它們分別是SQLCA、SQLDA、SQLSA、Error、Message,在PowerBuilder的應(yīng)用程序中既可以直接使用這些預(yù)定義的全局變量,也能夠在應(yīng)用對象畫板中更改這些全局變量的類類型。只要新的類類型的從相應(yīng)的原始類中繼承得到即可。使用用戶畫板就可以創(chuàng)建新的類類型。5.全局外部函數(shù)當我們想用PowerBuilder系統(tǒng)本身沒有提供的功能時,可以通過訪問外部函數(shù)來解決。此外,還有應(yīng)用對象結(jié)構(gòu)、函數(shù)和實例變量以及其它全局變量,在這里我們就不詳細介紹了。3.1.2應(yīng)用庫用PowerBuilder開發(fā)應(yīng)用程序時,我們建立的所有對象(包括對象函數(shù)、事件處理程序)、函數(shù)、結(jié)構(gòu)以及定義的所有變量,最終都存儲在磁盤文件中,該文件以.PBL為后綴,我們稱這些文件為應(yīng)用庫。一個應(yīng)用程序既可以存放在一個應(yīng)用庫中,也可以分散存儲在多個庫中,但是值得注意的是,不要使單個應(yīng)用庫過大,通常不宜超過800K,否則將增加系統(tǒng)的查庫時間。庫文件不能直接使用文本編輯器查看,但可通過庫管理畫板(LibraryPainter)瀏覽、操作應(yīng)用庫。

3.1.3幾種常用應(yīng)用的介紹

通常一個應(yīng)用程序會用到不僅僅一個庫文件,而是要用到許多庫文件,此時,用戶就必須將其他庫文件全部添加到應(yīng)用的搜索路徑中。由于PowerBuilder可以開發(fā)出多種形式的應(yīng)用并且都使用應(yīng)用這個概念,這就產(chǎn)生了一個需要區(qū)分的問題。那么如何區(qū)分呢?下面我們就來看一下這幾種常用應(yīng)用,從中我們可以很容易的找到區(qū)分它們的方法。1.可執(zhí)行應(yīng)用一個可執(zhí)行應(yīng)用是一個PowerBuilder的窗口集合,這些窗口將執(zhí)行相關(guān)的動作并將分發(fā)給最終用戶。一個可執(zhí)行的應(yīng)用可以是一個傳統(tǒng)的客戶/服務(wù)器應(yīng)用(服務(wù)器數(shù)據(jù)庫),也可以充當一個分布式應(yīng)用的客戶端(將向服務(wù)器應(yīng)用請示服務(wù))或服務(wù)器端。2.服務(wù)器應(yīng)用服務(wù)器應(yīng)用是包含一個或多個定制的類用戶對象的組件包,這些對象提供一種實現(xiàn)商業(yè)邏輯的方法并被發(fā)布到分布式應(yīng)用的服務(wù)器中。3.互聯(lián)網(wǎng)應(yīng)用互聯(lián)網(wǎng)應(yīng)用是一個運行在Web服務(wù)器上的PowerBuilder窗口或數(shù)據(jù)庫窗口。PowerBuilder中包括Internet工具,可以創(chuàng)建一個基于Web的應(yīng)用或?qū)⒁延袘?yīng)用擴展到互聯(lián)網(wǎng)上。3.2創(chuàng)建應(yīng)用對象如何創(chuàng)建一個新應(yīng)用對象?這是我們最關(guān)注的問題。下面就讓我們一起來創(chuàng)建一個應(yīng)用對象吧。3.2.1創(chuàng)建一個工作空間圖3-1Workspace選項卡3.2.2創(chuàng)建應(yīng)用對象該對話框說明,為了創(chuàng)建應(yīng)用程序?qū)ο蟊仨氉鋈缦虏僮?。給出應(yīng)用程序、庫及目標文件的名稱。選擇應(yīng)用程序的類型。選擇應(yīng)用程序?qū)ο蟮穆窂?。生成對象名稱。選擇連接需求。指定連接信息。指定連接信息源。指定要創(chuàng)建的項目選項以及可執(zhí)行文件的名稱。如果用戶選擇SDIApplication,向?qū)⒆詣由梢粋€單文檔界面應(yīng)用所必需的界面和程序。一個單文檔界面應(yīng)用只包含一個帶菜單的主窗口。具體生成的對象有如下幾種:應(yīng)用對象、主窗口、主菜單、祖先類子窗口。一個SDI應(yīng)用對于生成服務(wù)器應(yīng)用是相當有用的,因為當服務(wù)器應(yīng)用運行在一個應(yīng)用服務(wù)器上時,SDI窗口可顯示服務(wù)器運行的狀態(tài)。但服務(wù)器應(yīng)用的主要目的是為客戶端應(yīng)用提供商業(yè)邏輯組件?;赑FC(PFC-basedapplication)的應(yīng)用若用戶選擇的是PFC-basedapplication,向?qū)⒆詣由梢粋€基于PFC的應(yīng)用。PFC(PowerBuilderFoundationClassLibrary)是PowerBuilder的基礎(chǔ)類庫,使用此類庫可以直接使用類庫提供的一些功能(如查詢、預(yù)覽等)。使用PFC開發(fā)的特點是系統(tǒng)提供基本點的功能,由開發(fā)者將其組合起來。使用PFC進行開發(fā)時,開發(fā)者可以為應(yīng)用提供服務(wù)(服務(wù)是調(diào)用系統(tǒng)提供功能的一種方法),或者將用戶開發(fā)的功能提供給公司共同使用,這也是PFC開發(fā)的最大的優(yōu)勢——重用性。SDI(SDIApplication)該對話框中有3個單選按鈕,它們的功能分別為:“ApplicationINIFile”:使用應(yīng)用程序初始化文件夾與數(shù)據(jù)庫連接?!癛egistrySettings”:使用注冊表設(shè)置連接參數(shù)?!癝cript”:在腳本中定義連接參數(shù)?!癈onnectionServiceObject”(連接服務(wù)對象)框中的對象是系統(tǒng)自動生成的用于實現(xiàn)連接的用戶對象。3.2.3打開應(yīng)用對象我們已經(jīng)學(xué)過了如何創(chuàng)建一個應(yīng)用對象,接下來,再來學(xué)習(xí)一下如何將已經(jīng)創(chuàng)建完的應(yīng)用對象打開,并對其進行查詢或者修改。通常打開應(yīng)用對象的方法有兩種:1.常規(guī)方法2.快捷方式下面讓我們一起來分別看一下這兩種方法。3.2.3.1常規(guī)方法3.2.3.2快捷方法3.3設(shè)置應(yīng)用對象屬性應(yīng)用對象是開發(fā)PowerBuilder應(yīng)用程序必須用到的對象,應(yīng)用對象的屬性對于整個應(yīng)用程序的開發(fā)起著非常重要的作用。因此,設(shè)置應(yīng)用對象無疑是開發(fā)PowerBuilder應(yīng)用程序的一個重頭戲。下面我們就來談一談如何設(shè)置一個PowerBuilder應(yīng)用對象。3.3.1應(yīng)用畫板(Application)應(yīng)用畫板是設(shè)計應(yīng)用程序?qū)ο蟮墓ぞ?,要了解它的結(jié)構(gòu)及有關(guān)的屬性才能開發(fā)好一個應(yīng)用程序。下面我們來看一下畫板的結(jié)構(gòu)以及如何設(shè)置應(yīng)用對象的屬性。3.3.1.1應(yīng)用畫板結(jié)構(gòu)3.3.1.2應(yīng)用畫板(Application)設(shè)置步驟應(yīng)用“Application”畫板共有7個子窗口:“Properties”:屬性。“Script”:腳本?!癊ventList”:事件列表?!癋unctionList”:函數(shù)列表?!癝tructure”:結(jié)構(gòu)?!癝tructureList”:結(jié)構(gòu)列表?!癗ON-VisualObjectList”:非可視對象列表。應(yīng)用程序?qū)ο笙嚓P(guān)部分的程序設(shè)計,均在這些子窗口中完成,這就極大方便了程序的開發(fā)。“Properties”子窗口中共有兩個選項卡,下面我們就來分別看一下。(1)“General”選項卡“AppName”:應(yīng)用程序?qū)ο竺Q,在創(chuàng)建時已經(jīng)定義,所以不可以再進行修改。“DisplayName”:顯示名稱。默認值為AppName,不必修改。“MicroHelpDefault”:幫助信息。應(yīng)用程序?qū)ο笤跔顟B(tài)欄內(nèi)顯示的文本信息,默認值為Ready?!癉WMessageTitle”:消息對話框標題。應(yīng)用程序運行時,顯示在數(shù)據(jù)窗口中的消息對話框的標題。“DDETimeout”:動態(tài)數(shù)據(jù)交換連接超時。默認值為0。其他屬性”AdditionalProperties”“ToolbarFrameTitle”:應(yīng)用程序的Framebar工具欄浮

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論