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

Вниз

Как определить что OLE automation object закончил свою работу ?   Найти похожие ветки 

 
greysers   (2005-03-10 20:58) [0]

есть такой код :

try
 try
   MSWord := GetActiveOLEObject("Word.Application");
 except
   MSWord := CreateOleObject("Word.Application");
 end;
except
 ShowMessage("Не удается запустить Microsoft Word.");
 SysUtils.Abort;
end;

D := MSWord.Documents.Open(GetEnvVariable("TEMP") + "\mstext.html");
D.SaveAs(GetEnvVariable("TEMP") + "\mstext.rft",$00000006);
MSWord.Quit;
sleep(1000);
// какие-то действия с mstext.rft


я делаю sleep(1000), чтобы Word успел сохранить файл mstext.rft, иначе у меня не будет доступа к файлу mstext.rft и будет ошибка.
Но это не совсем правильно.
Можно ли как нибудь определить, что OLE automation object ещё что-то делает (в данном случае сохраняет в файл mstext.rft)?


 
Polevi ©   (2005-03-10 21:03) [1]

а что D.SaveAs асинхронный метод ?


 
greysers   (2005-03-10 21:09) [2]

Видимо да, у меня выдает ошибку, если сразу после MSWord.Quit делаю reText.Lines.LoadFromFile(GetEnvVariable("TEMP") + "\mstext.rft");


 
Vlad ©   (2005-03-10 21:19) [3]

MSWord.Quit;
MSWord := Unassigned;


 
greysers   (2005-03-10 21:21) [4]

> Vlad ©
спасибо , помогло



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

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

Наверх




Память: 0.47 MB
Время: 0.038 c
14-1110391589
Хенд
2005-03-09 21:06
2005.03.27
Assembler


1-1110772305
NEW_USER
2005-03-14 06:51
2005.03.27
Как определить проги запускаемые из Администр->Службы?


3-1109320350
Steepe Wolf
2005-02-25 11:32
2005.03.27
MS SQL BDE или ADO ???


14-1109950702
May
2005-03-04 18:38
2005.03.27
Требуется программист делфи г. Москва


4-1107888763
ali_tash
2005-02-08 21:52
2005.03.27
есть ли фанкция аналог sleep для своего потока ?