Форум: "Основная";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
ВнизКак определить что 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c