Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема инициализации COM-сервера под Delphi
|
|||
|---|---|---|---|
|
#18+
Создается несколько Thread'ов, в одном из тредов создается Excel := TExcelApplication.Create... Далее в Excel происходит добавление листа в рабочую книгу ( var Book: Variant; Sheet: Variant; . . . Sheet := Book.Sheets.Add; //Book связан с текущей рабочей книгой Excel ), и именно в этом месте возникает ошибка: (EOleSysError) The application called an interface that was marshalled for different thread. В чем причина? Как победить эту ошибку при использовании нескольких нитей? P.S. При создании всех тредов используется CoInitializeEx( nil, COINIT_MULTITHREADED). Если обойтись без вызова CoInitializeEx, то возникает ошибка: CoInitialize was not been called. ОС: Windows 2000 Server, Delphi 6.0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2003, 10:59 |
|
||
|
Проблема инициализации COM-сервера под Delphi
|
|||
|---|---|---|---|
|
#18+
Проблема не в инициализации COM сервера. Все же описано в сообщение об ошибке: попытка вызова метода из другого потока. На мой пьяный взгляд два выхода: 1) создавать обьяект TExcelApplication в этом же потоке тогда можешь спокойно вызывать все методы; 2) Делать маршалинг обьекта в этот поток и потом тогда его юзать. Вот так Пойду хлопну ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2003, 12:09 |
|
||
|
Проблема инициализации COM-сервера под Delphi
|
|||
|---|---|---|---|
|
#18+
Первый способ не помогает, а насчет второго, если можно, поподробней: как именно можно выполнить маршалинг объекта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2003, 13:27 |
|
||
|
Проблема инициализации COM-сервера под Delphi
|
|||
|---|---|---|---|
|
#18+
Как это не помагает. Все должно работать. Ты как делаешь. Нужно плностью создавать ExcelApplication, открывать книгу и дальше ее использовать. Если делаешь именно так то какая ошибка. Отвечаю с запозданием (у нас в концерне праздник.....) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2003, 14:05 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32251025&tid=2117100]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 267ms |
| total: | 412ms |

| 0 / 0 |
