
お世話になります。
当方の環境はWinXP SP2,VB2005Proです。
現在作成中のアプリで、とあるCOMコンポーネントを使っているのですが、
どうやら そのOCXが自由配布は出来ないようで、依頼元から
「OCXがインストールされている場合のみ、それを使用する機能を
生かしてほしい」
と言われました。
依頼元曰く「たぶんコンポーネントを参照設定せずにコーディング
しないといけないと思う」との事なのですが、それは可能なのでしょうか?
また、可能であれば、方法(または方針)を教えていただけると有難いです。
(もしかしてOCXと処理を完全に分離してDLL化しないとダメ?)
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
参照設定せずにコーディングすることは可能です。
ただし、その OCX が提供するクラスのインスタンスを
Dim a As XXX
や
Dim b As XXX.YYY
といった形で宣言しているところは全て
Dim a As Object
Dim b As Object
のように As Object で宣言しなければなりません。
また、参照設定しているときにはコンパイルエラーになっていたコーディングミス ( 例えば、メソッド名やプロパティ名の間違い ) が、コンパイル時にはエラーにならず、実行時にエラーになるので注意が必要です。
この回答への補足
補足というか自己レスで申し訳ありません。
結局、OCXをラップしてDLL化する方向で開発を行いまして、何とか想定どおりの
動作を行うことが出来るようになったようです。
恐れ入りますが、ここで この件は打ち切りとさせて頂きます。
お騒がせしました。
(余談)
しかし、CreateDelegateとかEventInfo.AddEventHandlerとかの詳細は
なかなか無いですね…結局英語の掲示板とかを眺める事になってしまいました。
遅くなりましたが、回答ありがとうございます。
インスタンス生成時に、実際にクラス名を割り当てる感じですね。
ただ、申し訳ありません、言い忘れていたのですが、
コーディング規約として「Option Strict On」の状態でコーディング
しなければいけない事になっているのですが、その場合でも
大丈夫なのでしょうか?
あと、そのクラス名自体を どうやって認識させるのかも気になるところなのですが……
System.Reflection.Assembly.LoadFromってOCXでも大丈夫なんでしょうか?
(Reflection自体が、今のところ調べても混乱状態なのですが(汗))
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- アプリ PCでAndroidアプリを実行 BlueStacks AppPlayerが良い? 2 2022/05/10 10:36
- WordPress(ワードプレス) Wordpress 複数プラグインの不具合? 1 2022/10/09 21:52
- アプリ Webやアプリの制限が可能なWindowsアプリケーション 4 2022/11/10 12:13
- LINE ラインと類似したサービスは? 4 2023/03/21 20:05
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- VPN フリー wi-fi は安全ですか 自宅での wi-fi VPNを使用したら良い? 2 2022/05/31 04:12
- 哲学 物語における「魔法」は「実現可能性」というくびきがなく、作者がそれ故に恣意的に設定を決めることができ 2 2022/08/20 17:04
- ソフトウェア パソコンの買い替え時、マイクロソフトでアカウントの変更(?)は? 2 2022/05/13 02:59
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
End Sub が必要です。
-
解説サイトに従ったfortran並列...
-
ラズパイ上の、pythonのエラー...
-
Excel VABについて 下記記述が...
-
フォートランのエラーについて...
-
対応する関数ヘッダーがありません
-
フォートラン(fortran)のエラー...
-
教えて下さい
-
配列数式の解除
-
メッセージボックスのOKボタ...
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
お助けください!VBAのファイル...
-
ExcelVBAでPDFを閉じるソース
-
Excel_マクロ_現在開いているシ...
-
Excel マクロ VBA プロシー...
-
エクセルマクロでワードの一ペ...
-
エクセルで縦に並んだデータを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
End Sub が必要です。
-
フォートランのエラーについて...
-
Excel VABについて 下記記述が...
-
typedef による2重定義
-
他クラスからForm1内コントロル...
-
intel fortranのエラーで困って...
-
対応する関数ヘッダーがありません
-
C# IEnumerable が IEnumerable...
-
AccessVBAでVLookupを使いたい
-
Excel VBA: UserForm.Show で実...
-
ラズパイ上の、pythonのエラー...
-
VB.NETのStructureの使い方を教...
-
構造体のポインタ参照
-
Delphiでif文がうまく書けないです
-
VBでエラー'ActiveX component ...
-
#ifndefとかヘッダファイルにつ...
-
クラスに volatile は必要?
-
python numpy.linalg.inv()での...
-
verilogでデマルチプレクサの作...
-
Windows10の、VS2019のC++に...
おすすめ情報