• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:パソコン用語、色々と分からなくなりました)

パソコン用語の認識確認とは?

このQ&Aのポイント
  • パソコン用語のCOM, OLE, DLL, PECLについての認識確認をお願いします。
  • COMはパソコンの内部に入れておくことでアプリケーションの開発を容易にするものです。
  • OLEは通信を通じてプログラム部品を使うもので、パソコンの内部には入れません。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65535
  • ベストアンサー率44% (8554/19437)
回答No.2

>COM:現在はActiveXという名前になった。パソコンの内部に入れておくことによって必要な時にメモリ上にプログラム部品を使うことによってアプリケーションの開発を容易にするもの。COMはクラス 違います。 COM【Component Object Model】 Microsoft社が提唱する、部品化されたプログラムを作成・利用するための基盤となる技術仕様。特定の機能のみを持つプログラム部品を組み合わせることでアプリケーションソフトの開発が容易になる。この仕様に基づいてデータのやりとりができるプログラム部品のことをCOMコンポーネントと呼ぶ。 COMコンポーネントは開発に使った言語やコンポーネントのある場所などに拠らず、どの言語からでも、どこからでも利用することができる。 ネットワークを通じて別のコンピュータ上にあるCOMコンポーネントを利用する技術をDCOMと言う。これらの技術はWindowsだけでなく、UNIXやMac OSにも移植されている。 COMクラス クラスをサポートしたオブジェクト指向プログラミング言語において、COMコンポーネントの呼び出しをラップし、COMコンポーネントの利用を容易にする為のクラス。 ActiveX ActiveX(アクティブエックス)とは、Microsoft社が開発するインターネットに関するソフトウェアコンポーネントやその技術を示す用語。 COMコンポーネントのうち、インターネットに関するCOMコンポーネントのみを、ActiveXコンポーネントと称する事もある。 元々はMicrosoftがオブジェクトのやりとりを行う仕組みであるOLEからインターネットに関する技術を分離させたものがActiveX。 >OLE:COMと同じだが、通信を通じてプログラム部品を使う。パソコンの内部に入れない。OLEはクラス。拡張子がocxなので、ocxと呼ばれることがある。 違います。 OLE【Object Linking and Embedding】(オブジェクトのリンクと埋め込み) OLEは、Microsoftが作った、オブジェクトをやり取りするための仕組み・規約のこと。 OLEの初期の用途は複合文書の管理のため。例えば、1つの文書ファイルの中で、テキスト部分をワードで、図の部分をペイントツールで編集する、など。 当初、動的データ交換 (Dynamic Data Exchange, DDE) の後継として公開された。 OLE2.0の規約に従って作られたソフトウェア部品の事をOCXと呼ぶ。 OCX【OLE Custom Control】 OCXとは、OLE2.0に準拠したソフトウェア部品。正しくは「OLEコントロール」だが、拡張子が.ocxであることからこう呼ばれるようになった。 OLEクラス クラスをサポートしたオブジェクト指向プログラミング言語において、OCXソフトウェア部品の呼び出しをラップし、OCXソフトウェア部品の利用を容易にする為のクラス。 >DLL:COMと同じ。 違います。 DLL【Dynamic Link Library】(動的リンクライブラリ) ソフトウェアの一種。動的リンクを使ったライブラリのこと。 Windowsにおいて、複数のアプリケーションソフトが共通して利用するような汎用性の高いプログラムを部品化してファイルとして保存しておき、必要に応じてメモリに呼び出して利用する手法。また、そのようにして利用されるプログラム部品のこと。 COM技術とはまったく異なる。 >PECL:C言語で作ったPHPを拡張するためのモジュール。モジュールなのでクラスとは異なる、つまりインスタンス化することができない。 違います。 PECL【PHP Extension Community Library】(ピックル) PHPで利用できる拡張ライブラリ(パッケージ)を提供しているサービス。 PECLで提供されるライブラリはCで記述されているため、PHPで記述されたPEARのライブラリよりも高速に動作する。 PECLをクラス化できるかどうかは、実装に拠るので、クラス化可能な実装をすれば、ラッパークラスを作成する事も出来るし、インスタンス化する事も出来る。 当然、モジュールとして実装すれば、クラスではなくなるので、インスタンス化する事も出来ない。 つまり「クラスであるかどうか」「インスタンス化出来るかどうか」は「実装の方法に拠る」のであり「PECLだから」ではない。 >ライブラリ:クラス群の総称。つまりCOM,OLE,DLLはライブラリ。 違います。 ライブラリはあくまでもライブラリ。クラス群の総称ではありません。 COM,OLE,DLLはライブラリではありません。それぞれの技術・仕様・規格・手法の名称です。 ライブラリ【Library】 書庫。 各種の技術・仕様・規格・手法に従って作成されたソフトウェア部品を集めたもの。 COMコンポーネントを集めた物であれば「COMコンポーネントライブラリ」、OCXを集めた物であれば「OCXライブラリ」、動的リンクモジュールを集めた物であれば「動的リンクライブラリ(DLL)」、オブジェクト指向プログラミング言語を用いて一つの「クラス」として部品化し関連する複数のクラスを一つのファイルにまとめたものであれば「クラスライブラリ」と言う。 クラス【Class】 オブジェクト指向プログラミング言語でサポートされる構文の一つ。 COM,OLE,DLL,ライブラリなどの各種のソフトウェア技術・仕様・規格・手法とは一切無関係。 COM,OLE,DLL,ライブラリは「クラスと言う概念がない、オブジェクト指向プログラミング言語ではない言語や、アプリケーションからも利用される物」である事に注意する事。 現在、自分が使っている言語に「クラス」と言う物があるからと言って、各種のソフトウェア技術・仕様・規格・手法が、クラスを利用して使用されるとは限らない。 >以上の認識で間違いないでしょうか。 そういう訳で「すべて間違っています」が回答。

