メニュー
プロフィール
最近の記事
カテゴリ分類
記事一覧
FOR ENGINEERS
注目! テレビや雑誌でも紹介されているペン型ICレコーダー

C++Builder2007を使って作成しているアプリケーションで、
帳票を出力するためにQuickReportを使っている。

Windows XP(32bit)で動いているこのアプリケーションで、
帳票をプレビューすると、
メタファイルが不正です
というエラーメッセージが表示された。

アプリケーションを立ち上げ直すと、エラーメッセージは表示されなくなったのだが、このエラーメッセージは初めて。
このエラーに関する情報も少なく、対応できないでいる。

アプリケーションを更新(コンパイル)してから約3ヶ月稼動している中で初めて発生し、その後再現しないため、対応が難しい状況。

対策を検討中。

| IT-ソフトウェア関連::Delphi/C++Builder | 08:52 PM | comments (x) | trackback (x) |
Delphi/C++Builder 2009 において、簡単にSQLiteを使う方法を記載しておく。

エンバカデロ/CodeGear のサイトからDbExpress用ドライバをダウンロードする。

ID: 18385, SQLite DbExpress driver

ダウンロードしたファイル「18385_sqlite_dbexpress_driver.ZIP」を解凍すると、以下の6つのファイルが展開される。
DbxSQLite3.dll
install.txt
license.txt
sqlite3.dll
SQLite3Test.exe
test.db

インストール方法は上記のファイル「install.txt」の記述に従えばよい。これを簡単に日本語で記載しておく。

※Delphi/C++Builder 2009がインストール済とする。

①解凍したファイルをプログラム用のフォルダに適当に配置する。
 例えば、以下のようなフォルダを作成し上記のファイルを配置する。
「C:\Program Files\CodeGear\RAD Studio\6.0\sqlite」

②ローカルマシン内の dbxdrivers.ini ファイルを探す。
 WindowsXp であれば
C:\Documents and Settings\All Users\Documents\RAD Studio\dbExpress
などのフォルダに配置されている。
見つからなければ「C:\」直下から「dbxdrivers.ini」を探す。

③上記の dbxdrivers.ini ファイルを編集する。
 以下の2つの定義を追加する。
[Installed Drivers]

;;; ↓この行を追加
SQLite=1

;;; ↓このセクションを追加
[SQLite]
LibraryName=C:\Program Files\CodeGear\RAD Studio\6.0\sqlite\DbxSQLite.dll
GetDriverFunc=getSQLDriverSQLite
VendorLib=C:\Program Files\CodeGear\RAD Studio\6.0\sqlite\sqlite.dll
RoleName=Cache=2000|TextLength=1024

④Delphi/C++Builder 2009 を立ち上げ直す。
 「TSQLConnection」コンポーネントの「Driver」プロパティの中に「SQLite」が含まれるようになる。

その他にも方法があるので、必要に応じて検討する。

| IT-ソフトウェア関連::Delphi/C++Builder | 10:16 PM | comments (x) | trackback (x) |
 先日リリースされた エンバカデロ(Embarcadero Technologies)の CodeGear Delphi 2009/ C++Builder 2009 のパッケージが到着したので使ってみた。
C++Bulder2009/Delphi2009スプラッシュ画面

■2009 パッケージ自体のインストーラは「2007よりも大分簡単」になった気がする、何回もボタンを押したり・チェックしたりする必要が無くなった感じ・・・あれ?記憶が定かではありません、2006が面倒だったので、混同しているだけかも。

■IDE画面のレイアウトは、ひと目「Delphi 2007 / C++Builder 2007とあまり変わりない」ので、違和感はありません、逆にその分イマイチ新鮮味に欠ける感じ。

■環境設定画面のインタフェースが変更されています。
 これは 2007よりも、今回の 2009の方が使いやすいですね、但しオプションの中身はさほど変更されていません。

■新しいVCLコンポーネントが使えます。リボンは面白いかも、これから使っていきましょう。

■C++Builder のTR1やBoostについては、これから使い込んでみたいですね。

