Web Extender FAQ
最終更新日:
ここではお問い合わせの多い質問をご紹介します。
製品の御購入検討やトラブルシューティングにお役立てください。
- Q? IIS 4.0(Option Pack)での動作?
IIS 4.0(Option Pack)対応モジュールのバージョンは5.1です。
バージョン5.0のモジュールでは動作しません。バージョンは5.1モジュールは
スリックコーポレーションより配布されます。正規ユーザー様でIIS
4.0対応モジュールを必要と されるお客様は、WebExtender
5.0のシリアル番号をご記入の上、以下のメールアドレス宛てにご請求ください。IIS
4.0は未完成の部分が多くあり、すべてのお客様が必要とされるわけではないため、このような対応とさせていただきます。
order@sric.co.jp
- Q? IIS 4.0(Option Pack)でサービスを停止してもファイルが使用中のまま開放されない?
IIS 4.0よりIIS Adimin Serviceが追加されています。そのためこのサービスも停止する必要があります。
IIS Adimin Serviceはコントロールパネルの[サービス]にて停止できます。
- Q? IIS 4.0(Option Pack)でプログラムの基本認証ができない?
インターネットサービスマネージャにて、[自動的パスワード同期を有効にする]をOFFにする必要
があります。以下の基本認証のプロパティーを確認してください。
[インターネットサービスマネージャ]、[規定のWebサイトのプロパティー]で
[ディレクトリ セキュリティー]タブをクリックします。
[編集]ボタンをクリックします。[匿名アクセスで使用されるアカウント]の横にある[編集]
ボタンをクリックします。[自動的パスワード同期を有効にする]のチェックをはずします。
すべてのダイアログが閉じるまで[OK]をクリックします。
- Q? IEでファイルアップロードできますか?
IE4.X以上であればNetscapeと同じ用に行うことができます。IE3.Xの場合はブラウザがアップロードタグに対応していないため、そのままでは、アップロードすることはできません。
- Q? よくあるミス?
DLLを修正し新しいモジュールをインストールする際には、IISを停止する必要があります。
この際、サービスマネージャでIISを停止しますが、WWWサービスだけではなくすべてのサービスを停止する必要があります。FTP、GOPHERも停止させます。
- Q? 作成したOLEサーバーをレジストリに登録しなければならない時はどんな時?
サーバーにVBをインストールしここでコンパイルした場合はレジストリへは自動で登録されます。
別のマシンでOLEサーバーを作成し、サーバーマシンにコピーした場合はコピーのたびにレジストリに登録し直します。VBではコンパイルのたびにCLSIDが異なるためです。
また、レジストリ登録後にOLEサーバーのパスを移動した場合も必ずレジストリ登録し直します。レジストリにはOLEサーバーのパスが記録され、そのパスを元にDLLをロードします。
- Q?
サンプルプログラムのデータベースサンプルを何回かクリックするとエラーになる。
この問題はアップデートキットをインストールしていないVisualBasicでコンパイルした場合に起こります。
VisualBasicのアップデートキットを入手してインストール、再コンパイルしてください。
- Q?
アクセスカウンターのデモで”オブジェクトが見つかりません”エラーが出る
サンプルプログラムはIISのホームディレクトリ上にリソースがある事を前提にしています。Webextender\htmlディレクトリの
ファイルをIISのホームディレクトリにコピーしてください。もし、default.htmを上書きしたくない場合はdefult.htmのみ別のファイル名
に変更してもかまいません。
- Q?エラーメッセージ
"GWIISOLE Call Failed Err No.= 1"の意味は?
このメッセージとともにProgid is
にプログラム名がきちんと表示されていない場合は次の質問を参照してください。
プログラム名がタグ通りに表示されている場合はプログラムIDからクラスIDが見つからないと言う事になります。
たとえば、Allresp.mainclassを呼び出す場合にAllresp.mainclassと言う名前から
レジストリに登録されたクラスIDが得られなかったと言うことになります。
原因はいくつかありますが
1、htmlで指定されたタグが間違っている場合
2、レジストリにOLEDLLが登録されていない場合
が主な原因です。
- Q?エラーメッセージ
"GWIISOLE Call Failed Err No.= 1"でProgid isがヌルになっている
これは作成されたOLEDLLで非同期関数を実行した際に不正な呼び出しで制御がジャンプしています。OLEDLLの非同期関数を正しく呼び出す
様コードを修正してください。
- Q?エラーメッセージ
"GWIISOLE Call Failed Err No.= 2"が出るどうすれば良いか?
このエラーはOLEDLLのインスタンスが作成できない時に発生します。
主な原因は以下の通りです。
1、作成したOLEDLLが致命的なバグがある場合(インスタンスが作成できない程の)
2、レジストリにクラスIDが登録されていないか、登録されたパスが間違っている場合
特にサンプルをインストールした後SDKディレクトリ内のOLEDLLを移動しますとこのエラーになります。
- Q? 作成したOLE DLLをレジストリに登録する方法は?。
1、サーバーにVisual Basicがある場合はOLE
DLLを再コンパイルしますとVBが登録してくれます。
2、VB付属ユーティリティーのregsvr32.exeを使って登録します。
DOSプロンプトからregsvr32.exeのあるディレクトリに移動し
>regsvr32.exe c:\webextender\sdk\allresp.dll
のようにタイプします。c:\webextender\sdk\allresp.dllの部分は実際に作成されたOLE
DLLのパスを指定します。正常に登録されますと
succeededのメッセ ージが出ます。
3、参考ですがWebExtenderのサンプルプログラムはインストーラによってレジストリに登録されます。再インストールする場合は以前の物をアンインストールして
から行います。
- Q?
レジストリエディタで登録の確認ができますか?
できます。レジストリエディタはregedt32.exeを起動します。サンプルにありますAllresp.dllを例にとって説明します。
まず、HKEY_LOCAL_MACHINEを開きます。次に
\SOFTWARE\Classesを開きます。この中にAllresp.MainClassが
あるか確認します。これがあればプログラムIDは登録されています。
さらにAllresp.MainClassのClsidを開きます。ここでデータのところにある値がクラスIDです。この値を控えておきます。
次にHKEY_LOCAL_MACHINE\SOFTWARE\CLSIDを開き先ほど控えた番号を探して開きます。さらにInprocServer32キーを開きます。
ここで表示されたデータがOLEDLLのパスになります。
まとめますと
クラスID =
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Allresp.MainClass\Clsid
OLEDLLパス = HKEY_LOCAL_MACHINE\SOFTWARE\CLSID\(クラスID)\InprocServer32
となります。
- Q? MS-Accessで開発可能でしょうか
WebExtenderはISAPIとOLE DLLとのインターフェースをとるための製品です。
開発ツールとしてOLE DLLが作成できなければなりません。MS-AccessはOLEDLL
の作成ができませんので開発ツールとしては使用できません。