Вниз
Скачать: CL | DM;

Stack overflow   Найти похожие ветки 

 
просто_человек   (2006-10-25 15:55) [0]

Здравствуйте все!
Такой нехитрый вопросик имеется:
Нужно чтоб некоторая процедура выполнялась непосредственно при изменении значения ячейки...
Пробую так:
procedure TForm4.Table1ZakazChange(Sender: TField);
begin
table1.IndexFieldNames:="Zakaz"/например/
end;

Говорит - Stack overflow...
как правильно это сделать? Я наверное туплю, но подскажите плиз


 
Reindeer Moss Eater ©   (2006-10-25 15:58) [1]

Собака поймала саму себя за хвост и не может отцепиться.


 
просто_человек   (2006-10-25 16:04) [2]

информативно блин...
P.s. процедура поставлена на event table1Zakaz.OnChange


 
Desdechado ©   (2006-10-25 16:06) [3]

> некоторая процедура выполнялась
Не все процедуры такое допускают.


 
Reindeer Moss Eater ©   (2006-10-25 16:08) [4]

событие вызывается не только при редактировании значения поля, но и вообще при смене значения поля. Например при смене позиции курсора.

Это вызывает смену активного индекса, что вызывает смену текущей записи, что вызывает смену сзначения поля и вызывает обработчик. Это вызывает смену активного индекса, что вызывает смену текущей записи, что вызывает смену сзначения поля и вызывает обработчик. Это вызывает смену активного индекса, что вызывает смену текущей записи, что вызывает смену сзначения поля и вызывает обработчик. Это вызывает смену активного индекса, что вызывает смену текущей записи, что вызывает смену сзначения поля и вызывает обработчик. Это вызывает смену активного индекса, что вызывает смену текущей записи, что вызывает смену сзначения поля и вызывает обработчик. Это вызывает смену активного индекса, что вызывает смену текущей записи, что вызывает смену сзначения поля и вызывает обработчик .....


 
просто_человек   (2006-10-25 16:23) [5]

=))) Непонятно, но забавно...
А подскажите тогда как правильно сделать?)


 
Reindeer Moss Eater ©   (2006-10-25 16:28) [6]

Кто бы еще знал как оно - правильно-то.
У тебя разве неправильно?


 
Stanislav ©   (2006-10-25 16:33) [7]

просто_человек   (25.10.06 16:23) [5]

У тебя в событии, опять срабатывает обработчик вызова того же события.
Получается переполнение стека.
Нужно вызывать эту процедуру на другое событие.


 
Anatoly Podgoretsky ©   (2006-10-25 16:38) [8]

Убей собаку.


 
просто_человек   (2006-10-25 16:42) [9]

аааа))) Понял))) Просто неудачный пример))) т.е. получается он вызываеь себя снова после упорядочивания чтоли?

А тогда еще такой вопрос:
Как мне занести в некоторую пересенную то значение, которое было в ячейке до смены? После смены то понятно: a:=Table1zakaz.AsInteger(например)


 
Anatoly Podgoretsky ©   (2006-10-25 16:59) [10]

Это уже другой вопрос, задай его в отдельной ветке.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.048 c
15-1166734558
tesseract
2006-12-21 23:55
2007.01.14
все благодарности - Павлу, плакалъ :-)


15-1167066549
ocean
2006-12-25 20:09
2007.01.14
Программа кодирования папки


2-1167108951
4ert
2006-12-26 07:55
2007.01.14
jump to adress


15-1166602464
Layner
2006-12-20 11:14
2007.01.14
Выбрать монитор, или 20" или 17"


2-1166994275
Slimer
2006-12-25 00:04
2007.01.14
Прерывание выполнения процедуры




   Наверх