Delphiでは、
OpenDialogなど、コモンダイアログがコンポーネントとして、利用できますが、
あのダイアログは、comdlg32.ocxに依存しているのでしょうか?

VBにてcomdlg32.ocxを利用していたのですが、
comdlg32.ocxのバージョンの違いによる誤動作などに悩まされています。
Delphiでも、comdlg32.ocxに依存しているのであれば、
comdlg32.ocxのバージョンの違いによる誤動作は回避できないので、
その辺りのことが知りたいです。

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

実際に調べたわけではないので分からないですけど、



DelphiのVCLライブラリに内包されているものかと。
というのも、Delphi/C++Builder開発アプリの配布時に必要なファイルに
*.ocxって無かったような気がしますので・・・

なお、Delphiのプロジェクトオプションで、
VCLライブラリを実行プログラムに取り込むか、あるいはDLL形式にするか
(拡張子はVCLですけど)という設定もできますよね。
    • good
    • 0
この回答へのお礼

ありがとうございました。

これで、気兼ねなくダイアログが使えます。

お礼日時:2001/08/11 11:44

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q[delphi]コンポーネントの流用について

すこし前にdelphi4と、計氏の作成した[MP3Player]という
コンポーネントを利用して簡単なMP3プレーヤーを作成しました。

最近delphi6personalがフリーになったと聞いて 
もう一度このコンポーネントを利用して作成してみようと
試みたのですが、何故かコンポーネントのインストールが
出来ませんでした。
確かに対応バージョンにdelphi6が無かったので無理な話だとは思うのですが、もしインストールできる方法をご存知の方が居られましたら是非ご教授下さい。

また、delphi6でも利用できるMP3再生コンポーネントが
ありましたらお教え頂ければ幸いです。

よろしくお願いいたします。

Aベストアンサー