apache2009
質問者

お礼

ありがとうございました。 とても参考になりました。 全て認識違いでしたので、間違ったまま突き進まなくてよかったです。 これを機に今一度調べて頑張ってみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Chary_spy
  • ベストアンサー率40% (75/183)
回答No.3

他の人が全部答えている通り、全部違いますね。 どこから仕入れた知識でしょう。ちょっと違う程度ではなく、ぜんぜん違う認識になっています。営業系の人か、パソコン教室に通い始めたか。 ここのカテゴリーは技術者向けの書き込みなので、この手の質問は、もう一つのデジタル系のOS系に書き込んでください。 又、この手の事柄なら、Net上にも展開されています。そこで、検索して調べてから、質問しましょう。 >COM:現在はActiveXという名前になった 最初から違いますが、COMは今もCOM。 「DCOMになった」と言うような間違いならわかりますが、たぶん、雑誌を読むだけでわかったような気になって、通り過ぎていると、こんな認識になってしまうのかと、創造しています。 ちなみに、ActiveXはその上のカテゴリーです。

apache2009
質問者

お礼

ありがとうございました。 「雑誌を読むだけでわかったような気になって」ググッて調べた結果、分かったような気になっていたので、再確認させていただきました。 カテゴリ迷ったのですが、迷う時点で何も分かっていないんだなと思いました。 もっと勉強します。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

DLLには、単に関数をExportしているものと、IUnknownインターフェース等を搭載したもの(COM)があります。ただし、COMはDLLだけの機能ではありません。 ocxはActiveXコントロールの拡張子で、OLEのことを指すわけではありません。

apache2009
質問者

お礼

