2007 年 05 月 的封存

Together For C/C++Builder 2007

隨著C/C++Builder 2007的產品發表會愈來愈近,準備範例的時間也愈來愈少。在最近使用C/C++Builder
2007
的經驗總體來說,這次CodeGearC/C++Builder 2007增加的功能真的不少,除了因為使用FastMMFastRTL讓整個IDE更快速之外,CodeGear終於也開始為C/C++的開發人員加入建模的功能,這個意思是說Together終於開始支援C/C++了。

我個人記得在數年前使用Together時曾經用過Together For C/C++,但是Together對於C/C++Builder的支援一向不好,更別說是在C/C++BuilderIDE中直接使用Together了。雖然C/C++語言相對於Java/C#/Delphi來說是比較複雜的程式語言,但是既然Together能夠支援一般的C/C++語言,就沒有理由不能更進一步的支援C/C++Builder。而C/C++Builder 2007終於打開了這個僵局,準備讓C/C++Builder也能夠像Java/C#/Delphi一樣擁有最好的建模能力。在C/C++Builder 2007CodeGearC/C++開發人員增加了對於C/C++逆向工程的能力,產生報表的能力以及支援一些UML中和程式碼無關的高階建模功能,例如使用案例圖等。未來CodeGear將投入更多的研發資源讓C/C++程式語言以及C/C++Builder擁有第一流的建模功能。

C/C++Builder 2007第一步支援建模其實做的相當不錯,例如下圖是我在

C/C++Builder 2007中匯入loki架框並且進行逆向工程展現整個loki的架構,讀者可以注意由C/C++Builder 2007產生的類別圖清楚的標示了樣版(Template)類別以及Host類別(在類別圖中分別以THost標示):

http://tkfiles.storage.msn.com/y1pPKnBvkPtOjldMPqAyKrH6VhKkqmGRnWS8umpPLuJQvAHge2ed9CO1uQKWO7au0Z6

此外C/C++Builder 2007可以根據您的C/C++專案原始程式碼產生HTML格式的文件,免除了開發人員需要再花費額外的時間撰寫文件。例如下圖便是C/C++Builder
2007
自動為loki架框產生的說明文件,其中包含了每一個loki類別的說明,繼承/實作架構,方法和屬性說明等,這是一個相當實用的功能。

http://tkfiles.storage.msn.com/y1pPKnBvkPtOjkTSdMdYjJjphn5e6Hd8UKxy2o0r2sA4ecS6pUrd-hTxtK3wZg1Ty9S

C/C++Builder 2007的發表會中我們會說明和展示更多C/C++Builder 2007的新功能,例如Ajax For C/C++C/C++Builder 2007編譯/執行速度的提升,IDE新增的開發功能等,我們到時再見了。

廣告

13 則迴響

dbExpress 4的效率提昇

在前一陣子的Delphi 2007發表會中我提到了dbExpress 4是一個非常大的進步版本,它使用了全新的架構,目的是為了讓Delphi的開發人員自此之後能夠使用一套原始程式開發同時能夠在Win32/.NET以及未來的Win64平台之中而無需修改應用程式。

我相信對於使用Delphi開發資料庫應用程式的人來說dbExpress 4應該是受歡迎而且值得使用的,因為這可以在可見的未來避免不時需要更換資料庫存取引擎而導致需要大幅重寫應用程式,例如從BDEdbExpress,或是從BDEADO.NET/BDP.NET

當然,更換資料庫存取引擎考慮的因素很多,例如可使用的年限,功能,支援的平台和資料庫種類,以及執行效率等。DbExpress 4在使用的年限,功能,支援的平台和資料庫種類等都非常的令人滿意,因此執行效率可能就是許多人關心的。在Delphi 2007發表會中我提到了dbExpress 4Win32/Win64平台提供了連結池(Connection Pool)等的高等功能,終於讓Win32/Win64的原生應用程式可以享受.NET平台才有的高階服務。

不過我在Delphi 2007發表會中並沒有機會展示dbExpress 4提供的效率優勢。要知道如何從以前的dbExpress版本享受dbExpress 4新的功能,先讓我們觀察以前版本的dbExpress連結組態。下圖是我使用BDS 2006中的dbExpress組態對話盒,各位可以看到在舊的dbExpress中只有對每一種資料庫

在前一陣子的Delphi 2007發表會中我提到了dbExpress 4是一個非常大的進步版本,它使用了全新的架構,目的是為了讓Delphi的開發人員自此之後能夠使用一套原始程式開發同時能夠在Win32/.NET以及未來的Win64平台之中而無需修改應用程式。

