久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇開發語言培訓專區Delphi程序設計 → CB vs Delphi


  共有9112人關注過本帖樹形打印

主題:CB vs Delphi

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
CB vs Delphi  發帖心情 Post By:2010-12-14 11:32:55

自從Borland推出了Borland C++ Builder之后,許多人時常會詢問BCB和Delphi有什么不同?除了使用的語言(C/C++ v.s. Object Pascal)之外,是不是都一樣?也有人經 常會不滿的指出,是不是BCB 一定會在功能上落后Delphi一個版本,那么使用BCB的人比
3 B) _8 l3 ]5 ^( D1 L4 P- B起Delphi 的程序員來說,是不是代表全用BCB的人是二等公民.說實話在BCB 1.0中由于Borland主要的目的是推出使用C/C++ 語言的RAD工具所以BCB 1.0和Delphi 2.0的功能上幾乎是一樣,但 是BCB 1.0卻遠比Delphi 2.0晚了一年的時間才推出.以致造成許多 人有上面的印象和問題的出現.今年的三月Borland又推出了BCB3.0, 雖然BCB3.0距離Delphi3.0推出的時間縮短10個月,但是BCB 3.0的功能是不能仍然是復制Delphi 3.0的功能呢?雖然BCB3.0和Delphi3.0在整合發民環境,VCL元件,和許多地方仍然非常的類似,
% e9 e2 x- Z. u7 b, j( j" Y但是在BCB3.0的技術底層卻已經和Delphi3.0仍然是以 VCL元件類別為主,但是在建立ActiveX元件和N-Tier的應用程序技術上將會走向不同的方向.這是因為C/C++和Object Pascal語言上差異的原 因.在本篇文章中,我將從技術的角度討論C++ BCB 3.0和Delphi 3.0的 不同,希望能夠讓使用這二個開發工具的程序員都有所了解.' W$ I+ \2 K2 o

: Z4 \  t3 }% q$ M8 P6 N& T# BCB 3.0 在除錯功能的大幅領先
; d2 }" K- t9 W* G! ]2 N  ~
( D+ G; T( U0 R; B5 Y: w* P4 l對于C/C++的使用者而言,除錯是平日工作中的少不了的事情.所以一個C/C++編譯器的除錯功能就直接影響了生產力.在BCB 3.0中Borland對于 BCB3.0除錯功能的強化會讓Delphi3.0的使用者羨慕的不得了.BCB3.0除了擁有Delphi3.0對于雙數檢視的工具視窗,加快了檢視字串變數的之外,更 加入了強勁的模組檢視功能.這個模組檢視器可以讓你巨細靡遺的觀看應用程序使用權的所有DLL以及專案中每一支程序的所有的方法.在中斷點之處啟動模組檢視器檢查應用程序.你可以看到模組檢視器顯示了多么詳細的資訊.更令人驚訝的是,BCB 3.0在應用程序執行時期居然能夠顯示出類似物件檢視器的視窗,讓你檢查一個VCL元件的所有資訊.包括特性值,方法和事件處理函數.這個除錯功能實在太棒了,因為有了它之后,你就可以掌握執行時期 VCL元件所有的變化.此外BCB 3.0也包括了一個Event Log可以讓檢視應用程序執行時發生的事件.這些新的除錯功能都是Delphi3.0所沒有的低層除錯能力.除了除錯功能之外,BCB3.0也允許程序員對于編譯器更好的控制能力.圖形是BCB 3.0中新的 高等編譯器選項功能.你可以看到BCB和一往的BC++一樣允許你更進一步的控制產生的程序碼品質.請注意在這些選項中有一項MFC Compatibility. 當你需要在BCB3.0中編譯MFC的程序時,你必須選擇這個選項,因為MFC使用了許多不正確而且奇怪的C/C++語法,為了要讓BCB的編譯器能夠順利的編譯MFC程序,這個選 項可以讓編譯器不致產生嚴重的錯誤.
( T/ B- f" v) B. }8 p" a1 l2 O$ m. B
5 w+ M3 r5 D% j4 S1 Z#制作ActiveX/N-Tier遠程服務器的技術差異
7 \. B, U# W8 G: K, t$ Z. u9 M7 ~$ t% N- @- \( Q
Delphi 3.0是PC級的工具中第一個真正可以開發N-Tier的開發工具. 另外Delphi3.0也是所有Borland的工具中支援COM/ActiveX最為完整的工 具,但是現在這個局面將被BCB 3.0打破.因為Borland現在也給予了C/C++ 使用權者相同的強大功能,讓C/C++的程序員也可以設計出分散式物件計算應用程序.此外BCB 3.0也可以讓你一個步驟便制作出ActiveX元件.但是在產生分散式物件和ActiveX元件時,Delphi3.0和BCB3.0差別最大的地方.下 面列出這兩個產品使用的引擎., ^& f1 u: r9 ]6 |9 o" V
) Y" G' U' l: X! W/ |$ [
Delphi 3.0 ----DAX (Delphi ActiveX Engine)4 u/ |0 a; _( y# u5 a+ z: W! e
Borland C++ Builder 3.0 ----ATL (ActiveX Template Library)
7 h' \, M$ y5 Q( m+ I1 h7 o! z+ A' D% V' m% e0 k, ~: N% ?
它們使用的引擎不同的原因除了Object Pascal不支持樣版(template) 外,另外的原因便是讓BCB產生的ActiveX元件和DCOM服務器能夠比較小.此 外BCB 3.0藉由使用ATL可以讓C/C++的程序員在未來跟上MicroSoft最新的技術,例如對于COM+的支援.例如,當你使用BCB3.0建立遠端的DCOM服務器, 可以啟動ATL選項指定DCOM服務器使用的樣例方式以及使用的執行緒模型. 當你使用BCB3.0的ATL選項制作ActiveXForm時,它可以結合資料庫的能力, 讓你開發出可以直接在IE瀏覽器中執行的資料庫應用程序.在這里有一點很重要的是在Delphi 3.02的DAX引擎之中,并沒有指定 ActiveX元件使用的執行緒模式.所以由Delphi 3.02制作的ActiveX和Act-iveFrom都無法正確的在IE4.0之中顯示出來.這并不是Delphi 3.02的臭蟲, 而是Microsoft改變了ActiveX元件游戲的規則.此外由于IE4.0之中有一些 臭蟲的存在,所以我建議你升級到4.01或是4.02.+ C  w! Z% Y) v. q" ]

9 d$ q- H' b0 h3 S#處理Windows訊息的技術差異
' C( y3 k/ u( _4 @" K5 J5 N% f" C; ^& ^1 h9 ^
BCB 3.0和Delphi 3.02在處理Window計算的方式上也有相異這處. 基本上BCB和Delphi都是使用VCL這個元件類別,所以在處理Window訊息上 也是由VCL元件來處理和分派的.下面的表格比較了VCL, OWL以及 MFC三種 FrameWork在處理Window訊息上的異+ B& h# ]7 i; Q
同:# m+ r) B9 |( A$ X) a" e! H7 E
' T# m3 q# C- f- o- }/ t" _( v: M( s
* Windows訊息處理的處理方式:- Y( K8 R* D9 |! T) f. z% {
VCL元件類別---使用虛擬函數(Virtual Function) 和動態函數(Dynamic. [2 @# I) F9 d" `+ E7 M0 |2 x
Function)
# O9 w0 F6 P* ~9 c$ C1 HOWLFramework(2.0之后)---使用虛擬函數
) j/ X8 n/ ^* T2 I$ jMFCFramework---使用Message MAP. d% c; g  M9 u9 N" h% J5 _8 }
( N4 R1 W% K9 S' O# e. s- R. L
* Windows訊息caching:
) ~" |( i5 g  [4 ?4 NVCL元件類別---否
$ r6 k( T. \% [( G" f: _2 I% ^OWLFramework(2.0之后)---是/ A9 j" V+ O5 ?9 G4 B. D7 h
MFCFramework---否
( K) M2 |1 l2 n" r! N* M5 O2 y) g# a- j, o6 M/ z. I
* 處理Windows訊息的速度:
( n; Y  o  ~  K% j1 r: Y( IVCL元件類別---良好
. A6 X+ R& U# E, G1 |9 @) UOWLFramework(2.0之后)---優
$ j/ Q2 J, l7 Q9 AMFCFramework---優) E% O1 X2 X0 {6 T
& @9 a* [9 w( }4 s% L
請注意,由于VCL元件類別在處理Window訊息時除了需要分派Window訊息到特定的訊息處理函式之外,它也會負責觸發VCL上相關事件處理函數, 所以在處理Window訊息的速度上會比OWL以及MFC稍慢,但是在功能上卻比 OWL和MFC更為豐富.在BCB 3.0中由于它使用的C++編譯器是BC++5.3,而且使用的Delphi編譯器也是Version 11,更重要的是由于BCB 3.0除了使用VCL類別進行VCL元 件的事件處理函數的window訊息分派之外,它也使用了類似MFC的Message Map來分派使用者定義的訊息處理函式,所以在處理window訊息的速度上比 Delphi 3.02來得快速.
1 c0 C1 t% N, r2 [  B; N
4 g0 w% T- |; V' q1 o#處理windows訊息的方式:
3 U7 d2 A/ v6 M1 r; c4 D% r5 ]% h" c4 k
Delphi 3.02---使用虛擬函數(Virtual Function) 和動態函數(DynamicFunction)
6 N- x1 q" N& }# n3 m" vBorland C++ Builder 3.0---混合虛擬函數和動態函數,以及類似MFC 的MessageMAP的事件處理函數的window訊息分派之外,它也使用了類似MFC的Message Map來分派使用者定義的訊息處理函式,所以在處理window訊息的速度上比 Delphi 3.02來得快速.
3 M/ }: t: E/ m4 m' g' i, R) j* m$ Z6 J' W0 l) h
我分別使用Delphi3.02和BCB3.0撰寫了一段處理window訊息1000次的示范程序,在我的Pentium133,64M Ram的機器上執行的結果如下:+ F4 E5 u5 k8 y; K! f1 P
+ K1 D- y% d* x+ A& \
處理1000訊息的時間:
: x* G* \9 K  C# E6 P( }; d. o# }BCB 3.0-------4.08
7 X7 L( z, m8 P$ eDelphi 3.02---4.890 `! d% u2 `) R
% Y- u1 @8 k1 W9 e8 K) v+ _6 ^% D
從上面的結果也可以證明BCB在處理window訊息方面是比Delphi3.02來得稍為快速.此外在ActiveX元件方面由于BCB3.0也是使用ATL的Message MAP 方式,所以在這方面比Delphi 3.02有較好的表現.
6 y! w* N) }+ {0 I9 i) i/ M
5 E: w1 i! @% _; ]# 系統功能的支援; ~* V. u( m$ d/ ~6 i7 j$ O
( V) Z/ P8 p7 \/ I/ A. ~
BCB3.0 除了前面比較偏向底層技術的革新之外,它也提供了一些重要的工具讓先前使用BC++或是VC++的開發者可以很快地轉換到BCB的開發環境之中. 第一個工具是所謂的資源轉換精靈,它可以幫助你轉換資源文件的內容成為BCB使用的表格和VCL元件.第二個工具是Borland推出的新工具 Comm20MF.這個工具可以讓你轉換VC++產生的DLL成為能夠讓BCB使用的DLL., L* K) S7 n' v% c" L5 [6 r2 H' ]

