![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Excel + Delphi совмесный доступ [XP]
Oleg_teacher © (2011-01-13 22:54:00)Пишу приложение которое обрабатывает ексель файл:
excell_ap:=CreateOleObject('Excel.application');
excell_ap.Visible:=False;
excell_doc:=excell_ap.workbooks.OPEN(s);
excell_sh:=excell_doc.worksheets[1];
потом идут строки обработки ячеек листа
например там....s:=excell_sh.Cells.Item[i,j].Value;
excell_doc.Close(0);
Проблема в следующем... у меня обработка етих данных может занять несколько минут или секунд. И если я во время выполнения сам вручную запущу какую нибуть книга и начну ее редактировать то моя прога вываливает ошибку. Как можна етого избежать?
project proga.exe raised exception class EolesysError with message 'Вызов был отклонен'
Cobalt (2011-01-14 15:50:00) [1]В 2007-ом такая же фигня - как только начинаешь редактировать ячейку (активируешь поле ввода, а не копируешь/вставляешь) - так сразу отрубается XLApplication
Cobalt (2011-01-14 15:48:00) [2]exception class EolesysError with message 'Вызов был отклонен'
попробуй создавать новый Application, а не подключатся к существующему
И на время работы его скрывать и делать недоступным пользователю
XLApplication.EnableEvents := False
Сергей М. (2011-01-14 13:43:00) [3]
> Oleg_teacher (14.01.11 01:34) [7]
>
> дело не в офисе?
Именно в Офисе.
По кр.мере влоть до 2000.
Грабли опоробовал лично)
Anatoly Podgoretsky (2011-01-14 12:23:00) [4]> KilkennyCat (14.01.2011 01:09:04) [4]
АгаЮ надо менять БП
Германн (2011-01-14 01:45:00) [5]
> Oleg_teacher (14.01.11 01:34) [7]
>
> то есть дело не в офисе?
Первое правило программиста - все ошибки мои!
А дальше есть отладчик.
Oleg_teacher (2011-01-14 01:34:00) [6]то есть дело не в офисе? Спс, за помощь... буду тогда смотреть.
Германн (2011-01-14 01:27:00) [7]
> Oleg_teacher (14.01.11 00:59) [3]
>
> совершенно верно ето даже не та самая книга!!! Ошибка может
> не сразу вылезти, может бывает часто нада 10-20 сек. че
> то поисправлять в открытом "вручную" документе.
>
Значит (на 99%) ошибка в программе. Но где и какая - тебе искать. Бог в помощь!
Oleg_teacher (2011-01-14 01:16:00) [8]смотрел на 3 машинах при офисе 2003 и офисе 2007.
KilkennyCat (2011-01-14 01:09:00) [9]а, я невнимательно прочитал, акцентируясь на ошибке.
с 2003 офисом такой проблемы не наблюдал. мож аппаратно-рограммное что-то... тестировалось на одной машине, или на других тож самое?
Oleg_teacher (2011-01-14 00:59:00) [10]совершенно верно ето даже не та самая книга!!! Ошибка может не сразу вылезти, может бывает часто нада 10-20 сек. че то поисправлять в открытом "вручную" документе.
Германн (2011-01-14 00:50:00) [11]
> вообще-то странно.
Даже ещё более странно. Ибо в вопросе неявно подразумевается что прога и отдельно Ексель работают с совсем разными документами.
KilkennyCat (2011-01-14 00:46:00) [12]вообще-то странно. при работе через оле, я предполагал, должно делаться офисом риад-онли запускаемому файлу второй раз.
может, для этого надо что-то специально указать...
лично я бы посоветовал нативную работу с файлом, если сие позволительно. правда, бесплатных компонент не встречал.