[C++Builder,Delphi] デバッグウインドウにメッセージを表示する
OutputDebugString 関数を使うとIDEのデバッグ画面にメッセージを表示することができます。スレッドのデバッグなどに有効です。
OutputDebugString 関数を使うとIDEのデバッグ画面にメッセージを表示することができます。スレッドのデバッグなどに有効です。
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"
を書いておけば大丈夫
//非表示にする
#pragma warn -8056
//表示するようにする
#pragma warn .8056
VCの
#pragma warning(disable : 8056)
#pragma warning(default : 8056)
に対応
プロジェクトをコンパイルしようとしたところ「継承元の'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のホームページをご覧ください。
#include <shlobj.h>
すると
FOLDERSETTINGSの宣言が複数見つかった
DESKBANDINFOの宣言が複数見つかった
:
というエラーがでます。
解決するには、「プロジェクト」-「オプション」から「パスと定義」の条件定義にNO_WIN32_LEAN_AND_MEANを追加します(BDS2006の場合)。
ソースの中で
#define NO_WIN32_LEAN_AND_MEAN
してもうまくいきませんでした。
#include<FileCtrl.hpp> して
MinimizeNameやSelectDirectoryなどを使おうとすると、コンパイル時にリンクエラー、未解決の外部参照となる場合があります。原因はよくわかりませんが、vclx.lib(BDS2006の場合、それ以外の場合はお尻に数字がつく)というファイルをインストールしたディレクトリ以下から探してきて、プロジェクトに追加してやればコンパイルが通るようになります。
Delphi 5 です。
エディタ(デフォルト設定)
| Ctrl+E | インクリメンタルサーチ |
| Ctrl+F | 検索 |
| Ctrl+R | 置換 |
| Ctrl+T | 1語を削除する |
| Ctrl+Y | 1行を削除する |
| Ctrl+Space | コード補完ポップアップ |
| Ctrl+Shift+↑ | 宣言にジャンプ |
| Ctrl+Shift+↓ | コードにジャンプ |
| Ctrl+Shift+C | 宣言やコードを補完(すごく便利) |
| Ctrl+Shift+G | GUIDを挿入 |
| 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 5 です。
フォームのデザイン
| Ctrl+矢印キー | 1 ピクセルだけ移動 |
| Shift+矢印キー | 1 ピクセルだけサイズを変更 |
| Ctrl+Shift+矢印キー | 1 グリッドだけ移動 |
| F12 | フォームとユニットファイルを切り替え |
| Ctrl+F12 | 「ユニットの表示」ダイアログを表示 |
| Shift+F12 | 「フォームの表示」ダイアログを表示 |
| Enter | 「オブジェクトインスペクタ」にフォーカスが移動 |
オブジェクトインスペクタ
| Tab | オブジェクトインスペクタでプロパティ列と値列を切り替え |
| Tab+英字 | その英字で始まる最初のプロパティにジャンプ |
| Ctrl+Tab | プロパティタブとイベントタブを切り替え |
| Alt+↓ | プロパティのドロップダウンリストを開く |
| Ctrl+↓ | オブジェクトのドロップダウンリストを開く |
| Ctrl+Enter | [...]ボタンを選択 |
C++Builder 6.0 の場合は、以下の場所にあります。
$(BCB)/Help/index.html
*$(BCB)はC++Builderをインストールしたフォルダの意味です。
「ツール」-「環境オプション」の「C++Builder Direct」タブで
「ネットワーク経由で自動的に確認を行う」のチェックを外す
ActiveX | C++Builder | C++言語・Pascal言語 | Delphi | TActionList | TColor | TEdit | TeX | TForm | TIniFile | TLabel | TListBox | TListView | TMemo | TProgressBar | TSplitter | TStatusBar | TStringGrid | TTrackBar | TWebBrowser | Windows | その他 | アルゴリズム | システム関連 | ネットワーク関連 | ファイル、フォルダの処理 | フォント関連 | フォーム・ダイアログ関連 | フリーソフト | プログラミング全般 | マウス、キーボードの処理 | 技術文書 | 文字列の処理 | 日付時刻の処理 | 画像関連 | 開発環境(IDE)関連