程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 最酷的程序員用KOL

最酷的程序員用KOL

編輯:Delphi

  前言

  VCL 庫是Delphi程序員熟知的,她幾乎成了Delphi RAD技術的代言人。
  VCL擁有世界上最大最豐富的控件資源涵蓋了軟件開發的各個方面,遠遠超過其他開發工具,是每個程序員所垂涎。VCL的優點不再多說,現在我要向各位Delphi兄弟介紹另一套Delphi上的類庫:KOL。
  

  KOL是什麼?

  KOL - Key Objects Library is a set of objects to develop power 32 bit Windows GUI applications using Delphi. It is distributed free of charge, with source code.
     Delphi2, Delphi3, Delphi4 and Delphi5 are supported. KOL allows to create very compact GUI applications (starting from ~13,5K without compression - if suggested system units replacement used). The most of code is converted to built-in assembler.
     Help generating tool xHelpGen is provided for KOL, which creates detailed documentation in Html format. Documentation is generated on base of comments from the source, so developers instantly  have Access to the most fresh and complete documentation.
     Programming for KOL was totally non-visual earlIEr, but with opening project MCK (Mirror Classes Kit), all advantages of visual programming become available for developers who use KOL.
     Starting from April, 2001 the unit KOLEdb provided, which allows to create tiny (but power) database applications starting from 24K of executable size. It uses OLE DB protocol, so any database can be supported, including network database.

  (以上這段摘自KOL的主頁)

  "沒有一個字節的代碼是廢物"

  

  (我寫的第2個KOL程序,35K,ASPack壓縮後28K,1個Exe不需要任何運行庫)

  現在的VCL應用程序雖然很優美,但還不夠精簡(a little oversized),一個空空的GUI程序至少有270K(Delphi5),原因是Borland的編譯器技術雖然精湛,具有SmartLink技術(只把用到的代碼連接到EXE),但對於很多面向對象編程中采用了大量的的方法繼承,虛方法表,使得 SmartLink也無能為力。而且隨著 Delphi 升級,基本對象的方法和屬性的代碼也越來越大。采用分離的運行庫編譯雖然可以減小EXE,但要求客戶端安裝VCL運行庫是困難的,除非微軟讓步......(不說也罷)。不過總的說來,雖然基於VCL的程序有冗余代碼,但相對其他同類類庫,EXE尺寸已經算很不錯了,一般在數百K到1、2M左右。
  其實我們很早就聽說直接用WinAPI可以創建很小的程序(有個著名的TestGUI.DPR),因此有些程序員就打算自己建VCL以外的類庫,具有VCL主要的功能,創造精簡的
  程序。Delphi上的非VCL類庫目前我所見到的有3個,分別為 ACL,XCL/KOL 都出自俄羅斯(老毛子高人輩出,而且是歷史上很多革命的發源地)。其中最具有革命性的就屬KOL庫,作者 Vladimir Kladov 在1999年就開始設計 XCL,XCL出到1.86(2000年7月)
  特點是重寫VCL,刪除不必要使用很少的對象屬性和方法,其體系與VCL類似,也是
  對象繼承方式。
  到2000年,Vladimir Kladov 發現XCL雖然有效,但不能根本解決問題,或者說有可能重蹈VCL庫覆轍,於是他停下了XCL,推出了更大膽的計劃KOL。其技術要點是設計了一個巨無霸對象TControl,避免了對象繼承,用不同的NewXXXX方法創建對象,使得編譯器可以輕松的剔掉冗余代碼,另外還有替換System單元等多種手段。聽起來很不可思議,是吧?哈哈,但我玩過最新的KOL,發現它的確實厲害,KOL的目標並不是取代VCL,而是幫助我們完成一些功能齊全的,尺寸緊湊的專用EXE(最小的KOL GUI 程序只有9.5k),這在我們將來設計一些通過網上分發或嵌入設備程序會很有用。另外,KOL中重寫了的TStrList、TList等大量對象比原來的VCL效率更高。
  

  KOL的程序設計難嗎?
  (以下部分內容據我今天(2001/5/14)剛從網上更新的0.74KOL,0.73MCK庫而來,而KOL最近更新很頻繁,請大家關注其網站)
  早期的KOL的程序開發是完全"非可視"的,其標准例子可看出。不過用KOL的程序員,絕非等閒之輩,相信 VC++/MFC的哥們也會很容易上手,因為和 WinAPI打交道其實也很親切,但KOL絕對是一個優越面向對象的類庫,建新程序中自己手寫的代碼已經不算多了。

  但Kladov又推出一個可視開發工具 MCK(鏡象構件庫),非常巧妙的利用了Delphi的IDE
  實現了可視開發。當然很多人建議設計VCL工程翻譯工具可能更方便,但現在還沒人去做,畢竟是個革命性的東西,需要更多人參與。我個人認為MCK還算個很好的思路,至少在新工程開發上不難。但傳統的Delphi程序員一定要有思想准備,你的第一個KOL程序花的時間肯定是你第一個VCL程序的數倍甚至更多(第一個VCL程序只要按一下F9就行了,呵呵)將來的KOL會“可視”到什麼程度,我的估計應該很樂觀。
  現在KOL已經有OLEdb 和 DBF 數據庫的控件了,由於 VCL的控件大多源碼開放,KOL的控件群出現指日可待。
  說到可視化工具MCK,我真的很佩服Kladov的匠心獨具,Kladov有一句話很有意思:

  “KOL/XCL從一開始就沒打算設計成可視化開發方式...我反復的告戒自己KOL可視化是不可能的,可是我熬了4個通宵後,事情好象辦成了...”

  說這麼多差不多了,各位趕快去KOL主頁上看看吧。

  其他

  你寫的第一個KOL Form 注意上的 defaultPosition defaultSize 屬性請設為 False.

  希望各位Delphi兄弟有空交流KOL開發經驗,我的信箱: [email protected]

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved