dポイントプレゼントキャンペーン実施中!

VB6の印刷でメモリリーク

VB6.0(SP6)について質問です。

PRINTERオブジェクトを使用して連続で印刷するとメモリリークが発生します。
プログラムは単純にPrint文で印刷しているのみですが、Printerオブジェクトに
問題があるのでしょうか?
もしかしたら使用可能メモリ限界まで増加し続けるというWindowsの仕様でしょうか?
お知恵をお貸しください。よろしくお願いします。

以下のソースを2秒周期のタイマで実行しています。

For iLoop = 0 To 100
Printer.CurrentX = iLoop
Printer.CurrentY = iLoop
Printer.Print "TEST"
Next iLoop

’ テスト用にKILLDOCをしています
Printer.KillDoc

A 回答 (2件)

あ、私、状況を勘違いしていたかも・・・


#「KillDoc」はテスト用で、実際は使っていないんですね。

> 以下のソースを2秒周期のタイマで実行しています。
「メモリリーク」ってどういう状態を言っているんでしょう?

単純に、2秒ごとに印刷を行っていて、印刷自体が2秒で終了しなければ、
どんどん、渋滞が発生して、スプール上に印刷待ちの情報が溜まっていきますが・・・

そのことを言っているんじゃないですよね?

この回答への補足

説明不足でした。申し訳ありません。

タスクマネージャで確認した所、メモリ使用量が少しずつ
増加していきます。

タイマを停止して、しばらく待ってみてもメモリ使用量が
下がってくれません。

補足日時:2007/01/08 15:50
    • good
    • 0

> PRINTERオブジェクトを使用して連続で印刷するとメモリリークが発生します。


> ’ テスト用にKILLDOCをしています
> Printer.KillDoc

「EndDoc」は試してみましたか?

VB6のヘルプ(MSDNライブラリ)の「KillDoc メソッドの例」を見ると、
KillDocの後にEndDocを実行しているみたいですけど・・・

この回答への補足

EndDocでも試してみましたが同様の現象が発生します。

補足日時:2007/01/06 16:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!