掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CreateObjectとNewの違い (ID:100569)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
実行時バインディングは、VB6の場合は主に型の指定で出るところです。 "As Object"とするか、"As ADODB.Connection"とするか、で出る差異の 方ですよね。 ちなみに、Newで得たオブジェクトを実行時バインディングで使うことも できますし、CreateObjectで得たオブジェクトを事前バインディングで 使うこともできます。 Dim oConnection As Object Dim oADOConnection As ADODB.Connection Set oConnection = New ADODB.Connection Set oADOConnection = CreateObject("ADODB.Connection") CreateObjectとNewでは、そのクラス名をどう得るのかが異なります。 Newでは、最初からクラスIDが指定され、CoCreateInstanceが呼ばれます。 CreateObjectでは、 1,ProgIDからクラスIDを、CLSIDFromProgIDで取得し、 2,そのクラスIDを用いてCoCreateInstanceが呼び出される。 という手順になります。 クラスIDが固定であることが確実ならばNewを用いる方が簡単でしょうし、 実行時にクラスIDを解決したいのならばCreateObjectを使うことになるでしょう。 文字列型で指定できる点でも融通が利きますし。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.