Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DisableControl-EnableControl [D7, IB6.x]


Страницы:   1 2

fedor ©   (2005-09-03 17:20:00) 

Господа, подскажите пожалуйста, почему всетаки DisableControl-EnableControl так искажает результат пересчета суммы записей в таблице, если между отключением и включением контроля вставить перебор First-Next?


Ильш   (2005-09-08 09:20:00) [21]


> но че-то разобраться охота

не вижу смысла!!!
SQL в зубы и вперед...
ИМХО: table та еще какашка :((((


fedor   (2005-09-08 06:19:00) [22]

Слишком медленно идет пересчет (особенно на CtrlGrid) просто жопа. Естественно можно через SQL, но че-то разобраться охота, почему же так


Ильш   (2005-09-08 06:13:00) [23]

может не отключать контроль?


fedor   (2005-09-08 03:26:00) [24]

Ближе к реальности: table1-master, table2-detal
i:=0;
table1.DisableControl;
with table1 do
     begin
       table1.First;
       while not table1.EOF do
       begin
         with table2 do
           begin
             table2.First;
             while not table2.EOF do begin
               i:=i+table2['field2'];
               table2.Next;
               end;
           end;
         table1.Next;
       end;
     end;
table1.EnableControl;

По всей видимости при отключении контроля теряется связь мастер-деталь, потомучто судя по результату переход позаписям table1 происходит, в вот переход по записям table2 только в пределах тех записей, что относятся к первой записи из table1. Как бы этого избежать?


Ильш   (2005-09-07 13:46:00) [25]


> значит у тебя что то накручено в обработчиках

вот по этому поводу !!!
ты уж выкладывай все ежели хошь помощи
пока нифига непонятно


fedor   (2005-09-07 13:38:00) [26]

Процедура созданная мной. Разве это должно влиять?


Ильш   (2005-09-07 06:09:00) [27]

а вот этот код где живет? в какой процедуре?


fedor   (2005-09-06 18:42:00) [28]

Да все вроде просто:
i:=0
with table1 do
begin
 First;
 while not EOF do
 begin
   i:=i+table1['field1'];
   Next;
 end;
end;

Так вот если отключаю контроль, сумма разза в три становится больше


Ильш   (2005-09-05 06:16:00) [29]

как считаешь то сумму записей?
и что это за зверь "сумма записей"? может ты хотел сказать "количество записей"?


Prohodil Mimo   (2005-09-03 18:57:00) [30]

DisableControl-EnableControl tol'ko na skorost' podschota vlijajet


Anatoly Podgoretsky   (2005-09-03 17:23:00) [31]

Не потдверждается, значит у тебя что то накручено в обработчиках.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо