Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не могу запустить Word [D5, Win95/98, Win2k]


poratora ©   (2002-11-09 08:41:00) 

хочу запустить word и открыть файл. делаю так
----------------------

uses comobj,word97,oleserver;

...

var: wa1: TWordApplication;
fn:olevariant;
...
begin
fn:="test.doc";
wa1:=CreateOleObject("Word.Application");
wa1.AutoConnect:=true;
wa1.AutoQuit:=true;
wa1.ConnectKind:=ckRunningOrNew;

wa1.documents.Open
(fn,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam);

и получаю такую ошибку:

project raised exception class EOleSysError with message "Не был произведен вызов CoInitialize".

....


---------------------
Где руки мои искривились? Если выкладывать на форму компоненту с закладки servers, то все
нормально работает. А вот так - ошибка. Где смотреть?


TTCustomDelphiMaster   (2002-11-09 10:50:00) [1]

try
CoInitializeEx(nil, COINIT_APARTMENTTHREADED);
// Работаем с Word
...
finally
CoUninitialize;
end;

В стандартном приложении вызов CoInitializeEx производится при инициализации приложения.


iNew   (2002-11-09 09:15:00) [2]

Я делал так:
var Template, NewTemplate,ItemIndex:OleVariant;
begin
ItemIndex:=1;
try
Wordapplication1.Connect;
except
MessageDlg("Word may not be installed", mtError, [mbOk], 0);
Abort;
end;
try
WordApplication1.Documents.Open(FileName,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
except
on E: Exception do
begin
ShowMessage(E.Message);
WordApplication1.Disconnect;
end;
end;
try
Template := EmptyParam;
NewTemplate :=False;
{Assign WordDocument component}
WordDocument1.ConnectTo(WordApplication1.Documents.Item(ItemIndex));
except
on E: Exception do
begin
ShowMessage(E.Message);
WordApplication1.Disconnect;
end;
end;
end;


iNew   (2002-11-09 09:10:00) [3]

> Николай Быков
А если он захочет управлять из программы содержимым документа?


Николай Быков   (2002-11-09 09:03:00) [4]

А почему нельзя с помощью процедуры ShellExecute()запскать WINWORD.EXE с параметром=путь к документу?


Наверх

Титульная страница Поиск, карта сайта Написать письмо