Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

OLE и потоки [D5, Win95/98]


td ©   (2004-10-27 20:36:00) 

делаю так
в форме на создание подключаю ворд (97/2000)
(MsWord := GetActiveOleObject('Word.Basic');),
открываю документ + есть отдельная функция TForm1.procedure1 в которой всего одна строчка
MsWord.Insert('1');

если я вызов этой функции добавляю в onCreate, то, конечно, работает все нормально. Но мне надо, чтобы данные выводились в цикле, в таблицу, просто сейчас упрощенный пример, в котором возникает та же самая ошибка.

Поэтому на форме есть кнопка прервать, а данные выводятся почти бесконечно долго. Создаю поток, в котором пишу
While not terminated do
procedure1;

когда дело доходит до этой функции получаю ошибку OleSysEror "Не был произведен вызов Colnitialize".

Что делать?
Спасибо


GanibalLector   (2004-10-28 23:50:00) [1]

uses ActiveX;


td   (2004-10-28 23:42:00) [2]

а-аа!!
У меня еще вопрос - че надо подключить в юзез, чтобы это заработало?


td   (2004-10-27 21:05:00) [3]

ой
спасибо!


Гаврила   (2004-10-27 20:56:00) [4]

Colnitialize должен быть вызван для каждого потока, использующего COM
для главного потока программы это сделали за Вас, для дополнительного - руками


GanibalLector   (2004-10-27 20:53:00) [5]

begin
CoInitialize(nil);
... // код
CoUninitialize;
end


GanibalLector   (2004-10-27 20:50:00) [6]

> "Не был произведен вызов Colnitialize"
Дык сделать  CoInitialize и намана


Наверх

Титульная страница Поиск, карта сайта Написать письмо