我相信對於使用Delphi開發資料庫應用程式的人來說dbExpress 4應該是受歡迎而且值得使用的,因為這可以在可見的未來避免不時需要更換資料庫存取引擎而導致需要大幅重寫應用程式,例如從BDEdbExpress,或是從BDEADO.NET/BDP.NET

當然,更換資料庫存取引擎考慮的因素很多,例如可使用的年限,功能,支援的平台和資料庫種類,以及執行效率等。DbExpress 4在使用的年限,功能,支援的平台和資料庫種類等都非常的令人滿意,因此執行效率可能就是許多人關心的。在Delphi 2007發表會中我提到了dbExpress 4Win32/Win64平台提供了連結池(Connection Pool)等的高等功能,終於讓Win32/Win64的原生應用程式可以享受.NET平台才有的高階服務。

不過我在Delphi 2007發表會中並沒有機會展示dbExpress 4提供的效率優勢。要知道如何從以前的dbExpress版本享受dbExpress 4新的功能,先讓我們觀察以前版本的dbExpress連結組態。下圖是我使用BDS 2006中的dbExpress組態對話盒,各位可以看到在舊的dbExpress中只有對每一種資料庫建立的連結:

下圖則是新的dbExpress 4 dbExpress組態對話盒,我們可以看到在dbExpress 4中有了數個新的連結設定,其中和連結池相關的就是DBXPOOLCONNECTION,這就是我們需要使用的。

 

 

因此要在dbExpress 4中為各種資料庫連結開啟連結池的功能,我們只需要藉由使用dbExpress 4中新的Delegate驅動程式,也就是說讓原本使用的dbExpress資料庫驅動程式再連結到通用的DBXPOOLCONNECTION驅動程式,就立刻可以在原本的dbExpress驅動程式中加入連結池的功能。這也就是說開發人員只要在原本的dbxconnectoins.ini中,找到建立的資料庫連結,例如我有一個連結到InterBase 2007的連結組態IBDEMODB,如下所示:

[IBDEMODB]

DriverName=INTERBASE

DRIVERUNIT=DBXDynalink

DRIVERPACKAGELOADER=TDBXDynalinkDriverLoader

DRIVERPACKAGE=DBXCommonDriver110.bpl

DRIVERASSEMBLYLOADER=Borland.Data.TDBXDynalinkDriverLoader

DRIVERASSEMBLY=Borland.Data.DbxCommonDriver,Version=11.0.5000.0,Culture=neutral,PublicKeyToken=a91a7c5705831a4f

GETDRIVERFUNC=getSQLDriverINTERBASE

DATABASE=localhost:E:LWSeriesBooksD2006DBProgrammingDatasd7Books.GDB

ROLENAME=RoleName

USER_NAME=sysdba

PASSWORD=masterkey

SERVERCHARSET=

SQLDIALECT=3

BLOBSIZE=-1

COMMITRETAIN=False

WAITONLOCKS=True

ERRORRESOURCEFILE=

LOCALECODE=0000

INTERBASE TRANSISOLATION=ReadCommited

TRIM CHAR=False

 

現在我只需要在這個IBDEMODB的連結組態中再加入如下的設定即可:

DelegateConnection=DBXPOOLCONNECTION

完成了這個設定之後,讓我們看看使用DBXPOOLCONNECTION連結池的效果。

2圖是一個相同的資料庫應用程式同時使用dbExpress 3以及dbExpress 4和連結池建立和InterBase連結的執行結果:

 

各位可以看到開啟連結池的驚人效率,特別是當各位使用dbExpress開發主從架構應用程式而且擁有大量的用戶端使用者時,更可以感受到dbExpress 4帶來的執行效率增加。對於舊的dbExpress應用程式來說,只需要執行下列的步驟,並且使用Delphi 2007重新編譯之後您的dbExpress應用程式在連結資料庫時就會執行得更快了。

設定dbxconnections.ini中的dbExpress資料庫連結

增加DelegateConnection = DBXPOOLCONNECTION

刪除舊的TSQLConnection元件,使用新的dbExpress 4TSQLConnection元件

或是修改舊的TSQLConnection元件的LibrarynName特性值為新的dbExpress 4使用的函式庫,例如InterBasedbxint30.dllMSSQLdbxint30.dll。請參考dbExpress 4的文件說明。

 

Cheer!

 

 

 

 

15 則迴響

CodeGear宣佈最新的C++Builder版本 : C++Builder 2007

