• ベストアンサー

ActiveX DLL と ActiveXコントロールの違い

k_kazariの回答

  • k_kazari
  • ベストアンサー率68% (15/22)
回答No.3

どうもです。 戻ってみてみたら続きがありました(汗) えーーーっと DLLの処理速度が速いというのは あくまで、ActiveX.exeとの比較で言っていたので ActiveXコントロールと比較しての答えではありませんのでしたのでした。 すんません。 書籍などを見ている限り ActiveX.dllとActiveX.exeを比較して メリット・デメリットなどを述べているもので おまけで書いてみました。 でも、GUIもってるのと持ってないのと、DLLって考えたら 感覚的にで、なんも根拠ないんだけど DLLの方がなんか早そう(おいおいっ) COM化(ActiveX.dll)というのは 今制作しているプログラム(仕事上のプロジェクト)があるとして また、まったく別のプログラム(プロジェクト)でも再利用したいというときに 共通ライブラリとして 使うのだと思います。 ということで、今の仕事のプロジェクト終了後、 またいずれ先に、違うプロジェクトなどで 同じ処理を利用したりするなど そんなときにCOM化しておけばよいと思います。 とか、Webで処理速度・レスポンスを速くしたいとか。。。 が、時事的にも、 後々、開発ツールのバージョンアップやシステム環境の変化など 考慮すると、COM化しておいた方がよいような気がします。 あまり汎化されていないモジュールだったり その仕事でしか使わないような共通の処理だったら クラスモジュールの方が、よい気もしますが。 あんまし参考になってない気がしますが ・・・そんな感じです。 でわであ

reshop
質問者

お礼

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

