FolderBrowserDialog and my program staying in memory....

  • Thread starter Thread starter Robin Tucker
  • Start date Start date
R

Robin Tucker

I've noticed that my program executable remains in the process list if at
any stage my program has shown a FolderBrowserDialog. I am calling .Dipose
on the dialog after use. This does not happen when I go through the code
paths that do not create and display this dialog. Is the folder browser
hanging onto something that is holding the rest of my program active on the
task list?

Any help would be appreciated :)

Thanks.
 
Robin,

I even does not know if this answers your question. However the
folderbrowserdialog has a bug with long paths if the latest Net1.1 service
pack is not loaded.

Therefore maybe can that be the error.

Cor
 
No, I have 1.1 SP 1 installed at the moment. I have tried calling
"Application.Exit" to no avail. I'm guessing one of the folder browser
controls is running a thread that is refusing to die - err, I don't think
it's an out of process control, although it might be. Anyway. For what
reason I don't know - this is totally unacceptable because it leaves my
program around in memory! Agh!

Interestingly though, try this and see if it does the same for you - I
created a tiny noddy application with one button on a form. When you don't
click the button and exit, the process leaves memory, when you click the
button and show a folder browser dialog, then exit the dialog and then exit
the program, it stays in memory (on my PC at least). What gives!?


Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Friend WithEvents Button1 As System.Windows.Forms.Button
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.Button1 = New System.Windows.Forms.Button
Me.SuspendLayout()
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(48, 24)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(192, 64)
Me.Button1.TabIndex = 0
Me.Button1.Text = "Show Dialog"
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(584, 341)
Me.Controls.Add(Me.Button1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim theDialog As New FolderBrowserDialog
theDialog.SelectedPath =
Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
theDialog.ShowDialog()

theDialog.Dispose()
End Sub
End Class
 
..... and indeed, this behaviour is seen on my software managers PC and our
test PC - so it seems to be fairly consistent and is probably not related to
my specific pc setup...... :/
 
Robin,

Assuming that you look in taskmanager than I see the program start. Than
clicking the button the folderbrowswer is showed, when I close that or say
ok, click on the close from the form than the program is gone from the
taskmanager.

If I misunderstood you. I stop now, so if you reply, than I will not see it
for tomorrow.

Cor
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top