重溫舊夢 –Delphi, Win32和COM+

好不容易在Yeka的強力遊說之下我終於答應了更新『Delphi 7高效資料庫程式設計』一書,雖然答應之後我似乎立刻有了悔意,不過答應的事還是要執行完畢的。因此在前些日子就趁著週日假期找些空閒的時間來更新內容,Yeka和我原本以為應該是件輕鬆的工作,但我一動工之後卻發覺不是那麼回事。

首先是dbExpress已經有了很大的進步,在RameshBDN文章中有一些說明,因此需要加入許多新的dbExpress功能內容。

2是當我更新到dbExpress加上COM+的內容時,發現Delphi 2006並沒有開啟Delphi 6/7Transactional Object精靈,因此無法在Delphi/C++Builder 2006中建立COM+物件。這個問題我也曾在CSDN和許多的論壇上看到有人詢問,當時由於我並沒有時間因此並沒有多加注意,現在我也需要使用Transactional Object精靈,怎麼辦呢? 經過簡單的搜尋,我發現Chris早就在他的Blog中說明了如何在BDS 2006中開啟Transactional Object精靈,您只需要在系統註冊器中加入下面的資訊即可:

HKEY_CURRENT_USER/Software/Borland/BDS/4.0/Type

Library/TransactionalWizards = True

接著重新啟動BDS,那麼您便會在IDE中看到類似如下的畫面,Transactional Object精靈已經可以使用了:

 

接著我們就可以在BDS IDE中進行COM+的開發工作,例如下圖就是我在BDS IDE中啟動Type Library編輯器在COM+中加入介面和服務方法以及方法的參數等資訊:

 

 

OK,現在瞭解了如何(How)開啟Transactional Object精靈之後,我想更重要的是解釋為什麼(Why)Delphi/C++Builder 2006在內定上不啟動Transactional Object精靈。這是因為BDS 2006IDE核心和Delphi 7IDE核心是完全不一樣的,而這些整合在IDE中的工具都和特定的IDE核心有關,因此這些精靈和工具都需要根據新的IDE核心修改和進行QA的工作,只是由於這部份在BDS 2006的時程中無法完全讓QA的工作進行完畢,因此在內定上是關閉這些精靈和工具的。因此現在雖然您知道了如何開啟它們,但是如果在使用時遇到一些小問題,那麼是您需要事先瞭解的。

 

當我耳中聽著80年代Billboard Top 100的歌曲並且快樂的使用Delphi 2006撰寫COM+的元件和應用程式時,心中真是高興,似乎又回到了當時Delphi 5的時光。而我使用Transactional Object精靈撰寫了數個COM+元件並且使用Delphi 2006重新編譯以前使用Delphi 5Delphi 7撰寫的COM+元件幾乎都沒有什麼問題,例如下圖就是我在WinXP SP2中使用Delphi 2006開發的COM+元件執行的畫面:

 

 

在執行了數個COM+的應用程式之後,我心中只有一個字:『快』。這是使用J2EE.NET元件好久沒有的感覺了。這也讓我很期待原生Win64應用程式 COM+ 再加上Delphi 64/dbExpress 64在一起的開發速度和效率。

 

3是新版的dbExpress 3.0BDP在設計上開始趨向使用一致的介面,這讓開發人員一旦熟悉其中一種資料存取技術之後能夠很快的上手另外一種技術,也讓Delphi開發人員能夠更容易的在Win32.NET 1.1.NET 2.0和未來的Win64平台上移植和轉換。因此也需要在書中解釋這種設計的架構以及其中牽涉的技術。

 看來答應了Yeka之後接下來幾個月我又得過著不眠不休的日子了。

最後,Delphi BDN又有一些新的文章,您可以在下面的URL找到它們。

http://www.borland.com/cn/products/delphi/index.html

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值