Archive for July, 2008

C++Builder with FastMM 4.84

高橋(智)です。
以前、メモリーマネージャーのFastMMを利用して、C++Builderでメモリーリークを検出する話を書きました。しかし、当時の「FastMM 4.78」では、「BorlndMM DLL」と「FullDebugMode DLL」を利用する必要があるなど、手間がかかりました。
[ReportMemoryLeaksOnShutdown = true;]
http://blogs.codegear.com/teamj/2008/01/10/76/
 
そして、先日 FastMM 4.84 がリリースされ、C++Builder2006/2007のサポートが強化されました。
・C++Builderで構築したEXEファイルにメモリーマネージャーを内蔵可能になった
・VCLに起因するメモリーリークを検出することが可能になった
 
以下、手順を書きます。参考にしてみてください。
1. FastMM 4.84 を以下のURLからダウンロードし、適当なフォルダに展開する
http://sourceforge.net/project/showfiles.php?group_id=130631&package_id=150399&release_id=611395
 
2. C++Builderでアプリケーションを作成し、VCLに起因するメモリーリークを発生させるコードを記述する
[例]
void __fastcall TForm1::Button1Click(TObject *Sender)
{
new TButton((TComponent*)NULL);
}
 
3. 「FastMM4\CPP Builder Support\FastMM4BCB.cpp」に記載されているように
・FastMM4\CPP Builder Support\FastMM4BCB.cpp
・FastMM4\FastMM4.pas
・FastMM4\FastMM4Options.inc
・FastMM4\FastMM4Messages.pas
をプロジェクトフォルダにコピーし、
・FastMM4.pas
・FastMM4BCB.cpp
をプロジェクトに追加する

 
4. プロジェクトのリンクオプションで「動的 RTL」を「OFF」にして、ビルドする

 
5. IDEの中からプログラムを実行して終了すると、メモリーリークが報告される

 
6. IDEの外でプログラムを実行して終了すると、メモリーリークは報告されない
 
なお、FastMMの各種設定については「FastMM4Options.inc」を参照してください
Share This | Email this page to a friend

Posted by Tomohiro Takahashi on July 28th, 2008 under C++ | 8 Comments »

Planet Embarcadero

高橋(智)です。
今、Embarcaderoの社内向けトレーニングに参加しており、カナダのトロントに来ています。ちょうど DatabaseGearの新製品「DB Optimizer 1.0」がリリースされたこともあり、Embarcaderoのブログサイト「Planet Embarcadero」に情報が掲載されています。
今後も色々な情報が掲載されると思いますので、「Planet Embarcadero」は要注目ですね。
[Planet Embarcadero]
http://planetembarcadero.com/
現在は英語版のみですが、是非トライアル版をお試しください。

[DB Optimizer]
http://www.embarcadero.com/products/db_optimizer/
[トライアル版]
http://www.embarcadero.com/downloads/downloaddboptimizer.html
Share This | Email this page to a friend

Posted by Tomohiro Takahashi on July 16th, 2008 under Database | Comment now »

IntraWeb(VCL for the Web) V9.0.42

高橋(智)です。
Delphi for PHP では簡単にAjax対応のWebアプリケーションが作成できるのですが、Delphi 2007(RAD Studio 2007)に付属しているIntraWeb(VCL for the Web)ではさらに簡単であるのはご存知でしょうか?
IntraWeb 9 は、最初のリリースから着実にリビジョンアップを重ね、先日 Ver9.0.42 がダウンロード可能になりました。
[IntraWeb(VCL for the Web) V9.0.42 - Delphi 2007]
http://www.atozed.com/IntraWeb/Download/Files/Borland.EN.aspx
Delphi 2007(RAD Studio 2007) の登録ユーザの方は、開発元のAtozed Software社から専用のライセンスを送付してもらい、9.0系の最新ビルドを利用することができます。今回はこの環境で試してみました。
まず、Ver9.0.42をインストールし、IDEに統合します。この際、IDEに元々インストールされていた古いバージョンは自動的に削除されます。

次に、フォームデザイナで、IntraWeb専用のボタンとエディットおよびラベルを配置し、ボタンのOnAsyncClickイベントハンドラを追加し、その中に通常のVCLのGUIのコードと同様に画面処理を記述します。

プロジェクトビルドし起動するとWebサーバとして動作をはじめるので、IE7等のWebブラウザからアクセスしてボタンを押します。たったこれだけでAjaxを使った画面更新が行えました。

Share This | Email this page to a friend

Posted by Tomohiro Takahashi on July 2nd, 2008 under C++, Delphi | 2 Comments »


Server Response from: dnrh1.codegear.com

 
© Copyright 2008 Embarcadero Technologies, Inc. All Rights Reserved. Contact Us  |   Site Map  |   Legal Notices  |   Privacy Policy  |   Report Software Piracy