🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #21676

Re: Własne okno dialogowe singleton, wywoływane z wątków?

#21676
From: Łukasz 'Maly' Ostrowski
Date: Fri, 09 Jul 2010 11:04
42 lines
2895 bytes
On Fri, 9 Jul 2010 12:48:16 +0200, gomis wrote:
>> P.s. Czemu to jest właściwie Singleton?
> Nie jest w szczególny sposób przywiązany do Singleton, ale .... pisałem 
> dotychczas w Delphi i nie potrafię jeszcze myśleć w C#. Mam takie nawyki z 
> D. by budować globalne formatki w tym przypadku okno typu ShowMessageBox. 

Delphi powoduje całą mase złych nawyków ;-). Począwszy od globalnego:
var
  frmMain : TMainForm;
aż po:
- Na której zakładce znajdę komponent do dodawania, oraz, na której
  jest komponent TQuake3Engine? ;-)


> Chętnie poznam nowe i zapewne lepsze rozwiązanie.
> Tak jak pisałem wcześnie chcę wyrzucać txt na swoje okno dialogowe. Własne 
> ikony typu yes,now ... itp.

Może lepiej powiadom okno głowne żeby coś wyswietliło? Później
troche synchronizacji i wątek poboczny może "poczekać" na 
Yes/No/Cancel z wątku UI.

> Potrzeba wyświetlenia komunikatu może pojawić się w różnych wątkach. Czasem 
> może powstać sytuacją, że jeden wątek wyświetli komunikat a użytkownik nie 
> zamknął okna a drugi wątek może "chcieć" zaktualizować tekst.

Otóż to, z Singleton'em będzie taki problem. Jest jeszcze jeden 
problem nawet jeżeli nie będzie Singletonem, jesteśmy przyzwyczajeni 
że takie dialogi są modalne, co się stanie jeżeli dwa wątki pokrzykną
"Pokaż Yes/No"? Pokazać dwa osobne okna? Kolejkować requesty i
pokazywać dialogi po kolei? A może ten dialog nie musi być modalny,
i można ich pokazać 4 naraz nie blokując aktywności okna rodzica?

A może wątek poboczny w ogóle nie potrzebuje żadnych dialogów
wyświetlać, tylko design architekturalny jest nietrafiony ;-)? (Czarny 
scenariusz ;-))

Znowu, mocno zależne od specyfiki aplikacji.

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.pl/
Technical Details
Message-ID: <1kiaznfyb7y4e$.1qapzsrkhzesd.dlg@40tude.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!news.nask.pl!news.nask.org.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!news.dialog.net.pl!not-for-mail
References: <i16n72$pkd$1@news.task.gda.pl> <145nh32fpp3hh.pzydy3jgp3q4$.dlg@40tude.net> <i16upn$flp$1@news.task.gda.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!news.nask.pl!news.nask.org.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!news.dialog.net.pl!not-for-mail
From: Łukasz 'Maly' Ostrowski <maly@USUNnemo.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: Własne okno dialogowe singleton,
 wywoływane z wątków?
Date: Fri, 9 Jul 2010 13:04:40 +0200
Organization: Acme
Lines: 42
Message-ID: <1kiaznfyb7y4e$.1qapzsrkhzesd.dlg@40tude.net>
References: <i16n72$pkd$1@news.task.gda.pl> <145nh32fpp3hh.pzydy3jgp3q4$.dlg@40tude.net> <i16upn$flp$1@news.task.gda.pl>
NNTP-Posting-Host: static-78-9-71-129.ssp.dialog.net.pl
Mime-Version: 1.0
X-Trace: news.dialog.net.pl 1278673494 15962 78.9.71.129 (9 Jul 2010 11:04:54 GMT)
X-Complaints-To: abuse@dialog.net.pl
NNTP-Posting-Date: Fri, 9 Jul 2010 11:04:54 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit