Нюанс: 0 или "" мы не получим из потока, если будем их проверять с помощью len(). Тогда как для кодогенератора должна быть разница между
event(onResult, 0)
и
event(onResult)
Первый вариант должен быть приоритетнее перед свойством по-умолчанию, а второй - наоборот. Уточню, в чем разница: в первом случае typeof(_data) должно быть dtInteger, во втором - dtNull.