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.
Well, the form hasn't been created as yet, so calling close() won't close
it. There may be two things you could do. Use Perform() to send a message
to itself to close. when it receives the message, call the Close().
otherwise, set a timer, and when the timer fires, call the close().
> -----Original Message-----
> From: owner-cpb-thread@zdtips.com [mailto:owner-cpb-thread@zdtips.com]On
> Behalf Of Daniel Hallmark
> Sent: Monday, October 05, 1998 11:11 AM
> To: cpb-thread@zdtips.com
> Subject: Re: Can't close my form. Close() isn't doing it.
>
>
> 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
>
W Komornicki's Home Page |
Main Index |
Thread Index