Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

Работа с Excel в потоке   Найти похожие ветки 

 
Вася567   (2006-05-06 10:02) [0]

Проблема вот в чем: создаю поток.
type
 TMyThread = class(TThread)
 private
   { Private declarations }
 protected
   procedure Execute; override;
 end;

implementation

procedure TMyThread.Execute;
var
 Excel: Variant;
begin
 Excel := CreateOleObject("Excel.Application");
end;


Вот так его вызываю:
procedure TForm1.Button2Click(Sender: TObject);
var
 MyThread: TMyThread;
begin
 MyThread := TMyThread.Create(True);
 MyThread.Resume;
end;


Не работает строка Excel := CreateOleObject("Excel.Application");
Причем никаких ошибок не выдает. Просто выходит из процедуры.
Хотя безо всяких поток все отлично работает:
procedure TForm1.Button1Click(Sender: TObject);
var
 Excel: Variant;
begin
 Excel := CreateOleObject("Excel.Application");
end;


Можно ли работать с Excel"ем в потоке?


 
balepa ©   (2006-05-06 10:21) [1]

CoInitialization в ActivX
CoUnitialization после завершения работы с Excel


 
balepa ©   (2006-05-06 10:25) [2]

Поправлюся

CoInitialize;
CoUninitialize


 
Вася567   (2006-05-06 10:52) [3]

Здорово! Работает! Спасибо.
А еще я нашел теорию по этому вопросу, если кому надо
http://podgoretsky.com/ftp/Docs/Delphi/DX/COMmodel.html


 
Вася567   (2006-05-06 12:03) [4]

Рано я обрадовался.
Возникли еще две проблемы
1. В потоке не работает функция ShowMessage.
2. Если включены строки CoInitialize и CoUninitialize, то не запускаются другие медоты потока с помощью Synchronize.


 
balepa ©   (2006-05-06 12:59) [5]


> Вася567   (06.05.06 12:03) [4]
> Рано я обрадовался.
> Возникли еще две проблемы
> 1. В потоке не работает функция ShowMessage.

Пользуйся MessageBox


> 2. Если включены строки CoInitialize и CoUninitialize, то
> не запускаются другие медоты потока с помощью Synchronize.


Поясните плз. А лучше кусок кода



Страницы: 1 вся ветка

Текущий архив: 2006.05.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
1-1144325619
DelphiLexx
2006-04-06 16:13
2006.05.21
Половину строки Hint a выделить жирным


2-1146743284
Andrey235
2006-05-04 15:48
2006.05.21
проблема с динамичным массивом


15-1145547611
Mozgan
2006-04-20 19:40
2006.05.21
Как обработать событие OnClick???


2-1146125189
XMAN
2006-04-27 12:06
2006.05.21
Размер mdb пугает


2-1146656387
Sco
2006-05-03 15:39
2006.05.21
Какие файлы нужно добавить в дистрибутив проги?