Главная страница
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.05 c
2-1146666776
De
2006-05-03 18:32
2006.05.21
Деструктор в DLL есть?


2-1146853003
I like it
2006-05-05 22:16
2006.05.21
азы


2-1146402413
Ezorcist
2006-04-30 17:06
2006.05.21
Узнать разрешение экрана


2-1146644528
Вася
2006-05-03 12:22
2006.05.21
Вычислить время работы


11-1101509068
Vladimyr
2004-11-27 01:44
2006.05.21
Delphi 2005 + KOL