CPB Mailing List

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can't close my form. Close() isn't doing it.



Are you in a modal window when you call Close()?
Mike Young

>
>On Sat, 3 Oct 1998, Aurora wrote:
>
>> Now the pgm has no probs exitting if I close on a button event, but 
from
>> FormCreate it won't work... I have my theories... I need solutions... 
:(
>
>
>I don't know if this will work for you, but I ran into a similar 
problem.
>
>First some background:
>I write a lot of console CGI applications to process user input and 
>return files/data/etc from my company's website.  The latest 
application 
>had to create some graphs based on the numeric data I retrieved.  I 
tried 
>to use dynamically allocated Teechart components, but at some point 
they 
>were throwing an exception because they needed a window handle and 
>didn't have one.
>
>My next plan was to create a form with the charts on them.  I could 
then 
>dynamically create the form and call its OnShow event from insde the 
>console app.  In the form's OnShow event I built the charts and saved 
>the images to disk.  Then I called Close() at the bottom of the OnShow 
>event because I needed the form to close itself automatically without 
>requiring any manual intervention.
>
>The problem I ran into was that when the webserver ran the app, it 
would 
>hang up.  After running the chart module thru the debugger I got an 
>EInvalidOperation exception that said you couldn't modify the Visible
>property (which Close() does) inside the OnShow event.
>
>My final solution was to call form->Show and form->Close both from the 
>external console part of the application instead of trying to have the 
>form close itself.  I don't know if you can write some kind of a 
wrapper 
>for your form, but maybe that would let you close the form and then 
>terminate the app in a separate step.
>
>Hope this helps :)
>Daniel Hallmark
>
>original method:
>//inside console app
>  TfrmChart *chart = new TfrmChart(0);
>  chart->Show();
>  delete chart;
>//end of consol app
>//inside TfrmChart::OnShow
>  // build charts and save to disk
>  Close(); // automatically close form -- this raises exception
>//end of TfrmChart::OnShow
>
>new method:
>//inside console app
>  TfrmChart *chart = new TfrmChart(0):
>  chart->Show();    // if you need user interaction here ShowModal()
>  chart->Close();
>  delete chart;
>//end console app
>
>


______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com



W Komornicki's Home Page | Main Index | Thread Index