Форум: "Основная";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];
ВнизРабота с Excel через OLE Найти похожие ветки
← →
Koloto (2003-06-27 09:14) [0]Приложение (правда, на Билдере 5.0) создает объект Excelя и работает с ним. После конца работы (даже после закрытия приложения) Ексель остается открытым, чтоб юзер мог посмотреть, что там прога натворила.
Приложение многопоточное, объект Екселя создается через CreateOleObject, вся работа с ним ведется через Variant путем вызова OLE-шных функций и свойств, все внутри одного потока.
Пока Ексель остается открытым, все работает отлично. Но как только юзер закрывает его (независимо от того, открыто еще приложение или нет), вылетает ошибка:
"Инструкция по адресу ... обратилась к памяти по адресу ... Память не может быть "read" "
Не подскажите, в чем может быть проблема?
← →
kudatsky (2003-06-27 09:24) [1]Если у тебя Excel 97, инстолируй Excel 97 SR2,
а лучше 2000
← →
andrey_pst (2003-06-27 10:49) [2]ссылки на все объекты Excel"я убиваешь ?
например,
xlsApp := UnAssigned;
← →
Koloto (2003-06-27 12:05) [3]Спасибо всем.
Проблема решилась путем использования OleInitialize / OleUninitialize. Оказывается при работе с OLE в многопоточном приложении надо вызывать эти функции.
Интересно, что в борландовском хелпе (по крайней мере к Билдеру 5.0) ничего про это не сказано.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.009 c