🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#346209
From: Krzysztof Szyszka
Date: Wed, 29 Nov 2017 16:29
32 lines
3063 bytes
> Coś w tym stylu.
> Procedury wyliczają różne wyniki, składają dane z innych funkcji itp. a użytkownik ma możliwość
> ich odświeżenia na żądanie.
> W tym samym czasie ma podgląd na inne wyniki które aktualizują się samoczynnie co podany czas.
>
> Dla tego muszę to robić wielowątkowo aby nie ścinać interfejsu użytkownikowi kiedy coś sobie w nim
> dłubie (np. ustala parametry wywołania procedury) a równocześnie w tle aktualizują się inne
> procedury.

Jeśli te dane służą tylko do oglądania w DBGridzie (bez edycji w DBGridzie) i mają się odświeżać bez
angażowania głównego wątku, to najprościej będzie zrobić podwójne buforowanie DataSetów.

Jeden DataSet cały czas jest podłączony do DBGrida i pozwala przeglądać dane, a żądanie odświeżenia
powoduje pobranie tych samych danych w wątku pobocznym do drugiego DataSet. Jak wątek skończy
działanie (pobierze wszystkie dane) to informuje wątek główny, że można podmienić DataSety i 
podłaczyć
do DBGrida ten odświeżony, a ten pierwszy DataSet można zamknąć.

To jest taka kosztowniejsza pamięciowo (ale prosta do realizacji) wersja rozwiązanie, które na 
początku
podał Wloochacz z doczytywaniem jedynie danych, które się zmieniły, ale tu nie musisz wiedzieć, co 
się
zmieniło w danych.

-- 
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: <ovmn9a$p91$1@node1.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> <7ae9b286-cfde-4cab-8bba-c6829ec96fb3@googlegroups.com> <a1ca8125-7a54-44b0-be4e-421de20f30a4@googlegroups.com> <17fe2459-d364-46e7-acfc-b06a7426729b@googlegroups.com> <qxwr85a6zbng$.dlg@tyczka.com> <234d29d0-72e3-479a-9f93-2ede15cf1b60@googlegroups.com> <2w5nwt3jfl2j.dlg@tyczka.com> <47effe36-e053-4ee5-855c-59220c83e516@googlegroups.com> <11c4sao2ninoo.dlg@tyczka.com> <a2dc7c6d-b99a-42f6-948c-46d113963fea@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: Wed, 29 Nov 2017 17:29:16 +0100
Organization: ATMAN - ATM S.A.
Lines: 33
Message-ID: <ovmn9a$p91$1@node1.news.atman.pl>
References: <90a4ea00-38f5-45fc-b22c-7db238f908e2@googlegroups.com> <7ae9b286-cfde-4cab-8bba-c6829ec96fb3@googlegroups.com> <a1ca8125-7a54-44b0-be4e-421de20f30a4@googlegroups.com> <17fe2459-d364-46e7-acfc-b06a7426729b@googlegroups.com> <qxwr85a6zbng$.dlg@tyczka.com> <234d29d0-72e3-479a-9f93-2ede15cf1b60@googlegroups.com> <2w5nwt3jfl2j.dlg@tyczka.com> <47effe36-e053-4ee5-855c-59220c83e516@googlegroups.com> <11c4sao2ninoo.dlg@tyczka.com> <a2dc7c6d-b99a-42f6-948c-46d113963fea@googlegroups.com>
NNTP-Posting-Host: 89-77-104-79.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: node1.news.atman.pl 1511972970 25889 89.77.104.79 (29 Nov 2017 16:29:30 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Wed, 29 Nov 2017 16:29:30 +0000 (UTC)
In-Reply-To: <a2dc7c6d-b99a-42f6-948c-46d113963fea@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