WoWCodeGear昨天才宣佈即將推出RoR的開發工具,今天我又看到CodeGear公開了C++Builder 2007,而我們也終於被允許可以討論C++Builder 2007最近CodeGear相當的積極啊。

CodeGear公佈的C++Builder 2007的功能中:

    * Seamless support for Microsoft Windows Vista Aero, Vista Desktop and Vista APIs

    * Increased ANSI C++ conformance and compatibility including Boost and Dinkumware library support

    * New C++ build flexibility and custom configurations powered by the Microsoft MSBuild engine

    * Up to 5 times in-IDE build performance improvements over prior versions

    * UML C++ source code visualization

    * Integrated C++ unit testing

    * New DBX 4 RAD data access with support for the latest versions of popular RDBMs including CodeGear InterBase, Microsoft SQL Server, MySQL, Oracle, IBM DB2, and Sybase

    * C++ IDE enhancements including virtual folders and enhanced C++ structure pane

    * New INDY 10 Internet Protocol component suite

中我們可以看到許多是和Delphi 2007一樣的,但是C++Builder 2007也包含了許多新的功能是Delphi 2007沒有的,或是對於C/C++開發人員來說是盼望許久的功能。

例如C++Builder 2007終於為C/C++開發人員帶來了內建的C/C++ 測試驅動開發(TDD)的功能,這很Cool,也是我個人等待許久的C++Builder功能。另外C++Builder 2007也提供了VCL For Web For C/C++,這意謂C/C++的開發人員也終於擁有了最棒的Web 2.0/Ajax架框。在C++Builder 2007CodeGear也開始為C/C++加入Together的功能,這是許多C/C++朋友經常詢問的功能。

除了這些之外,C++Builder 2007當然還擁有許多的改善,例如編譯器和連結器都更新了,速度更快也更標準。FastMMFastRTL也加入了C++Builder 2007的陣容以及最新的VCL架框(Delphi 2007的開發人員也即將獲得C++Builder 2007使用的最新VCL架框的更新版)C++Builder 2007可以說是最近幾年來進步幅度最大的版本,台灣也即將在6月初於台北/台中/高雄為C++Builder的使用者介紹這個令人興奮的新世代原生Win32 C/C++開發工具,歡迎有興趣的朋友踴躍參加。

12 則迴響

CodeGear的RoR開發工具終於開始露出神秘的面貌

CodeGear的產品兼策略副總裁Michael Swindell在今年Rails Conference前夕透露了CodeGear在今年下半年最新產品的計劃之一,那就是CodeGear準備推出RoR(Ruby On Rails)的開發工具。

Michael透露CodeGear不只是想要做RubyIDE,而是要做一個RoRIDE。這個意思是說CodeGearRoR IDE將會對Rails Framework有著最棒的支援,提供對Rails架框First-Class citizen的支援。除此之外Michael也透露這個IDE將是基於Eclipse/DLTK,相對於Delphi For PHP是基於Galileo

詳文請參考下面的URL:

http://www.internetnews.com/dev-news/article.php/3677331

 

雖然Michael沒有提供更為詳細的說明,但這已經清楚的表明CodeGear對於動態語言的興趣以及實際的行動。對於熟悉RoR的朋友,請試著想想有一個IDE能夠對RoR的開發有著豐富和企業級的支援將是多麼多人興奮的事情,更別提這個IDE能夠對於RoR團隊帶來的高生產力,Cool!

11 則迴響

Delphi For PHP第1個錄像範例檔

我上傳了一個Delphi For PHP的錄像範例檔, 展示了如何使用Delphi For PHP開發PHP Web Form的應用程式, 同時討論了在Delphi For PHP中結合JavaScript, 有興趣的朋友可以下載觀看.

 p.s. 如果您無法下載,很可能是我還在上傳之中,網路很慢,請稍後再試試。

 

12 則迴響

Delphi for PHP Update 1推出了

CodeGearDelphi For PHP R&D終於在昨天公佈了Delphi For PHP Update 1的版本, 解決了UTF-8編碼的問題, 中文表單儲存也沒有問題了, 建議Delphi For PHP的客戶立刻昇級, 也歡迎有興趣的朋友下載試用. 詳情請查閱下面的URL:

 

http://dn.codegear.com/article/36406

 

1 則迴響

Delphi MDA/DDA程序設計一書處理狀況

我已經處理完2批要求購買Delphi MDA/DDA程序設計一書的要求, 我也已經沒有多餘的書了.如果還有台灣的朋友需要這一本書的話, 您仍然可以寫信給我, 等有一定數量的時候我可以再向大陸出版社團購.

2 則迴響