; r9 j1 Y  C$ F# RC Import精靈
& W4 B* u- c! {7 s* P( k
. X2 y5 @5 w( K對于許多使用BC++和VC++的人來說,一定使用了Resource Workshop或是AppStudio設計了許多的資源文件. 那么這些儲存對話盒或是其他視窗資源的文件如何在BCB 3.0中使用呢?是不是需要BCB使用的元件重新設計呢?當然重新設計所有的資源文件將會是一件令人痛苦的事情.Borland為了解決這個問題,特別為所有使用BCB 3.0的人提供了一個工具RC Import精靈.你可以在BCB的Tools選單中找到它.RC Import精靈可以幫助你讀取由BC++和VC++設計的所有資源,然后再把這些資源轉換為BCB使用的表格或是VCL元件.如此一來你就可以直接在 BCB中使用這些資源,并且結合所有BCB提供的VCL元件.有了RC Import精靈之后,你原先不管是使用BC++或是VC++設計的資源文件都能夠立刻轉換為BCB3.0的表格或是VCL元件,可以大幅減少你從這二個 C++工具移轉到BCB3.0所需要花費的時間.
0 p. `' J2 e* R# N) k8 t0 q8 k6 i( o1 h& ?( `" E2 U
# COFF函數庫的支持
1 O: Q; M. }! ?9 ^: |2 f7 q. Z7 ]8 ~  C" T. O
在傳統上Borland和 Microsoft的C++編譯器所產生的Object文件格式便是是不一樣的.Borland一直是使用OMF,而Microsoft則是使用COFF 格式. 這造成許多由VC++編譯的DLL無法讓BCB使用的情形.Borland為了解決這個問題,所以在BCB 3.0中提供了這個工具讓開發者能夠轉換VC++的DLL檔案格式成為BCB使用的OMF形式.如此一來就不會再有以前的困擾了.據我所知, Borland在未來會繼續強化這個工具,讓它功能更為強大,例如可能在未來也能夠轉換靜態的函數庫(.LLB)文件.除了上述的系統功能支持之外,事實上BCB3.0的連結器現在也能夠產生正確kernel-mode的驅動程序文件格式.這代表你已經可以使用BCB 3.0編寫驅動程序了.從這點來看BCB3.0對于系統工程師是非常有幫助的.BCB的程序員終于可以吐一口氣了,因為BCB3.0在許多方面都領先了 Delphi3.0.從的VCL元件類別3.5版,高等多重專案管理工具,到強勁的低層除錯功能,同時支援VCL,MFC,OWL都顯示BCB3.0是一個同時兼顧應用程序設計員和系統工程師需求的工具.此外由于BCB3.0繼承了Delphi3.0對于Multi-Tier,Internet應用程序功能方面的經驗,所以BCB是第一個讓C/C++程序設計員可以開發分散式計算環境應用程序的工具. 在未來 BCB也將會同時支援Microsoft的COM+和CORBA等分散式物件技術的標準. 這代表使用BCB,你就不必擔心未來你的應用程序會產生無法繼續執行問題.當然,對于Delphi的使用者而言,所有由BCB3.0開發出來的技術,也都將出現在Delphi未來的版本之中.從這個角度來看,BCB和Delphi將會是相互超前,且吸收彼此功能的競爭局面.這對于BCB和Delphi使用者都是有利的,因為這二個產品在這種情形下將會進步得更為迅速,相信這是所有使用Borland產品的人高興見到的事情

支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

CB vs Delphi








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
91国产成人在线| 另类欧美小说| 男人的天堂亚洲一区| 日韩精品亚洲一区二区三区免费| 一区二区激情小说| 视频一区免费在线观看| 日本亚洲一区二区| 精品一区二区成人精品| 国产精品白丝av| 波多野结衣亚洲| 成人欧美一区二区三区黑人免费| 国产精品日韩一区二区三区| 欧美性天天影院| 一区二区三区欧美成人| 色呦呦网站一区| 51精品视频一区二区三区| 欧美白人最猛性xxxxx69交| 国产日韩欧美不卡| 怡红院av一区二区三区| 免费观看30秒视频久久| 国产盗摄女厕一区二区三区| 91美女片黄在线观看91美女| 日产精品久久久一区二区| 欧美艳星brazzers| 久久综合色鬼综合色| 亚洲视频 欧洲视频| 日本欧美在线看| 99re这里只有精品6| 欧美久久久久久一卡四| 欧美老肥妇做.爰bbww视频| 国产日韩欧美制服另类| 三级成人在线视频| 成a人片亚洲日本久久| 久久综合入口| 欧美美女喷水视频| 中文字幕一区三区| 精品一区二区三区蜜桃| 99在线观看视频网站| 伊人av成人| 精品精品欲导航| 亚洲sss视频在线视频| av在线一区二区三区| 亚洲 国产 欧美一区| 精品国产91亚洲一区二区三区婷婷| 亚洲欧美日韩一区| 成人国产一区二区三区精品| 日韩av电影免费播放| 日韩精品自拍偷拍| 午夜精品福利一区二区三区av| 成人小视频在线| 一区二区三区的久久的视频| 国产视频一区二区在线| 麻豆精品一区二区三区| 精品在线不卡| 日韩精品一区二区三区视频播放| 午夜精品aaa| 国产99午夜精品一区二区三区| 欧洲一区二区av| 亚洲精品国产一区二区精华液| 成人av电影免费观看| 色婷婷久久一区二区三区麻豆| 日本一区二区三区高清不卡| 韩国毛片一区二区三区| 日韩影院一区| 国产精品乱码人人做人人爱| 国产99久久久国产精品潘金| 欧洲一区二区三区在线| 一区二区三区 在线观看视频| 97se亚洲国产综合自在线观| 欧美亚一区二区| 亚洲午夜免费视频| 久久久久se| 中文字幕成人av| 91在线视频18| 91精品国产综合久久久蜜臀图片| 日韩制服丝袜av| 日韩一区二区电影在线观看| 亚洲婷婷在线视频| 成人国产一区二区| 日韩欧美一区在线观看| 精品亚洲成a人| 色8久久精品久久久久久蜜 | 欧美精品第一页| 亚洲成人午夜影院| 免费亚洲一区二区| 国产精品成人一区二区三区夜夜夜| 国产成人在线视频网站| 欧美性色欧美a在线播放| 日韩电影免费在线| 色综合久久88色综合天天免费| 一区二区三区不卡视频在线观看 | 欧美日韩综合不卡| 免费精品99久久国产综合精品| 日韩一区不卡| 亚洲国产精品一区二区www在线| 久久综合色一本| 亚洲欧美一区二区久久 | 亚洲精品一区二| 亚洲国产综合在线| 日韩精品不卡| 亚洲成人资源网| 亚洲综合首页| 秋霞午夜av一区二区三区| 91久久精品国产91性色tv| 美女网站视频久久| 欧美人xxxx| 北条麻妃一区二区三区| 久久久久久亚洲综合| av资源一区二区| 亚洲欧美在线观看| 日韩精品久久久| 视频在线在亚洲| 欧美性受极品xxxx喷水| 国产精品一区二区视频| 日韩欧美高清一区| 97久久夜色精品国产九色| 国产拍欧美日韩视频二区| 国产丝袜不卡| 亚洲成人精品一区| 欧美亚洲愉拍一区二区| 国产99久久久国产精品潘金网站| 久久综合色8888| 久久99精品久久久久久久久久| 亚洲国产一区视频| 欧美视频一区二区三区四区| 丁香六月综合激情| 国产精品久久久久一区二区三区 | 精品久久五月天| 国产在线一区二区三区四区| 亚洲综合免费观看高清完整版在线| 中文字幕中文字幕在线中一区高清| 九色综合国产一区二区三区| 日韩欧美中文字幕精品| 国产精品区二区三区日本| 亚洲国产精品久久艾草纯爱| 欧美日韩精品免费观看视频| 7777奇米亚洲综合久久| 亚洲国产精品久久久男人的天堂| 欧美亚洲国产一区在线观看网站| 成人看片黄a免费看在线| 亚洲丝袜美腿综合| 欧美日韩一区二区三区四区五区| av不卡一区二区三区| 一区二区三区**美女毛片| 5566中文字幕一区二区电影| 国产精品区一区| 蜜桃免费网站一区二区三区| 久久久久免费观看| 伊人久久99| 99精品国产高清在线观看| 亚洲mv在线观看| 久久色.com| 欧亚一区二区三区| 51国偷自产一区二区三区| 日韩精品亚洲专区| 中文av一区特黄| 欧美老肥妇做.爰bbww视频| 国产欧美精品一区二区三区| 久久91精品久久久久久秒播| 国产精品全国免费观看高清| 欧美日韩亚州综合| 裸模一区二区三区免费| 国产999精品久久久久久绿帽| 亚洲精品ww久久久久久p站 | 亚洲欧洲精品天堂一级| 欧美亚洲高清一区二区三区不卡| 国产免费一区| 高清在线成人网| 天天亚洲美女在线视频| 亚洲国产精品传媒在线观看| 欧美日韩国产免费一区二区| 欧美婷婷久久| 91精品黄色| 狠狠色2019综合网| 亚洲高清免费视频| 亚洲国产成人在线| 7777精品伊人久久久大香线蕉| 日本一区二区三区精品视频| 93久久精品日日躁夜夜躁欧美| 免费成人在线观看| 一区二区不卡在线视频 午夜欧美不卡在| 精品99一区二区三区| 欧美日韩精品欧美日韩精品一| 日本最新一区二区三区视频观看| 91传媒免费看| 成人免费精品视频| 精品综合久久久久久8888| 亚洲国产精品久久一线不卡| 国产精品国产a级| 久久久久久久久岛国免费| 69堂精品视频| 欧美性受xxxx黑人xyx| 一本色道婷婷久久欧美 | 久久久影院官网| 91精品国产综合久久小美女| 一本久久综合亚洲鲁鲁五月天| 欧美日韩国产不卡在线看| 国产美女精品久久久| 国产a一区二区| 91免费看视频|