サードパーティを使用したユーザコントロールをDataRpeaterで使用するには?


あせ  2006-10-07 03:38:24  No: 133621

今、起こっている問題を短く説明しますと
InputManというサードパーティのコントロール郡を使用したユーザコントロールがあるプロジェクトを、別プロジェクトのDataRepeaterで使用。
ディストリビューションウィザードでインストールしたところ開発環境では問題なし。
エンドユーザーPCではインストール後、フォームを開くとInputmanのライセンスIDの入力が求められます。

詳しく最初から説明します。
環境:WindowsXP(SP2) VB6(SP3) InputManPro6.5J を使用して開発しています。 

2つのプロジェクト(Hontai.vbpとControl.vbp)を1つのグループ(Hanbai)にまとめています。 

Control.vbpではInputManという市販のコントロールを参照設定して 
テキストボックス(InputMan)をいくつかならべたActiveXコントロール(Control.ocx)を作っています。 

Hontai.vbpではフォームにテキストボックス(InputMan)とDataRepeaterを貼り付け 、そのDataRepeaterでControl.vbpで作ったコントロールを使用しており、データベースのテーブルの内容を表示しています。 

ここからが問題なのですが、Hontai.vbpでディストリビューション ウィザードを実行し、「Control.ocxの依存情報がありません」と言うメッセージを無視してパッケージを作成し、InputManがインストールされていないPCでパッケージをインストール後、Hontai.exeを実行しますとInputmanのライセンスキーの入力を求められます。

求められるのはControl.ocxを使用しているフォームのみです。 
そのままInputmanのコントロールを使用しているフォームは問題なく動作しています。 

Hontai.vbpで使用しているテキストボックス(InputMan)はパッケージにText60.ocx(InputManで使用するActiveXコントロール)があるので問題ないのですが、Control.ocxでもテキストボックス(InputMan)を使用しているので、Control.ocxの依存情報ファイル(Control.DEP)が必要と思い、先にControl.vbpでディストリビューション ウィザードを実行し、依存情報ファイルを作成後、Hontai.vbpのパッケージ作成を行ってみると「Control.ocxの依存情報がありません」というメッセージがでなくなりました。 

ですが、やはりそれでもInputmanが入っていないPCにインストールすると、Control.ocxを使っているフォームを開くとライセンスキーの入力を求められます。(Control.ocxはDataRepeaterから以外では使用していない)

さらにテストを続けてみると
Hontai.vbpで使用しているDataRepeaterがControl.vbpにあるコントロール(Inputmanを使用)を使用しているために、コンパイル後DataRepeaterがあるフォームを開くとInputmanのライセンスIDの入力を求められることが分かりました。
Hontai.vbpでDataRepeaterを介せずにControl.vbpにあるコントロール(Inputmanを使用)を貼り付けてテストをして見ると問題なく表示されました。

つまりControl.ocx単体では問題ないのですが、DateRepeaterを介してControl.vbpのユーザーコントロールを使用するとライセンスIDの入力を求められるということです。

どなたか情報をお持ちの方、どうかよろしくお願いいたします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加