![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Несинхронность OnSetText
DelphiLexx © (2007-08-03 18:01:00)У меня есть два DBGridEh'a (DBGridEh1, DBGridEh2) во 2-ом гриде есть колонка, в котором выставляются checkbox'ы, при выставлении checkbox'a происходит добавление записи, при снятии удалении записи из 1-ого грида, при выставление checkbox'a во 2-ом гриде срабатывает OnSetText. Так вот если очень быстро кликать по checkbox'ам, то может получиться, что мы сняли checkbox, а запись из первого грида не удалилась. Как заблокировать на время работы OnSetText DBGridEh2.MouseUp, чтобы не было повторных вхождений. В OnSetText'e разместил код:
PROC_ST := Sender.OnSetText;
Sender.OnSetText := nil;
DBGridEh2.DataSource.DataSet.DisableControls;
try
///здесь делаем добавление записи в DBGridEh1
finally
DBGridEh2.DataSource.OnDataChange := PROC_DC;
DBGridEh2.DataSource.DataSet.EnableControls;
Sender.OnSetText := PROC_ST;
end;
DelphiLexx (2007-08-06 09:50:00) [1]
> Как идея
Не помагает делал даже так:
...
OldRecCount := MainDS.RecordCount;
if Text = '1' then
NewRecCount := OldRecCount + 1
else
NewRecCount := OldRecCount - 1;
PerformSelection(Text <> '1');
while (MainDS.RecordCount <> NewRecCount) do sleep(100);
Sender.AsString := Text;
...
DelphiLexx (2007-08-06 09:48:00) [2]Удалено модератором
Примечание: Обсуждение модерирования
DelphiLexx (2007-08-04 12:05:00) [3]Где я возьму CheckBox1Click, у меня DBGrid'Eha. Надо как-то синхронизировать эти два DBGridEh'a с их DataSet'ами.
Lacmus (2007-08-04 09:29:00) [4]>DelphiLexx © (03.08.07 18:01)
Как идея
{$J+}
procedure TForm7.CheckBox1Click(Sender: TObject);
const
bLock: Boolean = False;
begin
if not bLock then begin
bLock := True;
try
Label1.Caption := Label1.Caption + '1';
Sleep(3000);
Application.ProcessMessages
finally
bLock := False
end
end
end;
Виталий Панасенко(дом) (2007-08-03 21:37:00) [5]Стреляться!...Датасетам...
DelphiLexx (2007-08-03 20:33:00) [6]
> не путай процедурный и событийный подход
> и вообще какая-то извращенная логика - закольцованность
> датасетов
Ну и какие варианты предлагаешь?
Вася Правильный (2007-08-03 20:22:00) [7]не путай процедурный и событийный подход
и вообще какая-то извращенная логика - закольцованность датасетов