|
すいません、質問がわかりにくかったかも知れません。
以下のようにモジュール内のプライベート変数で
ペンを定義しています。
Public Module Module1
dim pPen As New Pen(Color.FromArgb(255, 0, 255), 2))
Sub New()
' sample = Now.Ticks
End Sub
Sub aaa()
g.DrawLine(pPen, 1, 2, 3, 4)
End Sub
End Module
このペンはプログラム終了時にDisposeする必要があると思います。
このような、ペンを定義したモジュールが複数個あります。
もし、MyApplication の Shutdown イベントやForm1_Closingで
disposeするのなら、
ペン変数をpublic変数として定義する必要があり、
モジュール間で同じ同じ名称を使うことができません。
また、たくさんモジュールがあると、ペン変数の管理が面倒であるため、
モジュールごとにdiposeしたいと考えています。
> Module は Shared に近い意味合いを持つので、最初にアクセスした時点でロードされ、
> それ以降はずっと読み込まれたままになります。アプリ終了まで残り続けます。
> アプリケーション ドメインを分けてアンロードするといったことはできますが、
> 終了通知のイベントのようなものは無かったと思います。
ということはクラスでないとできないということでしょうか?
ペン変数はシャットダウン時にdiposeしないとメモリ内に残り続けるのでしょうか?
|