Article View: pl.comp.lang.delphi
Article #346194Re: Problem z synchronizacją wątków i DB
From: Krzysztof Szyszka
Date: Fri, 24 Nov 2017 22:00
Date: Fri, 24 Nov 2017 22:00
33 lines
2627 bytes
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-mailReferences:
<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