當你在一種可視化開發環境工作時,你的時間花費在應用的兩個不同的部分:可視化設計器和代碼編輯器。 設計器讓你在可視化級別上操作組件(諸如你將一個按鈕放置在一個窗體上),或者在一個非可視化級別上工作(諸如當你放置一個DataSet組件在一個數據模塊上時)。你能在圖表1.1中的操作中中看見一個窗體和一個數據模塊。在這兩種情況中,設計器允許你選擇你需要的組件且設置它們的屬性的初始值。
圖表1.1在 Delphi 7 IDE中的一個窗體和一個數據模塊
代碼編輯器是你寫代碼的地方。在可視化環境中寫代碼最明顯的方式是包括對事件作出反應,事件由程序用戶執行的操作開始,諸如單擊一個按鈕或者選擇一個列表框的一個選項。你能使用同樣的方式來處理內部事件,諸如涉及數據庫變化的事件或來自操作系統的通知。
當程序員對Delphi熟知時,他們經常以主要編寫事件處理(event-handling)代碼為始發端,然後轉移到撰寫他們自己的類和組件,最後花費大部分時間在編輯器中。 因為本書涵蓋的內容遠遠超過可視化編程,試圖幫助你把握Delphi的整個力量,隨著行文的深入,你將看見更多的代碼,更少的窗體。
一種重要的變化首次在Delphi 6中出現。IDE現在允許你在兩個不同的可視化類庫上工作: VCL (Visual Component Library,可視化組件庫)和CLX (跨平台組件庫,Component Library for Cross-Platform)。 當你創建一個新項目時,你可以很簡單地從兩個類庫中選擇你想要使用的一個,這樣開始:通過File ® New ® Application命令,建立一個典型的基於VCL的Windows程序;通過File ® New ® CLX Application 命令建立一個新的基於CLX的可移植(portable)應用程序。
注釋
CLX是Delphi的跨平台庫,它允許你用Kylix重新編譯你的代碼以運行在Linux下。 你可以在第5章,“可視化控件”,讀到關於CLX和VCL的更多內容。在Delphi 7中使用CLX更有趣,因為Kylix的Delphi語言版與Windows產品一起發售。
當你建立一個新項目或者打開現有的一個時,組件板被安排了只顯示與當前庫(雖然大多數控件是共享的)有關的控件。 當時你操作一個非可視化的設計器時(諸如一個數據模塊),可視化組件的組件板標簽隱藏起來了,不可見。
程序員能夠以各種方式定制IDE— 典型的,打開許多窗口的,安排它們的,相互停靠的。 然而,你經常需要在在設計時打開一套窗口的設置,而在調試時又打開另一套不同的窗口設置。 同樣地,你可能在操作窗體時需要一種布局,而在僅使用編輯器編寫組件或者低級代碼時又需要一個完全不同的布局。 為了每個這樣的需要重新整理IDE是一件非常乏味的工作。
由於這個原因,Delphi允許你以一個名稱保存特定的IDE窗口(稱為桌面desktop,或者Global Desktop,以區別於項目桌面Project Desktop)很並且容易恢復它。 你也可以保存你的缺省調試設置中的一個,當你開始調試程序時它將自動被恢復。 所有這些特性可從Desktops toolbar得到。 你也能使用VIEw ® Desktops菜單操作桌面設置。
桌面設置信息被保存在DST文件中(儲存在Delphi的bin目錄中),它們是偽裝的INI文件。 被保存的設置包括主要的窗口,Project Manager,Alignment Palette,Object Inspector (包括它的 property category settings) ,editor Windows (Code Explorer 和Message VIEw的狀態),還有許多其它的位置,加上各種窗口的停靠狀態。
這是從一個DST文件中摘錄的一小段,它應該是很容易讀的:
[Main Window]
Create=1
Visible=1
State=0
Left=0
Top=0
Width=1024
Height=105
ClIEntWidth=1016
ClIEntHeight=78
[ProjectManager]
Create=1
Visible=0
State=0
...
Dockable=1
[AlignmentPalette]
Create=1
Visible=0
...
桌面設置越過項目設置,項目設置被保存在一個類似結構的DSK文件中。 桌面設置幫助除去當你在機器(或者在開發者之間)之間移動一個項目並且不得不重新把窗口整理成為你愛好的時發生的難題。 Delphi將每一用戶的全局桌面設置和每一項目的桌面設置分開,以更好地支持團隊開發。
技巧
如果你打開Delphi並且不能看見窗體或者其它窗口,我建議你嘗試檢查(或者刪除)桌面設置 (從Delphi的bin目錄下)。 如果你打開被一個不同的用戶接受的一個項目並且不能看見一些窗口或者不喜歡桌面布局,再次載入你的全局的桌面設置或者刪除項目DSK文件。