Автор | Сообщение |
|
| |
Пост N: 22
Зарегистрирован: 22.04.15
|
|
Отправлено: 18.09.18 08:55. Заголовок: 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. ". Во-первых, неприятное ощущение, типа что опять случилось , во-вторых, в связи с чем было принято решение полной замены, и какие плюсы от этого имеем, и в третьих, разница - требуется чуток изменить, или придется переписывать код?
|
|
|
Новых ответов нет
[см. все]
|
|
|
| Администратор
|
Пост N: 3801
Зарегистрирован: 23.05.05
|
|
Отправлено: 18.09.18 12:24. Заголовок: hmg содержал очень у..
hmg содержал очень устаревшую библиотеку hbole с классом TOleAuto, и стандартную библиотеку хаобора hbwin с аналогичными средствами работы с объектами ole, только значительно доработанными и содержащими дополнительные возможности. Естественно, предпочтительнее использовать новые средства, поэтому старую библиотеку hbole убрали. Разница между ними в инициализации объектов. Собственно можно сделать команды препроцессора вроде: #xtranslate TOleAuto():new(<c>) => win_oleCreateObject( <c> ) и не менять свои сырцы
|
|
|
|
| |
Пост N: 4
Зарегистрирован: 14.05.10
|
|
Отправлено: 21.09.18 12:40. Заголовок: Pasha пишет: hmg со..
Pasha пишет: цитата: | hmg содержал очень устаревшую библиотеку hbole с классом TOleAuto, и стандартную библиотеку хаобора hbwin с аналогичными средствами работы с объектами ole, только значительно доработанными и содержащими дополнительные возможности. |
| А можно чуть подробнее про дополнительные возможности? Спасибо
|
|
|
|
| Администратор
|
Пост N: 3802
Зарегистрирован: 23.05.05
|
|
Отправлено: 21.09.18 13:51. Заголовок: Из харбора старую ре..
Из харбора старую реализацию (а это и есть hbole) убрали еще в 2009-м году, в hmg она как раз и сохранилась, и что там за 9 лет появилось - наверное много чего. Сразу напрашивается назвать поддержку уникода, лучшую поддержка всяких разных типов Variant. Из последнего: год назад добавилась поддержка двумерных массивов, позволяющая в экселе одной командой заполнять данными диапазон ячеек. Есть набор дополнительных функций, но не скажу, есть ли мануал для них. Примеры использования можно посмотреть в папке tests
|
|
|
|
| |
Пост N: 23
Зарегистрирован: 22.04.15
|
|
Отправлено: 17.01.19 23:50. Заголовок: Подключил HbOle... и..
Подключил HbOle... и поперло ошибки, к примеру, дают ошибки при: 1. oList:Range( "A11:C11" ):Set( "VerticalAlignment", -4108 ) пришлось везде изменить на выражение oList:Range( "A11:C11" ):VerticalAlignment := -4108 то есть Set() не прокатывает, также и для Get() 2. Также если дата пустая, то также выдается ошибка oList:Cells( 09, 02 ):Value := CToD('') очень неудобно, приходится постоянно проверять дату If(Empty(DAT),'',DAT) ... то что нашел в данный момент В итоге, "простое" изменение TOleAuto... -> win_ole... не проходит, приходится опять лопатить/пересматривать код *какие еще грабли в дальнейшем... )
|
|
|
|
| постоянный участник
|
Пост N: 6162
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.01.19 18:04. Заголовок: Новичок пишет: прих..
Новичок пишет: цитата: | приходится опять лопатить/пересматривать код |
| Никуда от от этого не деться. Сам перелопачивал свои исходники.
|
|
|
|