Главная страница
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.051 c
15-1145305263
Petr V. Abramov
2006-04-18 00:21
2006.05.21
На Рособразование подали в суд за введение ЕГЭ


4-1141220323
ionn
2006-03-01 16:38
2006.05.21
Как отследить момент закрытия внешнего приложения?


1-1144993529
Layner
2006-04-14 09:45
2006.05.21
Как включить меню в D7 WebDeploy


3-1143450402
solenko
2006-03-27 13:06
2006.05.21
Получение id только что вставленной записи


1-1144907581
vidiv
2006-04-13 09:53
2006.05.21
TAction.OnUpdate против эффективности