🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #444

Re: Close() w wxPy

#444
From: bart
Date: Sat, 04 Jan 2003 15:38
37 lines
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-mail
References: <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