こんにちは、honiyonです。

 そのコンポーネントにソースはついていますか?

 Delphi4と6では、内部仕様が結構変わっていると思います。
 ソースがついているなら、ソースを 6用に修正して使うことが出来ると思います。
 但し、ライセンスによって改変が禁じられている場合は作者に連絡して対応を待つしかないですね。

 因みに、標準でついているTMediaPlayerを使ってMP3を再生する事が出来ます。
 (Personalにもついているかは不明...)
 ついていなければ、WindowsMediaコンポーネントをインポートすれば良いです。

 参考になれば幸いです(..

QDelphiでコンポーネントを動かす

Delphiでプログラムを組んでるものなのですが質問があります。
Buttonなどのコンポーネントをドラッグ&ドロップで動かせるようにするにはどうすればいいですか?

Aベストアンサー

Delphiで趣味で開発をしてます。直接はお答えできませんが、こちらで聞くよりも下記URLで検索した方が可能性がはるかに高いと思います。私はいつもこのページにお世話になってますしDelphiプログラマでしたらぜひ知っておくべきURLですよ。

同じページにメーリングリストの案内もありますので、MLに入会して質問するのもいいと思います。ただし、ルールとして過去ログをきちんと探してから質問することをお忘れなく。

参考URL:http://www2.big.or.jp/~osamu/Delphi/

QDelphi 5 での TComm コンポーネントについて

過去に作成されたシリアル通信プログラムがあるのですが、
私がTCommコンポーネントをインストールしていないため
ソースを実行することができません。
検索サイトなどで探しているのですが、
MLの過去ログしか出なくて困っています。

exeファイルは実行できるのですが、
・ソースを追いかけたい
・TCommコンポーネントが何をしているか知りたい
という理由があるので、TCommコンポーネントを探しています。
Delphi 5.0 / Windows 98/2000 です。

また、ヘルプや説明のHPがあるのでしたら教えてください。
よろしくおねがいいたします m(_ _)m

Aベストアンサー

私はTCommを使っていないので、解説はできませんが、
TCommのありかは、下記URLから"TComm"で検索をかけると、
NiftyからDLできるとあります。
もっともNiftyの会員でないと無理かもしれませんが...

ちなみに私はASync32というのを使っています。
英語の説明しかありませんが、サンプルソフトを見て使い方は理解できました。
ASync32はソース付きのフリーソフトですが、ソースは難しいです。

参考URL:http://www2.big.or.jp/~osamu/Delphi/

QDelphi6 Personalでダウンロードしたコンポーネントを追加するには?

Delphi5で作られたMP3プレイヤーのソースが公開されていたので
興味本位でDelphi6 Personal版をインストールして
ソースを開いたのですが
"TMP3Playerがありません!"と言われました。

ネット検索してTMP3PlayerらしきComponentをダウンロードしたのですがReadMeには
「compo ディレクトリにあるファイル全てを Delphi のライブラリパスが通っているディレクトリにコピーした後、MP3Plyr.pas をインストールしてください。」
とありました。
ライブラリパスは、Defaultのままでいじっていません。
どうやるとインストールしたことになるのでしょうか?

ご教授よろしく お願いします。

* OSはWin98です。

Aベストアンサー

Delphi6にこのコンポーネントをインストールして Play メソッドで MP3ファイルを再生できました。

ただ、このコンポーネントはDelphi4、5用なのでその他の機能がちゃんと動くかどうかはわかりません。また、当たり前ですがマニュアルの「使用条件・再配布」をよく読んでからご使用ください。

1. compo フォルダの mp3plyr.pas をメモ帳で開く。
  検索機能で uses を検索し、2個目のところの
   Math, Consts, MPCPUSpc;
  を
   Math, Consts, MPCPUSpc, RTLConsts;
  にして保存する。

2. compo フォルダのファイルを Imports フォルダにコ
  ピーする。Delphi を Cドライブにインストールしてい
  ると、多分
   C:\Program Files\Borland\Delphi6\Imports
  こんな感じです。

3. Delphi を起動して、[コンポーネント]メニュー →
  [コンポーネントのインストール] で、ユニットファ
  イル名に Imports フォルダの mp3plyr.pas を指定。
  (参照ボタンを使って指定してください)
  [OK]ボタンをクリックすると
  「パッケージ dclusr.bpl は再構築されます。続け
  ますか?」と聞いてくるので [OK]をクリック。

成功すると、コンポーネントパレット「Samples」の中に MP3Player が追加されています。こちらは Delphi 6 Professional なので、違っていたらごめんなさい。

Delphi6にこのコンポーネントをインストールして Play メソッドで MP3ファイルを再生できました。

ただ、このコンポーネントはDelphi4、5用なのでその他の機能がちゃんと動くかどうかはわかりません。また、当たり前ですがマニュアルの「使用条件・再配布」をよく読んでからご使用ください。

1. compo フォルダの mp3plyr.pas をメモ帳で開く。
  検索機能で uses を検索し、2個目のところの
   Math, Consts, MPCPUSpc;
  を
   Math, Consts, MPCPUSpc, RTLConsts;
  にして保存する。

2...続きを読む

QDelphiでコンポーネントをfunctionから参照するには

Delphiで例えば、StringGridのCellsプロパティをeventで呼ばれる
procedureではなく自分で作ったfunctionで参照したり,更新したりできる
簡単な方法がありますか?

Aベストアンサー

>event procedure ならそれでエラーも出ませんが
>functionではStringGrid1が未定義となりコンパイルできません。

functionはFormのprivate関数またはpublic関数にしていないのでしょうか?
そうしていれば、#1で書いた方法でできます。

Formに依存しない関数にしているのなら、
S := Form1.StringGrid1.Cells[Col, Row];
Form1.StringGrid1.Cells[Col, Row] := S;
としなければなりませんが、このような関数は望ましくはありません。
(結局はForm1に依存しているので)


TForm1のprivateセクションに、
function xxxx(xx: xxx): xxx;
と記述し、
implementationに、
function TForm1.xxxx(xx: xxx): xxx;
begin
・・・・
end;
と記述すれば、Formのprivate関数になります。

>event procedure ならそれでエラーも出ませんが
>functionではStringGrid1が未定義となりコンパイルできません。

functionはFormのprivate関数またはpublic関数にしていないのでしょうか?
そうしていれば、#1で書いた方法でできます。

Formに依存しない関数にしているのなら、
S := Form1.StringGrid1.Cells[Col, Row];
Form1.StringGrid1.Cells[Col, Row] := S;
としなければなりませんが、このような関数は望ましくはありません。
(結局はForm1に依存しているので)


TForm1のprivateセク...続きを読む


人気Q&Aランキング

おすすめ情報