フリーソフト

開発環境(IDE)関連

[C++Builder] Duplicate resource: Type 24 (user-defined), ID 1の対処法

C++ Builder 2009 で以下のような警告が出たときの対処法です。

Duplicate resource:  Type 24 (user-defined), ID 1 ...

対処法:「プロジェクト」の「オプション」メニューを開いて、「アプリケーション」のページにある「ランタイムテーマを有効にする」のチェックを外せばOKです。







[C++Builder,Delphi] デバッグウインドウにメッセージを表示する

OutputDebugString 関数を使うとIDEのデバッグ画面にメッセージを表示することができます。スレッドのデバッグなどに有効です。

[C++Builder] PNGを読み込むと未解決の外部参照 'Pnglang'

C++ Builder 2009でTImageにPNG画像を読み込んでコンパイルすると以下のエラーがでる。TPNGImageを直接利用しても同様のエラー。

[ILINK32 エラー] Error: 未解決の外部参照 'Pnglang::_EPngInvalidCRCText' が C:\PROGRAM FILES\CODEGEAR\RAD STUDIO\6.0\LIB\OBJ\PNGIMAGE.OBJ から参 照されました

画像処理のパッケージがVCLJPGからVCLIMGに変更されたことが原因。
プロジェクトにPnglang.hppを追加するか(Program Files以下で検索すれば見つかる)、PNGImage.hppの適当なところに

#pragma link "vclimg.lib"

を書いておけば大丈夫

[C++Builder] 警告を表示しないようにする

//非表示にする
#pragma warn -8056

//表示するようにする
#pragma warn .8056

VCの
#pragma warning(disable : 8056)
#pragma warning(default : 8056)
に対応

[BCB] 継承元の'Label2'が見つかりません. エラー

プロジェクトをコンパイルしようとしたところ「継承元の'Label2'が見つかりません.」というダイアログが表示され、コンパイルが出来なくなってしまいました。

調べてみたところ、IDEのバグのようでホームページ上で対処法が公開されていました。

http://support.codegear.com/jp/print/35919

対処法としては、プロジェクトファイルをエディタなどで開いて、次の2つのエレメントを削除した後、開きなおしたところコンパイル出来るようになりました。

<property category="build.node" name="libraries" value="..."/>
<property category="build.node" name="sparelibs" value="..."/>

詳細は、CodeGearのホームページをご覧ください。

[BCB] shlobj.hをincludeするとコンパイルエラー

#include <shlobj.h>

すると

FOLDERSETTINGSの宣言が複数見つかった
DESKBANDINFOの宣言が複数見つかった
 :

というエラーがでます。

解決するには、「プロジェクト」-「オプション」から「パスと定義」の条件定義にNO_WIN32_LEAN_AND_MEANを追加します(BDS2006の場合)。

ソースの中で
#define NO_WIN32_LEAN_AND_MEAN
してもうまくいきませんでした。

[BCB] FileCtrl.hppでリンクエラー

#include<FileCtrl.hpp> して

MinimizeNameやSelectDirectoryなどを使おうとすると、コンパイル時にリンクエラー、未解決の外部参照となる場合があります。原因はよくわかりませんが、vclx.lib(BDS2006の場合、それ以外の場合はお尻に数字がつく)というファイルをインストールしたディレクトリ以下から探してきて、プロジェクトに追加してやればコンパイルが通るようになります。

[Delphi] 知っていると便利なIDEのショートカット その2

Delphi 5 です。

エディタ(デフォルト設定)

Ctrl+Eインクリメンタルサーチ
Ctrl+F検索
Ctrl+R置換
Ctrl+T1語を削除する
Ctrl+Y1行を削除する
Ctrl+Spaceコード補完ポップアップ
Ctrl+Shift+↑宣言にジャンプ
Ctrl+Shift+↓コードにジャンプ
Ctrl+Shift+C宣言やコードを補完(すごく便利)
Ctrl+Shift+GGUIDを挿入
Ctrl+Shift+Y行の終わりまで削除
Ctrl+Shift+Spaceパラメータポップアップ
Alt+[、]対応する区切り記号を探す
Ctrl+O+Aカーソル位置のファイルを開く
Ctrl+O+G指定行に移動
Ctrl+O+U大文字と小文字を切り替え

システム(デフォルト設定)

F1ヘルプ
F4カーソル位置まで実行
F5ブレークポイントの追加
F7トレース実行
F8ステップ実行
F9実行
F11オブジェクトインスペクタ
F12フォーム/ユニット切り替え
Alt+0ウィンドウの一覧
Alt+F2デバッグ CPU
Alt+F11ユニットを使う
Ctrl+F2プログラムの終了
Ctrl+F9コンパイル
Ctrl+F11プロジェクトを開く
Shift+F11プロジェクトに追加

[Delphi] 知っていると便利なIDEのショートカット

Delphi 5 です。

フォームのデザイン

Ctrl+矢印キー 1 ピクセルだけ移動
Shift+矢印キー1 ピクセルだけサイズを変更
Ctrl+Shift+矢印キー1 グリッドだけ移動
F12フォームとユニットファイルを切り替え
Ctrl+F12「ユニットの表示」ダイアログを表示
Shift+F12「フォームの表示」ダイアログを表示
Enter「オブジェクトインスペクタ」にフォーカスが移動

オブジェクトインスペクタ

Tabオブジェクトインスペクタでプロパティ列と値列を切り替え
Tab+英字その英字で始まる最初のプロパティにジャンプ
Ctrl+Tabプロパティタブとイベントタブを切り替え
Alt+↓プロパティのドロップダウンリストを開く
Ctrl+↓オブジェクトのドロップダウンリストを開く
Ctrl+Enter[...]ボタンを選択

[BCB] STLのヘルプはどこ?

C++Builder 6.0 の場合は、以下の場所にあります。

$(BCB)/Help/index.html

*$(BCB)はC++Builderをインストールしたフォルダの意味です。