🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #346194

Re: Problem z synchronizacją wątków i DB

#346194
From: Krzysztof Szyszka
Date: Fri, 24 Nov 2017 22:00
33 lines
2627 bytes
> > A może prymitywnie nie wykonywać Refresh w wątku tylko
> > timerem na głównej formie?
>
> Opanowałem problem w ten sposób że w formie głównej stworzyłem tablicę obiektów tego typu:
>
> Metody : Array of TDatasetNotifyEvent;
>
> W wątku wyłączam metody tak jak opisałem na początku a dodatkowo dodaje do tablicy Metody - metodę
> która chciała się wykonać w wątku (po zakończeniu wykonywania zapytania) ale została wyłączona
> czyli AfterRefresh lub AfterOpen.

> W formie głównej jest timer odpalany co 100ms który sprawdza czy są jakieś metody w tablicy i je
> wykonuje.
> Dzięki temu wątki zajmują się tylko wykonaniem zapytania a forma główna wykonuje resztę (metody
> AfterOpen/ AfterRefresh) które ingerują w treści na formie głównej a nie są dużym obciążeniem dla
> wątku głównego aplikacji.
>
> Tak na szybko takie rozwiązanie mi wystarcza.

Jeśli ten DataSet odświeżany w wątku ma jakiekolwiek połączenie przez DataSource z kontrolkami 
wizualnymi
w głównym wątku, to wszystkie zdarzenia z DataSet docierają bez synchronizacji do kontrolek 
wizualnych
niezależnie od tego, jakie zdarzenia odłączysz w wątku. Reszty domyśl się sam :-)

-- 
pozdrowienia
Krzysztof Szyszka, X-Files Software
Developer of X-DBGrid Component
Embarcadero Technology Partner
http://www.x-files.pl/
Join to "Delphi X-DBGrid Component Community"
https://plus.google.com/#communities/100842098152269100547 
Technical Details
Message-ID: <ova4qv$dtk$1@node2.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <90a4ea00-38f5-45fc-b22c-7db238f908e2@googlegroups.com> <5a167ca4$0$5158$65785112@news.neostrada.pl> <94113bbf-b9d6-44cd-b316-47e127467ecb@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: "Krzysztof Szyszka" <nomail@gazeta.pl>
Newsgroups: pl.comp.lang.delphi
Subject: Re: Problem z synchronizacją wątków i DB
Date: Fri, 24 Nov 2017 23:00:48 +0100
Organization: ATMAN - ATM S.A.
Lines: 34
Message-ID: <ova4qv$dtk$1@node2.news.atman.pl>
References: <90a4ea00-38f5-45fc-b22c-7db238f908e2@googlegroups.com> <5a167ca4$0$5158$65785112@news.neostrada.pl> <94113bbf-b9d6-44cd-b316-47e127467ecb@googlegroups.com>
NNTP-Posting-Host: 89-77-104-79.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1511560863 14260 89.77.104.79 (24 Nov 2017 22:01:03 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Fri, 24 Nov 2017 22:01:03 +0000 (UTC)
In-Reply-To: <94113bbf-b9d6-44cd-b316-47e127467ecb@googlegroups.com>
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 16.4.3528.331
X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit