• 締切済み

VB6の印刷でメモリリーク

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

みんなの回答

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.2

あ、私、状況を勘違いしていたかも・・・ #「KillDoc」はテスト用で、実際は使っていないんですね。 > 以下のソースを2秒周期のタイマで実行しています。 「メモリリーク」ってどういう状態を言っているんでしょう? 単純に、2秒ごとに印刷を行っていて、印刷自体が2秒で終了しなければ、 どんどん、渋滞が発生して、スプール上に印刷待ちの情報が溜まっていきますが・・・ そのことを言っているんじゃないですよね?

shin_leg
質問者

補足

説明不足でした。申し訳ありません。 タスクマネージャで確認した所、メモリ使用量が少しずつ 増加していきます。 タイマを停止して、しばらく待ってみてもメモリ使用量が 下がってくれません。

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.1

> PRINTERオブジェクトを使用して連続で印刷するとメモリリークが発生します。 > ’ テスト用にKILLDOCをしています > Printer.KillDoc 「EndDoc」は試してみましたか? VB6のヘルプ(MSDNライブラリ)の「KillDoc メソッドの例」を見ると、 KillDocの後にEndDocを実行しているみたいですけど・・・

shin_leg
質問者

補足

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

関連するQ&A

専門家に質問してみよう