Delphi неправильно передает пустые строки в технологии COM

Работая над одной программой, я заметил ошибку. Первоначально я решил, что это ошибка сервера, но, переписав пример на другой язык программирования, я понял, что сервер тут ни при чем.

В общем, я писал в Delphi программу под КОМПАС. В одном из свойств интерфейса ksRasterFormatParam нужно указывать строку. В принципе в передаче строк нет ничего сложного. Эта задача появляется регулярно и никогда никаких проблем не вызывает. Согласно, документации в данном свойстве могла быть указана пустая строка. Я решил проверить и увидел вот такую ошибку.

При непустой строке все работает как нужно. При пустой же строке возникает ошибка. Первоначально я решил, что это ошибка КОМПАС, но это было не так.

К счастью в тоже время мне понадобилась эта же программа, но на языке С++. Написав ее в C++ Builder 6, я удивился: КОМПАС корректно работал как при пустой, так и при непустой строке. Получается, что проблема не в нем. Единственным виновником остается – Delphi.

Чисто ради любопытства я решил скомпилировать программу на Delphi в Embarcadero RAD Studio 10. Там эта ошибка осталась.

Поэтому будьте осторожны.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *