Имеем функцию с несколькими аргументами-строками. Например:
MyFunc(s1;s2):=strlen(s1)+strlen(s2)
Следующий вызов работает корректно:
MyFunc("a";"bc" )
и возвращает
3. Работает вызов и с такими аргументами:
MyFunc("";"bc" )
Возвращаемое значение - 2. Но если попробовать передать несколько пустых строк, т.е.
MyFunc("";"" )
Получаем ошибку "
Элемент с тем же ключом уже был добавлен", хотя хотелось бы 0.
Причём, аналогично ситуации с функцией
row, проблему можно обойти, сохранив проблемное выражение в переменную, т.е.
foo:=""
MyFunc("";foo )
Получим долгожданный ноль. Но это паллиатив

Причём, как я отмечаю в следующей теме: сохранённую волшебную строку нельзя будет использовать дважды.
Код
foo:=""
MyFunc(foo;foo )
не работает - "
Элемент с тем же ключом уже был добавлен".