うーん。。 完全に分かった気になっていましたね。 まだ、m-take0220さんに書いてくださった意味も分からないです。。 まだまだ勉強が必要ですね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • クラスモジュールについて

    笑われてしまうかもしれませんが、クラスモジュールはどんな時に使用するべき なのかが分かりません。 標準モジュールとどう使い分けていけば良いのか教えてください。 また、DLLとOCXも、どう使い分けたら言いか教えてください。 よろしくお願いします。

  • COMコンポーネントの構造の本質的理解ができない

    プログラミングを始めて間もない初心者です。 windowsアプリケーションを制御対象として扱おうと、win32oleライブラリをrequireしてCOMコンポーネントを扱う方法をネット上で色々調べてみたのですがどうも腑に落ちない点・分からない点があるので質問します。 rubyリファレンスマニュアルからリンクされているサイト(http://jp.rubyist.net/magazine/?0003-Win32OLE)において、以下のような記述があります。 >COM ではインスタンスを生成するときに「COM コンポーネント」を指 >定するための ProgID を引数として WIN32OLE.new メソッドを実行し >ます。 COM コンポーネントとは、Windows に登録された、ある機能 >(たとえば、IE や MS Office の制御機能) を提供するためのもので >す。この「COM コンポーネント」を利用して作成したインスタンス を>「COM オブジェクト」とこの記事では呼んでいます。 COM オブジェク>トを作成した後は、その COM オブジェクトで定義されている「メソッ>ド」を実行することでそのコンポーネントが提供する機能を実現する >ことができます。 この文に従えば、作成したCOMオブジェクトを扱う方法を知るためにはCOMオブジェクトで定義されているメソッドを参照すれば良いこととなります。そこで自分もWIN32OLE.new("InternetExplorer.Application") によって得たCOMオブジェクトにWIN32OLE.ole_methodsを適用することでメソッドの一覧を取得しましたが、前述のサイトで紹介されているie.document.all.Item()というメソッドを探してみてもどこにも見つかりません。 これはどういうことなのかと思い、ネット上で色々とCOMとは何か、タイプライブラリとは何かなどを調べて見ましたが、いまだCOMの全体像の把握ができません。 たとえばrubyの場合、あるオブジェクトに対して使えるメソッドというのはそのオブジェクトが該当するクラスに於いて定義されているメソッド((1))及びkernelモジュールで定義されている組み込みメソッド((2))ですよね。 (初心者なのでこの理解にも間違いがあるかもしれませんがその場合はご指摘お願いします) このような考え方でいくとWIN32OLE.ole_methodsによって取得したメソッドの一覧は(1)にあたり、document.all.Item()というのは(2)にあたるのではないかという考えもできるかと思うのですが誰か正しい理解をご教授いただきたいです。 質問が長くなってしまいましたがie.document.all.Item()というメソッドがどこに定義されているのか、そういったメソッドの定義場所はCOMにおいてどのように見つけるのか、そこだけでもいいのでよろしくお願いします。

    • ベストアンサー
    • Ruby
  • ACTIVEXの拡張子

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

  • 作成したDLLをATL_COM_APPWIZARDで利用する方法について

    VC6++のWin32 Dynamic Link LibraryでDLLを作成しました。 DLLはできたのですが、これを利用する方法がわかりません。 ATL COM AppWizardで作成するアプリからDLLのクラスを使いたいのですが、どのようにすれば使えるのでしょうか? 最初のDLL側は class Test{ Test(){ ShowMessageBox(NULL, "最初のDLL", "呼ばれました", MB_OK); } }; というクラスです。 ATL COM Appwizardでは、 どのように記述すれば、DLLのクラスを利用することができるのでしょうか?

  • MDAC2.8がインストールできない

    あるフリーソフトに必要なため、Microsoft Data Access Components 2.8を入れようとしたのですが、3箇所、以下のエラーが発生してしまいます。  タイトルバー Advanced INF Installer(3回とも)  エラー文   Error registering the OCX C C:\Program Files\Common Files\System\ADO\msado15.dll   Error registering the OCX C C:\Program Files\Common Files\System\OLE DB\sqlxmlx.dll   Error registering the OCX C C:\Program Files\Common Files\System\OLE DB\sqloedb.dll 表面上は「完了しました」とでるのですが、いざソフトを起動すると、   DBInitialize Line-2 - エラー番号:429   ActiveX コンポーネントはオブジェクトを作成できません。 と表示されて起動できません。 文章の意味からおおよそ想像するに、レジストリ関係なのかなと思っているのですが、どうすればいいのか分かりません。 対処の仕方がわかりましたら、よろしくお願いいたします。  システム:Windows Me 4.90.3000です。

  • 「DLLファイル」とは?

    DLLファイルについて、よく分かりません。 たまにPHPなどでプログラムを組む時に、拡張ライブラリとして.dllファイルをextディレクトリに入れたりするのですが、本来DLLファイルはどのプログラミング言語からでも呼び出せるものなのでしょうか?(↓の説明を読むと、そんな気がしてしまうのですが)それとも、特定の言語のライブラリなどをdllと呼ぶようなイメージでよいのでしょうか?それとも、ぜんぜん別のものなのでしょうか? http://e-words.jp/w/DLL.html

  • Javaの拡張ライブラリをインストールする時にdllファイルを使った

    あるJavaの拡張ライブラリ(下記URLのもの)をインストールする時に、extディレクトリにjarファイルを貼り付けて、さらに付属のdllファイルをsystem32ディレクトリに貼り付ける必要がありました。 あまり、拡張ライブラリをインストールしたことがなかったのですが、少し調べてみるとjarファイルをextディレクトリに置くのは普通らしいのですが、dllファイルを使うというのはあまり聞きません。 jarファイルにはクラスが入っていると思うのですが、dllファイルには、どのような意味があるのでしょうか? よろしくお願いします。 http://sourceforge.net/projects/netsnmpj

    • ベストアンサー
    • Java
  • C#で自作ライブラリの使用方法について

    仮に、Nameと言う名前空間のClsと言うクラス内にMtdと言うメソッドが存在するライブラリを作成したとします。(Cls.dll) このライブラリをMainProgと言う別プログラムから使用したいのですが、ソリューションエクスプローラの参照設定でCls.dllを設定しても、MainProgのメソッド内の「Name.Cls.Mtd();」記述部分について 「名前'Name'は現在のコンテキスト内に存在しません」のエラーが出て、ライブラリが認識されません。 尚、その他の標準ライブラリは問題なく使えます。 何が間違っているのか教えて頂けないでしょうか。 宜しくお願いします。

  • モジュールとは何ですか

    モジュールとは具体的には何を指しているのか、をお聞きします。 手元のカタカナ語辞典では 「プログラムを、それぞれ特有の機能を持ついくつかの基準単位に分割すること。また、その基準単位。」 と書いてありました。 そうすると、1つ1つのソースファイルを指しているように思えてきます。 いままで私が人がしゃべっているのを聞いてきたところでは、Windowsでいうところの、exeファイルやdllファイルを指しているような気がします。 「モジュール」という言葉は gooの新語辞典にも載っています。 また、コンピュータ用語辞典のようなサイトも見てみました。 それらによると、「ソフトウェア・ハードウェアの部品」だそうです。 しかし、例えば何のことをいっているのかが、分からないのです。 #ファイルなら何でもいいのだろうか。 この言葉の用例を教えていただきたいのです。 ============================ 過去の質問と回答より。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=302590 回答No.1の補足より。 >モジュールはAccessの標準モジュールのことです わたしはAccessのことをほとんど知らないので、ハテナです。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=293234 こちらのNo.2の回答では、 dllとは「共通モジュール=ライブラリ」である、 という使い方ですので、例えばdllのことを指しているようです。

  • DLL拡張子のプログラムを変えてしまいました…

    DLL拡張子は元々プログラムで開けますよね。 しかし先日弟がファイルをいじって、開くプログラムを変えてしまったようなんです。 なのでDLLが機能せず、コーデックも認識されなくなってしまいました。 復興しようにも本人は操作を覚えていないらしく、膨大なプログラムの中から探すわけにもいきません。 分かる方がおられましたらよろしくお願いします。

このQ&Aのポイント
  • MFC-J9600DNのプログラムサポートについてお困りですか?スキャナーがつながらないトラブルについて説明します。
  • お使いの環境はWindows11で無線LAN接続です。関連するソフト・アプリ情報は不明です。
  • ブラザー製品であるMFC-J9600DNのプログラムサポートについてお困りの方へ。スキャナーの接続に関するトラブルについて詳しく解説します。
回答を見る