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

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

Даже не знаю как тему назвать [D6, WinXP]


Hadroran ©   (2006-08-08 12:37:00) 

Проблема непонятна в корне. Есть код

mcp: Variant;
...
          if (VarIsEmpty(mcp)) then
             mcp:=CreateOleObject('WinCC-Runtime-Project');
          if (not VarIsEmpty(mcp)) then
             Edit1.Text:=mcp.GetValue('TagName_1');

который работает по нажатию кнопки.
Но как только этот код пытается выполниться в потоке
на коде mcp:=CreateOleObject('WinCC-Runtime-Project');
заканчивается выполнение потока.
Этот код прописал по нажатию кнопки - работает при физическом нажатии кнопки, но как только я из потока вызываю событие FormGlava.Button6Click(Self);- теже кокони. Что можно сделать?


Hadroran   (2006-08-08 13:43:00) [1]

вот, понял не дурак
спасибо, теперь буду знать, в книге блиннениписанонихрена


Ketmar   (2006-08-08 13:29:00) [2]

> [7] Hadroran   (08.08.06 13:26)

для каждого потока, где юзают OLE/COM, надо делать CoInitialise(). о чем тебе и сказали в [3].


MBo   (2006-08-08 13:28:00) [3]

CoInitialize(nil) нужно вызывать в каждом потоке, работающем с OLE (для главного это уже автоматически сделано при подключении библиотек)


Hadroran   (2006-08-08 13:26:00) [4]

ребята реально читаю, но не пойму как приинициализировать, что написать


Сергей М.   (2006-08-08 13:25:00) [5]

try
mcp:=CreateOleObject('WinCC-Runtime-Project');
..
except
on e:Exception do
  MessageBox(0, PChar(e.Message), 'Ашипка'б mb_ok or mb_setforeground);
end;

читай текст "ашипки", вникай, копайся в справке, принимай меры.


Ketmar   (2006-08-08 13:22:00) [6]

> [4] Hadroran   (08.08.06 13:19)

тогданаверноеполезночитатьсправку.


Hadroran   (2006-08-08 13:19:00) [7]

клевононихренанепонятно


Reindeer Moss Eater   (2006-08-08 13:13:00) [8]

КоуИнициалайз


Hadroran   (2006-08-08 13:12:00) [9]

>Reindeer Moss Eater

а как сие сделать?
Я так понял, что этот код
 if (VarIsEmpty(mcp)) then
     mcp:=CreateOleObject('WinCC-Runtime-Project');

надо написать при создании потока?


Reindeer Moss Eater   (2006-08-08 12:41:00) [10]

не проинициализировано оле для вторичного потока


Наверх

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