• 締切済み

コンソールアプリでファイル選択ダイアログを出したい

C++Builder6 で作っているコンソールアプリがあります。 これに、ファイル選択ダイアログを出す機能を追加したいのですが 可能でしょうか? 試しに TOpenDialog *OpenDialog1; OpenDialog1 = new TOpenDialog; //※ delete OpenDialog1; というコードを書いてみましたが、※の行で 「'TOpenDialog::TOpenDialog()' に一致するものが見つからない」 というコンパイルエラーになりました。

みんなの回答

  • KoHal
  • ベストアンサー率60% (110/181)
回答No.2

vcl.hをインクルードした上で、  TOpenDialog *OpenDialog1;  OpenDialog1 = new TOpenDialog(0);  OpenDialog1->Execute();  delete OpenDialog1; でいけます。つまりTOpenDialogのコンストラクタは必ずOwner引数をとるのです。この場合はそれをNULLに設定しています。 ただ、コンソールアプリでGUIのダイアログを表示するのが妥当かどうかは考慮の余地がありそうです。 常駐アプリケーションのようにメインフォームを持たないプログラムが環境設定時などにダイアログを出すと言うなら納得できますが。

gba02077
質問者

お礼

教えて頂いた通りで、できました。 ありがとうございました。 DOS時代からバージョンアップを続けているフリーソフトがあり、入力ファイルをタイプさせるところを改善したかったのです。

回答No.1

え?コンソールアプリと言う事の意味がわかっておられれば「GUI」機能が無いという事がお分かりになっていると思われます。 つまり、ベースがキャラクターベースのCUIアプリなら まず不可能です 「GUI」のアプリケーションとして作り直すか CUIから「キック」させる別のプログラムをして 作成するほかに手は無いとおもわれます

gba02077
質問者

お礼

アドバイス、ありがとうございます。 私も「CUIから「キック」させる別のプログラム」を考えていた所でした。

関連するQ&A