タイトル : Re^3: MSXML2.XMLHTTP60 をログオフ状態で使用 投稿日 : 2015/08/10(Mon) 16:40 投稿者 : 魔界の仮面弁士
> ただ、このままvbp起動を続けるのが不安なので 避けたいですね…。 > xml通信を自動実行できる環境は現状 単純な通信だけであれば、VB6 からは UserControl の AsyncRead メソッド Inet の Execute メソッド ADODB.Stream の Open メソッド などの選択肢があるのですが、いずれも今回の要件は満たせそうにないですね。 案件上、mswinsck や SoapClient も使えそうにはないですし。 MSXML*.DLL が本命ではあるのですけれども、果たして回避策があるのか否か…。 > VB2008 で COM を使わない通信というと、System.Net.HttpWebRequest クラスでしょうか? > とお考えですか あれ? 『vb2008で作ったみた』のですよね。その時は何を使ったのでしょうか? > vbscriptは途中なのですが、xmlHTTP前提だったので > 意味ないかなと思っています。 言語的には VB6 に類似しているので、移植で悩むことは少なそうですが、 VBScript から利用可能な通信手段は基本的に ActiveX DLL だけなので、 今回の代替選択肢にはなりにくそうですね。 VB6 にはできなくて、VBScript であれば可能な点があるとすれば ・32bit / 64bit の両方に対応可能 ・コンソールアプリとして動作可能 ぐらいでしょうか。それがアドバンテージとなりうるかは別として。 > powershellとか現行VB,C#勉強したほうがいいでしょうか 今回の件がどうであれ、勉強はしておいた方が良いとは思いますよ。 使える言語は多いに越したことはありませんし、何より VB6 は古すぎます。 とはいえ、今回、言語を変更するべきかどうかは別問題です。 そもそも今回の問題は、サーバー側の設定の微妙な差異によるものだと思っています。 他の URL では問題が起きていないわけですしね。 そしてその回避方法は現時点で明確になっていないため、対処方針の一つとして 『他の通信ライブラリで試してみること』を選択肢に挙げているわけですが、 言語を変更する必要があるかどうかは、そのライブラリ次第ということになりそうです。 極端な話、Web API を呼び出すためのライブラリが JCL だったのなら、必然的に Java から利用する事になりますし、あるいは PowerShell の Cmdlets として 作られていたのなら、選択肢もおのずと PowerShell に限られてくるわけです。 通信手段が .NET Framework のライブラリなのだとしたら、C# や VB.NET の出番でしょう。 (問題は、今回の Yahoo API の URL に対応した通信ライブラリがあるか否か…) |