関連するQ&A

  • VB6.0 ExeとDllの違い

    いつもお世話になっております。 今更ながらなのですがVB6.0について質問させて下さい。 新規でVB6.0を起動すると、「標準Exe」・「ActiveXExe」・「ActiveXDll」・「ActiveXコントロール」等がでてきますよね? 普段アプリを開発する時は「標準Exe」しか使用しないのですが、「ActiveXExe」・「ActiveXDll」・「ActiveXコントロール」の違いは何なのでしょうか?(どういうときに使い分けるのでしょうか?) ActiveXDll・・・ソースコードのみ?参照設定する?(クラスやモジュールと何が違うのでしょうか?) ActiveXコントロール・・・独自のコンポーネント(部品)を作る?(OCXのようなものでしょうか?) ActiveXExe・・・(一番分かりません) どなたかご教示お願いします。

  • ACTIVEXの拡張子

    ACTIVEXについて調査しています。 ACTIVEXの拡張子にはACTIVEXコントロールであるOCX、 モジュールとして存在するDLLとEXEの3つがあると分かりました。 これ以外にも何かあるものなのでしょうか。 よろしくお願いします。

  • VC++6.0で作成されたActiveXコントロール

    まだプログラミングを始めて日が浅いため、馬鹿な質問をしていたら申し訳ありません。 現在、ActiveXコントロールを使ったプログラムを作成しております。 メインの環境がVC++2008なのですが、このActiveXコントロールがVC++6.0で作られた物であるため、VC++2008で使用しようとするとエラーが出てしまいます。 またプログラム中で使っているライブラリの中でVC++6.0で動いてくれないものもあり、私としては慣れないVC++6.0より何とかして2008でこれを使いたいのですが・・・ 一応現在はVC++6.0でこのActiveXコントロールを動作させるプログラム(以下exeと略)を作り、このexeをVC++2008のプログラム内でCreateProcess関数で呼び出すと言う方法を取っています。 引数はコマンドライン引数、処理結果はファイル経由で受け渡しをしています。 このActiveXコントロールというのがあるカメラから画像を取得するものですので、どうして処理時間の長さが気になります。 そこでプロセスの起動と終了にかかる無駄な時間を減らすため、このexeをDLL化できないものかと考えています。 前置きが長くなりましたが、私が質問したいことは (1)「VC++6.0で作られたActiveXコントロール」を使用したDLLを作れるのか?作れるのならばそれはVC++2008で使えるのか? (2)DLL化以外に処理時間を短くする方法はないか?(例えばexeを立ち上げっぱなしにしたまま引数等をメインプログラムとやり取りできないか?) の2点です。 なおこのActiveXコントロールはソースがないため、VC++2008でビルドしなおすと言う手が使えません。 よろしくお願いします。

  • ActiveXの使い方を教えてください。

    昨日も質問させていただきましたがま倒しえてください。 標準EXEまでできていてIE内に表示させるためにはActiveXコントロールで作成しないといけないのですがどのようにどんな風にすればよいのでしょうか。 全くわからないので参考になる文献やサンプルがあれば非常に助かります。 私はVB6で開発して、Inter Devも入っています。 どんなActiveXコントロールを作成したらいいのでしょう・・・ よろしくお願いいたします。

  • ActiveXの種類について

    初歩的なことをお聞きします。 ActiveX(VB6)にはDLL、Exe、コントロール(Ocx?)といった種類がありますが、 それらの用途を教えて下さい。また、これらは.netでも使用できるのでしょうか。 宜しくお願いします。

  • ssTabの上のActiveXコントロール

    VB6.0で開発しています。 sstabに3つのActiveXコントロール(OCX)を貼り付けてexeを作成しています。 しかし、初心者なため、OCX内のコントロール たとえばコマンドボタンや、コンボボックスにセットフォーカスすら 移りません。 これでは値を設定することもできません。 すみませんが、御存知の方、おしえてください。

  • .NETでActiveXコントロールを使う

    開発系初心者です。 ある事情にて.NETの環境でActiveXコントロールの使用を行うことになりました。 そこで、下記アドレスの方の方法を参考にさせていただいたのですが、 ラッパークラスライブラリの生成が行えません。 .NET環境でActiveXコントロールの実装を行うことに参考にさせていただいたサイト http://blogs.wankuma.com/ganfield/archive/2007/03/13/66556.aspx サイトに記載されているActiveXの登録には、下記のアドレスの方のを参考に、 regsvr32で登録済みとなっています。 ActiveX登録に参考にさせていただいたサイト http://www3.ocn.ne.jp/~tonko/HP13_02.htm 二つのラッパーライブラリが生成できないというのは、コマンドプロンプトの作業時、 AxImp c:\WINDOWS\system32\msdxm.ocx と、入力しても AxImp エラー: タイプ ライブラリ/DLL の読み込みエラーです。(HRESULTからの例外:0x80029C4A (TYPE_E_CANTLOADLIBRARY)) と出てしまい、ラッパーライブラリが生成できません。上記サイト以外に、何か準備する必要があるのでしょうか? なお、開発環境は、 OS     :Windows 7 開発環境 :Visual Studio 2010 です。プログラミング言語ではC#の使用を予定しています。 どなたかご回答をお願い致します。

  • mfc42.dllファイルってなんですか?

    こんにちは。 最近、プログラムの勉強をしている物ですが、例えばVBであるシステムを開発して、SetUpを作った際に、色々なプラットフォームで検証するのですが、mfc42.dllというファイルが絡んだエラーが良く出ます。 そもそも「mfc42.dll」とは何でしょうか? OSインストール時に最初から入っているものなのでしょうか? dllファイルとはダイナミックリンクライブラリの事で、OSが色んな時に使用する共通の関数が詰まっている、VBでいう標準モジュールのようなものの事ですよね?(合ってますか(^^;)?) mfc42.dllがそうなら、どういうときに使用されるのでしょうか? また、Aというソフトをインストールした後で、Bというソフトをインストールして、互いのmfc42.dllの更新日時(バージョン?)が違う場合、Bをインストールする事によってAが動かなくなる・・・というのもありえるのでしょうか?? だとしたらとても怖い事ですよね!? でもSetUp作成ソフトやVB標準のディストリビュージョンでSetUp.exeをつくると勝手にmfc42.dllが紐付かれてしまう場合が多々あります。 これを回避する方法はあるのでしょうか? どなたかご教授下さい。

  • ActiveXコントロールを作成してから登録の削除は?

    VBでActiveXコントロールを初めて作成したのですが、 間違えて同じ名前のActiveXコントロール作成してしまいました。 で、コンポーネントでのActiveXコントロール追加に同じ名前のコントロール が2登録されてしまいました。 この登録されたコントロールを2つとも削除したいのですが。 拡張子「*.ocx」のファイルを削除しても、 コンポーネントのコントロールに登録したActiveXコントロール名が残ったままです。 どうすれば、この登録を削除できるのでしょうか? よろしくお願いします。m(__)m 補足: 標準.EXEファイルなどでVBを立ち上げて、 ツールボックスの上で右クリック→コンポーネント→コントロールタブ で、表示されるコントロール名に同じコントロール名が登録されている状態です。 この登録名を両方とも削除したいのですが。

  • ActiveXコントロールの開発環境からのデバッグ方法

    VBで自作のActiveXコントロールを作成しました。 コンパイルして生成されたabcd.ocxを 自作のtest.htmファイル内に指定して、ActiveXコントロールから test.htmlに記述されたJavaScriptを制御します。 開発環境の実行を行わなわずに、test.htmをIEで表示させると、 ActiveXコントロールがダウンロードされ(すでにローカルにありますが)JavaScriptを実行することはできます。 やりたいのは、開発環境から実行させて、JavaScriptを動作させたのです。 どうすればいいのでしょうか? 環境は、VB6.0(SP5),IE5.5(SP1)です。