Article View: pl.comp.lang.python
Article #444Re: Close() w wxPy
From: bart
Date: Sat, 04 Jan 2003 15:38
Date: Sat, 04 Jan 2003 15:38
37 lines
2640 bytes
2640 bytes
On Fri, 03 Jan 2003 19:58:12 +0000, Jarek Zgoda wrote: > bart <lda2@wp.pl> pisze: > >>> W aplikacji pisanej przy uzyciu wxPy ;-) z jednego okna otwiram drugie >>> (typu wxFrame). Nastepnie z tego pierwszego daje self.Close (true), albo >>> self.Destroy(). I tu pytanie: nie zamyka mi potomnego okienka... A >>> chcialbym zeby to robilo. Jak mozna to zrobic? (pewnie cos pokopalem z >>> dziedziczeniem, ale juz nie wiem...) :( >> jest sobie taka metoda w obiekcie jak __del__ spróbuj ją wykorzystać. >> wywoływana jest w momencie usuwania obiektu przez GC. > > I - podobnie jak w Javie z metodą finalize() - musisz założyć, że GC > zostanie wywołane. A co wtedy, jeżeli GC *nie zdąży zostać wywołane* > (program zakończy działanie, a proces PVM zostanie usunięty z > pamięci przed wywołaniem GC)? > Oto jest pytanie. Odpowiedzią jest konstrukcja try...finally. Nie wiem > czemu jedynie moi koledzy, którzy kiedykolwiek mieli do czynienia z > Object Pascalem, używają tej konstrukcji "naturalnie" (tzn. zawsze, > kiedy trzeba). problem wydaje mi się ze wygląda troszkę inaczej: masz własna klasę Window i z jej poziomu user otwiera X innych potomnych okienek, teraz w głównym oknie programu wybiera "Zamknij Okno" co ma się dziać... zamykamy okna potomne a potem główne... tyle ze nie zawsze wiemy jakie okna mamy otwarte a jakie nie... powiedz gdzie wstawisz try...finally ??? rozwiązanie jest takie żeby zawsze rejestrować gdzieś nowo otwarte obiekty i zamykać je przy niszczeniu rodzica (i tak rekurencyjnie) aby jednak tego nie robić powstał GC, a nie po to aby sprzątać po bałaganiarskim pisaniu. a teraz jeszcze wracając do wxWindows to po wstępnym przeglądnięciu dokumentacji można się zorientować jak to jest zaimplementowane bart
Technical Details
Message-ID:
<pan.2003.01.04.15.38.02.726639@wp.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!not-for-mailReferences:
<au9k17$6ft$1@news.tpi.pl> <pan.2003.01.02.17.18.02.277596@wp.pl> <slrn.pl.b1bq5c.4ld.jzgoda@kotek.home>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!not-for-mail From: "bart" <lda2@wp.pl> Newsgroups: pl.comp.lang.python Subject: Re: Close() w wxPy Date: Sat, 04 Jan 2003 16:38:04 +0100 Organization: http://news.icm.edu.pl/ Lines: 39 Message-ID: <pan.2003.01.04.15.38.02.726639@wp.pl> References: <au9k17$6ft$1@news.tpi.pl> <pan.2003.01.02.17.18.02.277596@wp.pl> <slrn.pl.b1bq5c.4ld.jzgoda@kotek.home> NNTP-Posting-Host: smaso-130.man.polbox.pl Mime-Version: 1.0 X-Trace: SunSITE.icm.edu.pl 1041695165 2743 213.241.19.130 (4 Jan 2003 15:46:05 GMT) X-Complaints-To: abuse@icm.edu.pl NNTP-Posting-Date: Sat, 4 Jan 2003 15:46:05 +0000 (UTC) User-Agent: Pan/0.13.2 (I wwwondeling why alla boppah ferra pushing in?) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit