1

Тема: Как оптимизировать код на Delphi для успешного обновления версий TCS

Добрый день!
После перехода на TCS 6.3, т.к. изменилась структура, для макросов возникла необходимость изменять ранее разработанные программы на Delphi.
Например, команду

Files := Doc.Properties[[b][i]35[/i][/b]].AsIDispatch;

пришлось менять на

Files := Doc.Properties[[b]39[/b]].AsIDispatch;

На будущее хотелось бы отказаться от указания индекса и сразу указывать наименование поля, в данном случае FILES.
Как правильно это реализовать в Delphi?

2 (изменено: Дмитрий Гамий, 25-06-2014 17:32:19)

Re: Как оптимизировать код на Delphi для успешного обновления версий TCS

Добрый день!

snake пишет:

На будущее хотелось бы отказаться от указания индекса и сразу указывать наименование поля, в данном случае FILES.
Как правильно это реализовать в Delphi?

Используйте наименования полей, а не их индексы:

Files := Doc.Properties['FILES'].AsIDispatch;
Спасибо сказали: snake1

Re: Как оптимизировать код на Delphi для успешного обновления версий TCS

Мы стараемся не изменять  имена свойств, чтобы не поломать уже работающие программы. Даже если свойство исчезнет, в АПИ будет заглушка (хотя поведение заглушки может конечно измениться, но стараемся  более менее привести к ее первоначальному поведению). С индексами конечно сложнее, тут рассчитывать сложно на них, тем более часть свойств в принципе может быть динамическими.

Спасибо сказали: snake1

4

Re: Как оптимизировать код на Delphi для успешного обновления версий TCS

Дмитрий, спасибо! Подтвердили замену на ['FILES'] и развеяли мои сомнения. Так поняла, что, наша проблема была связана не с заменой [35]->[39]->['FILES'], а с еще другим местом кода Delphi. Сейчас все ОК.

Олег, спасибо за разъяснение. Будем использовать имена свойств.