Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
29.08.2003, 10:59
|
|||
|---|---|---|---|
Проблема инициализации 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, 12:09
|
|||
|---|---|---|---|
|
|||
Проблема инициализации COM-сервера под Delphi |
|||
|
#18+
Проблема не в инициализации COM сервера. Все же описано в сообщение об ошибке: попытка вызова метода из другого потока. На мой пьяный взгляд два выхода: 1) создавать обьяект TExcelApplication в этом же потоке тогда можешь спокойно вызывать все методы; 2) Делать маршалинг обьекта в этот поток и потом тогда его юзать. Вот так Пойду хлопну ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2003, 13:27
|
|||
|---|---|---|---|
Проблема инициализации COM-сервера под Delphi |
|||
|
#18+
Первый способ не помогает, а насчет второго, если можно, поподробней: как именно можно выполнить маршалинг объекта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2003, 14:05
|
|||
|---|---|---|---|
|
|||
Проблема инициализации COM-сервера под Delphi |
|||
|
#18+
Как это не помагает. Все должно работать. Ты как делаешь. Нужно плностью создавать ExcelApplication, открывать книгу и дальше ее использовать. Если делаешь именно так то какая ошибка. Отвечаю с запозданием (у нас в концерне праздник.....) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2117100]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 264ms |
| total: | 429ms |

| 0 / 0 |
