- - PR -
Visual Basic6ですが。。
«前のページへ
1|2|3
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-08-12 11:36
まさしくその通りです。ややこしくて申し訳ありませんでした。 もっと言葉を添えるべきでした。(悪意はないんですが...) ただ、同じく質問者さんも意味自体がわからないのであれば、 「遅延バインディング自体の意味がわからなかったので」 などを添えて頂きたかったとも思ってしまいました。 意味自体は「その言葉」+「とは」で検索してたいてい OK です。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-08-12 11:55
本当に遅延バインディングなのでしょうか? (1) Dim objRs As Object Set objRs = CreateObject("ADODB.Recordset") (2) Dim objRs As ADODB.Recordset Set objRs = CreateObject("ADODB.Recordset") (3) Dim objRs As ADODB.Recordset Set objRs = New ADODB.Recordset (4) Dim objRs As New ADODB.Recordset 4通りの書き方がありますが、(1)は遅延バインディング、(2)〜(4)は事前バインディングですよね。 で、質問者の方法は(1)なのか(2)なのか、断定できないです。 | ||||||||
|
投稿日時: 2005-08-12 12:13
(2)も遅延バインディングですよ。 CreateObject("ADODB.Recordset") が何を生成するのかは、実行時に初めて分かることです。 | ||||||||
|
投稿日時: 2005-08-12 12:35
ここでは、事前バインディングの方法として紹介されています。 Dim oXL As Excel.Application Set oXL = CreateObject("Excel.Application") [ メッセージ編集済み 編集者: todo 編集日時 2005-08-12 12:37 ] | ||||||||
|
投稿日時: 2005-08-12 12:39
NAL-6295です。 そうなんですね。 申し訳ありません。 勉強になりました。 _________________ 「伝える」とは「人に云う」と書く。 http://d.hatena.ne.jp/NAL-6295/ | ||||||||
|
投稿日時: 2005-08-12 12:47
こっちは、微妙な書き方が... CreateObject 関数
えっと、ただし がどこにかかるかで意味合いが変わる気がします。 As Object にかかるのであれば... 入れる型が決まっていれば、解決できているというわけですか... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-08-12 12:56
当初の発言は
・CreateObjectの引数に与えている文字列は実行時にしか解決しない。 という考えから実行時になるまで、解決しないのでは無いかなと思っていました。 つまり(2)について文章にするとすれば、 ・その変数を利用する部分(つまりCreateObjectしてインスタンスを代入して以降)については確かに事前バインディングなのかもしれませんが、CreateObjectしている部分に関しては実行時にしか解決しない。 と解釈していました。 _________________ 「伝える」とは「人に云う」と書く。 言葉を尽くさなければ何も伝わらない。 [ メッセージ編集済み 編集者: NAL-6295 編集日時 2005-08-12 13:05 ] | ||||||||
|
投稿日時: 2005-08-12 12:57
> 入れる型が決まっていれば、解決できているというわけですか...
です。COMインタフェースが決まっているか IDispatch(ここらへんの知識は微妙)経由で呼ぶかの違いです。 4パターンが書かれていたとおり、 その話と CreateObject("Foo") を使うか New Foo を使うかという話 (生成対象の決定を実行時に行うかコーディング時に行うか) は別です。 |
«前のページへ
1|2|3