お世話になっております。
XP,Delphi2007です。
Delphiを使って自分が作ったOCXを、新しいアプリケーションでフォームに配置するには、どうしたらよいのでしょうか。
自分が作ったOCXを、VB6でフォームに配置するには、
プロジェクト→コンポーネント→コントロール
から自分が作ったOCXを選択すると、ツールボックスに追加され、フォームに配置することができます。
Delphi(2007)では、どうするのでしょうか。
よろしくお願いします。
OCXは作ったことがないので、はずしているかもしれませんが・・・
メニュー「コンポーネント」−「コンポーネントのインポート」の
「ActiveXコントロールの取り込み」
は、いかがですか?
ありがとうございます。
コンポーネント→コンポーネントのインポート→ActiveXコントロールの取り込み
から、自分の作ったocxファイルを選択して、
Project1.dprojプロジェクトにユニットを追加
をすると、画面右上のプロジェクトマネージャー部分にファイル名が表示されます。
しかし、フォームに配置することができません。
MemoやButton等と同じ感覚でフォームに配置できる方法があると思うんですが、分かりません。
自分の作ったocxファイルを選択したあと、
ユニットの作成
を選択しても、やはりフォームに配置できません。
よろしくお願いします。
>Project1.dprojプロジェクトにユニットを追加をすると、
試していないのですが、
取り込んだOCXを、コンポーネントとして新規パッケージか既存のパッケージにインストールし、
ツールパレットからコンポーネントとして、選ぶことはできますか?
ありがとうございます。
>取り込んだOCXを、コンポーネントとして新規パッケージか既存のパッケージにインストールし、
というところが、具体的にどう操作したらよいのか分かりませんでした。
取り込んだあとに、
コンポーネント→VCLコンポーネントの新規作成
や、
コンポーネント→パッケージのインストール
をしても、リストに自作のocxのファイル名が表示されません。
ここで、ファイルから追加しようとしても、拡張子がbplのファイルしか表示されないので、ocxファイルを選択できません。
自分でももう少し調べてみますが、引き続き、よろしくお願いします。
試していませんが、
>メニュー「コンポーネント」−「コンポーネントのインポート」の
>「ActiveXコントロールの取り込み」
で、*+TLB.dcr、*_TLB.pas
が生成されたら、
>>取り込んだOCXを、コンポーネントとして新規パッケージか既存のパッケージにインストールし、
>というところが、具体的にどう操作したらよいのか分かりませんでした。
コンポーネントのインストール方法 (Delphi 2007)
http://mrxray.on.coocan.jp/Delphi/CompoInstall/CompInstallD2007.htm
を参考に、コンポーネントをインストールできますか?
ありがとうございます。
教えていただいたサイトを見ながら、作業をしてみました。
図7の追加まではできたのですが、
図8の[コンパイル]または[再構築]のところで、どちらを選択してもエラーが出ます。
コンパイルを実行すると、
「$DENYPACKAGEUNITが指定している'ComServ'はパッケージに置くことはできません」というエラーが、画面下部のメッセージのところに表示され、コンパイルがストップしてしまいます。
もう少し調べてみますが、引き続きよろしくお願いします。
お返事遅れてすみません。(誰に?)
結局OCXをフォームに配置する方法は分かりませんでしたが、フレームを使うことで、やりたかったこととほぼ同じ事ができました。
まず、フレームを作成し、そのフレームを配置したいフォームで、ツールパレットのStandardのFramesを選択して、さきほど作ったフレームを選択したら、フォームに配置することができました。
アプリケーションを配布するときに、プログラム本体とOCXファイルが別々だと、ランタイムエラーの原因にもなるので、フレームを使ったこの方法のほうが良いかなと思います。
ありがとうございました。
ツイート | ![]() |