ActiveXDLLにてFileSystemObjectを使用してもファイルに書き込みできない


バーシュン  2008-01-18 02:05:59  No: 100083

はじめまして。バーシュンと申します。

現在VC++6.0とVB6.0にてWindows用の常駐プログラムを作成したのですが、
VB6.0で作成したDLLでファイルに書き込みしたのですが、
書き込みが反映されていません。

EXEにすると問題なく書き込みが行われています。

DLLだとファイルへの書き込みは出来ないのでしょうか?
Google等で調べもしたのですがなかなか必要な情報が得られないため、
何方かご教授願えませんでしょうか?


バーシュン  2008-01-18 02:08:32  No: 100084

追記。

一応ファイルの作成は出来てはいるので
FileSystemObject自体がDLLで動かないというわけではないようです。

よろしくお願いします><


魔界の仮面弁士  2008-01-18 02:14:13  No: 100085

> 書き込みが反映されていません。
> EXEにすると問題なく書き込みが行われています。
(Vista の)VirtualStore へのリダイレクトに引っ掛かっているとか、
(dcomcnfg.exe の) オブジェクト権限不足の可能性であるとか、
(NTFS やネットワークの)ファイルアクセス権限なども考えましたが、
exe だと OK というのであれば、別の原因かもしれませんね。

・エラーは出ていませんか? (On Error で握りつぶしている可能性も含めて)

・出力対象のファイルは、フルパスで指定していますか?
  (相対パス指定だと、カレント ディレクトリの影響を受けてしまうので)


バーシュン  2008-01-18 02:14:26  No: 100086

ああああああ  すいません勘違いですFileSystemObjectじゃないです。
すいません。

Open FileName For Output as FileNo でした・・・


魔界の仮面弁士  2008-01-18 02:18:31  No: 100087

> 一応ファイルの作成は出来てはいるので
作成できたけれど、書き込みが完了していない、ということでしょうか。

もしかして、使用しているのは FileSystemObject オブジェクトでは無く、
TextStream オブジェクトだったりしますか?
もし、TextStream の事だとしたら、最後に Close メソッドを
呼び出しているかどうかをチェックしてみてください。


魔界の仮面弁士  2008-01-18 02:21:18  No: 100088

> FileSystemObjectじゃないです。
ありゃ。(^^;

実は、Print # (または Write #)の処理を通っていなかった…という事は無いですよね?


バーシュン  2008-01-18 02:28:48  No: 100089

魔界の仮面弁士さん
早速お返事いただきありがとうございますm(_ _)m

もう一度EXEにもどして行ってデバッグを行ってみたのですが
print処理も通っていますし、
close処理も行っています。

もう一度Googleで検索もしてみます><


魔界の仮面弁士  2008-01-18 03:36:36  No: 100090

> もう一度EXEにもどして行ってデバッグを行ってみたのですが

EXE に戻さず、DLL のままデバッグ実行させた場合はどうなりますか?


バーシュン  2008-01-19 01:52:14  No: 100091

魔界の仮面弁士さん

DLLのデバッグの仕方を色々と調べてみたあとに
DLLのデバッグを行ってみたのですが普通に処理を通っているようでして
不思議です・・・

とりあえずいろいろとさらに調べてみます
ありがとうございますm(_ _)m


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加