■現時点では、他のサードパーティ製 VCLコンポーネントの殆どは、Delphi 2009 / C++Builder 2009 には正式対応していません。
 例えば QuickReport は最新版で Delphi 2009 に対応する予定との事だが、C++Builder には対応していない様子。
 その他、私が良く使うコンポーネントは、フリー・シェアを問わず、現時点で 2009 には正式対応していません。もしかすると、2007 用のバージョンで、そのまま使えるかもしれませんが、これから正式対応して頂く事を期待します。

ボックス1 追記
 2008.09.25 現在、QuickReportが 5.04にバージョンアップし、Delphi 2009に対応しました。C++Builderについては、もっか対応中との事です。

ボックス1 追記その2
 2008.11.01 現在、QuickReportが 5.04にバージョンアップし、C++Builder 2009にも対応しました。

| IT-ソフトウェア関連::Delphi/C++Builder | 07:25 PM | comments (x) | trackback (x) |
 (CodeGear)C++Builder 2007を使って作成したアプリケーションを配布するために、
InstallAware Express 6 を使って、インストーラを作ろうとしている。
 早速、インストールのテストをしようとしたら、
Error

A portion of the folder path '' is invalid. It is either empty or exceeds the length allowed by the system.
というエラーが発生する。
ググったりしつつも、訳が分からずいろいろといじくった挙句、デフォルト言語を日本語とした時には、
Error

フォルダ パス '' の一部は無効です。フォルダ パスが空であるか、またはシステムで許可された長さを超えています。
というメッセージが表示される(少々イライラしていたが、日本語になったので多少溜飲が下がる)。

 その後、いろいろ試してみた所、どうやら「機能」という文言を含むコンポーネントを作った時に発生するらしい。
 今回は「拡張機能」という名前のコンポーネントを作ろうとしていました。

 つまり、「セットアップ・アーキテクチャ」
→「機能」の中で、「すべての機能」にぶらさがるように、「拡張機能」を作ろうとしていました。
すべての機能
  |― アプリケーション
  |― 拡張機能
       下  以下のように変更
すべての機能
  |― アプリケーション
  |― 追加登録
 「拡張機能」を「追加登録」のような名前に変更する。こうして作ったインストーラでは、
エラーが発生せず、正常にインストールできた。

 何となく文字コードに起因する問題のような気もするが、今回は名称を変更して、凌ぐ事とする。

| IT-ソフトウェア関連::Delphi/C++Builder | 10:55 AM | comments (0) | trackback (5486) |
 今回 C++Builder 2007 を使って「コントロール・パネル・アプリケーション(アプレット)」を作ろうとしている。

 ところが、C++BuilderやDelphi を使って、コントロールパネルのアプリケーションを作成するための情報が、驚くほど少ない事がわかった(特に日本語)。そのため、C++Builder 2007 を使ってコントロール・パネル・アプリケーションを作成する手順を簡単に記述しておく。

ボックス1 プロジェクトの作成 ***

  新規プロジェクト作成にて、コントロールパネルアプリケーションを選択する。


ボックス1 AppletModuleのプロパティを設定する ***

  AppletModuleのCaptionを設定すると、コントロールパネルに反映されます。


ボックス1 (各種設定用の)フォームを作成 ***

  フォーム(TForm)をプロジェクトに追加する。


ボックス1 フォーム部分のコーディング ***

  「閉じるボタン」をクリックすると、モーダル画面を閉じる、としておく。


ボックス1 プロジェクトの設定を変更 ***

  今作成したフォームを、「自動生成しない」ようにしておく。


ボックス1 アプレット部分のコーディング ***

  アプレットのイベントに応じて上記のフォームを処理するよう、イベント・プログラミングする。


ボックス1 テスト・実行 ***

  正常にコンパイルできれば、「Project1.cpl」というモジュールファイルが作成されるので、これをエクスプローラ拡張「コントロール パネルで開く」から呼び出す。


ボックス1 起動しました ***

  フォームが表示されます。閉じるボタンをクリックすると終了します。


参考)
Torry's Delphi

| IT-ソフトウェア関連::Delphi/C++Builder | 10:14 PM | comments (0) | trackback (695) |
PAGE TOP ↑