はじめまして。
サーバーアプリを開発せざるを得ない状況になり、
いろいろやってみているのですが、
うまくいかないので、どうか助けてください。
・clsTESTクラス(TEST.dll) by VB6
Todayプロパティを取得すると、システム日付を返す。
で、サーバー(=Win2K)のコンポーネントサービスのIIS Utilitiesに
TEST.clsTESTを追加しました。
で、クライアント(=Win2K)から、
①Dim t As Object
②Set t = CreateObject("TEST.clsTEST", "\\172.18.xxx.xxx")
③Msgbox t.Today()
を実行すると、③で「書き込みできません。」のエラーになります。
②でエラーならネットワークとか権限とかの問題かと思われますが、
③でエラーなので原因が判りません。
初めは②でエラーになっていたのですが、
サーバーでDCOMCNFGを起動し、
認証レベル=接続、偽装レベル=識別する
アクセス許可・起動アクセス許可にEveryoneを追加
クライアントでREGEDITを起動し、
TEST.clsTESTのCLSIDにサーバーのCLSIDをセット
などで、②でのエラーを解消できました。
サーバーで①〜③を実行すると正常に動作します。
原因が判る方、教えてください。
よろしくお願いします。
レスが付かないので、自分の質問の仕方が悪かったと判断して、
質問の仕方を変えさせていただきます。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
数十種類のAccessのMDEから、VB6で作成したサーバー上の共通DLLへ参照設定しているのですが、
DLLを再作成する度に、数十種類のMDEファイルも再作成しなくてはならない状況から脱却するために、
DLLをCOMに登録するという発想にたどり着きました。
→COMであれば、サービスを停止させて、DLLを入れ替えるだけで済む。
まず、この考え方は、妥当でしょうか?
以下、妥当だとして・・・
DLLをサーバーのCOMに登録したのですが、
クライアントから、COM登録したクラスをインスタンス化した後、
プロパティを参照すると、「書き込みできません」のエラーになってしまいます。
COM登録の経験が今まで無いので、DLLの作成方法か、設定の漏れか、
原因が判りません。
手がかりのみでも結構ですので、どなたか助けてください。
宜しくお願いします。
手順を端折ったりすると回答がつきにくくなります。
>などで、②でのエラーを解消できました。
ツイート | ![]() |