Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2016-07-22 15:20:01 ЛС | профиль | цитата
nesco писал(а):
И на кой черт имитировать то, что уже давно сделано

У мене есть гипотеза
Могу ошибаться, конечно же, но - все-таки. Типа -- экстрасенсорика.
Сначала было просто:
#pas
procedure THIButton._OnClick;
var dt:TData;
begin
dt := ReadData(dt, _data_Data, @_prop_Data);
_hi_OnEvent(_event_onClick, dt);
end;
Оно типа работает.
Но, падает (сцуко) при не подключенной верхней точке (и пустых данных свойства).
Тут бы взять, и разобраться -- ПОЧЕМУ (вообще-то, из-за неинициализированных в dt данных).
Но нет, срабатывает рефлекс КИП-овца -- притулить детальку, и посмотреть: а вдруг заработает.
Притулил (эти команды только при "подключенном", а иначе - "по старому") -- типа заработало.

Тут две логические ошибки (разные "позиции", так сказать):
1) Вывод надо делать из знания, а не из незнания.
Сначала надо понять почему падает, и потом принимать кодовые решения. А не наоборот.
2) Тестирование может доказать наличие ошибки, но не их отсутствие
Упало - точно есть ошибка. Не упало - не говорит НИ О ЧЕМ.

А про рефлексы КИП-овцев я могу говорить профессионально. Просто работа такая: порой, просто нет физической возможности разобраться во всем до конца.
Например - просто напрочь отсутствуют схемы изделия. Или: нет ни времени, ни оборудования.
Опять же: если оно не работает - значит чего-то сломалось. И твоя работа - найти и заменить, в кратчайшее время (народ-то простаивает)
Работа просто провоцирует "угадаловку" (или - "притулить детальку").
Тем более, что т.н. "ошибки разработчика" - не твоя зона ответственности.
карма: 9

0