Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2007-07-11 22:42:10 ЛС | профиль | цитата
Galkov писал(а):
Ну расскажи тогда, чего знает элемент StrCat в вышеприведенном примере

StrCat в приведенном примере знает, что его внутренняя переменная может меняться в любое время за счет того, что присутствует и считывание и запись.

Galkov писал(а):
Можно ли конкретно в однопроходном варианте предложить схему для разрешения этого конфликта именно в этом примерчике, с двумя StrCat..

да. Схему уже описал выше:
1) Верхний StrCat выдает данные с нижней точки с признаком Volatile
2) Hub перед трансляцией данных на правые точки проверяет наличие этого признака
3) если признак есть, то данные в хабе буферизируются
4) в итоге получаем код:

procedure onClick();
begin
hub_data := s1 + 55;
s1 := hub_data + 222;
Message(hub_data);
end;

то, что это защита от дурака взамен качества - я понимаю прекрасно. Конечно же нужно иметь счетчики использований и присваиваний для выполнения тех же самых операций, но в самих элементах, пораждающих такие данные.
карма: 27
0