Форум » [x]Harbour » TOleAuto -> win_ole ? *for Excel » Ответить

TOleAuto -> win_ole ? *for Excel

Новичок: Я постоянно использовал TOleAuto ... для работы с Excel (версия 18.01), в один прекрасный момент скачал последнее обновление версии hmg-18.08, и поперло куча ошибок при взаимодействии с Excel, пришлось откатить на версию 18.01 и посмотреть что же случилось, оказывается начиная с версии 18.05 было заменено: " using of win_OleAuto class from hbwin library instead of TOleAuto class from HbOle library. ". Во-первых, неприятное ощущение, типа что опять случилось , во-вторых, в связи с чем было принято решение полной замены, и какие плюсы от этого имеем, и в третьих, разница - требуется чуток изменить, или придется переписывать код?

Ответов - 3

Pasha: hmg содержал очень устаревшую библиотеку hbole с классом TOleAuto, и стандартную библиотеку хаобора hbwin с аналогичными средствами работы с объектами ole, только значительно доработанными и содержащими дополнительные возможности. Естественно, предпочтительнее использовать новые средства, поэтому старую библиотеку hbole убрали. Разница между ними в инициализации объектов. Собственно можно сделать команды препроцессора вроде: #xtranslate TOleAuto():new(<c>) => win_oleCreateObject( <c> ) и не менять свои сырцы

Perec: Pasha пишет: hmg содержал очень устаревшую библиотеку hbole с классом TOleAuto, и стандартную библиотеку хаобора hbwin с аналогичными средствами работы с объектами ole, только значительно доработанными и содержащими дополнительные возможности. А можно чуть подробнее про дополнительные возможности? Спасибо

Pasha: Из харбора старую реализацию (а это и есть hbole) убрали еще в 2009-м году, в hmg она как раз и сохранилась, и что там за 9 лет появилось - наверное много чего. Сразу напрашивается назвать поддержку уникода, лучшую поддержка всяких разных типов Variant. Из последнего: год назад добавилась поддержка двумерных массивов, позволяющая в экселе одной командой заполнять данными диапазон ячеек. Есть набор дополнительных функций, но не скажу, есть ли мануал для них. Примеры использования можно посмотреть в папке tests




полная версия страницы