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

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

Ошибка при сохранении вордовского документа [D7, WinXP]


rtm ©   (2007-09-20 10:32:00) 

Листинг:
_________________________________________
procedure TForm72.FormShow(Sender: TObject);
var
FileName:string;
WordApp:Variant;
WordDoc:Variant;
ch,ch2:real;
begin
FileName:='c:\ARADD.DBedit1.Text+'.doc';
try
WordApp:=GetActiveOleObject('Word.Application');
except
 try
  WordApp:=CreateOleObject('Word.Application');
  except
Application.MessageBox('Внимание:',
             'Microsoft Word не установлен.'
  );
  Exit;
end;
end;
try
//присваиваем переменные ch,ch2
if условие then
begin
WordDoc:=WordApp.Documents.Add(Template:='template.doc');

 //блок условия
 begin
 if условие then
 begin
 процедура
 end
 else
 if условие 2 then
 begin
 процедура 2
 end
 end;

end
else
if условие then
begin
процедура
begin
 //блок условия
 begin
 if условие then
 begin
 процедура
 end
 else
 if условие 2 then
 begin
 процедура 2
 end
 end;


end;

finally
WordApp.ActiveDocument.SaveAs(FileName);
WordApp:=UnAssigned;
end;
end;
______________________________________________

Проблема такая, после обработки программой всех цепочек на последней стадии finally вылетает ошибка, "Вызов отклонен" или "RPC не доступен" и доковский файл в указанную директорию конечно же не сохраняется.
В чем может быть проблема?

Спасибо.


lookin   (2007-09-24 17:44:00) [1]

Вместо
FileName:string;
...
WordApp.ActiveDocument.SaveAs(FileName);

попробуйте
AFileName:string;
...
WordApp.ActiveDocument.SaveAs(FileName:=AFileName);

тип string можно использовать, OleVariant тут не нужен...


Silver_Ghost   (2007-09-23 22:44:00) [2]

ой сам сглупил.
поправлюсь:
FileName:='c:\'+ARADD.DBedit1.Text+'.doc';
Это если я правильно понял, что ARADD.DBedit1.Text содержит имя файла.


Silver_Ghost   (2007-09-23 22:42:00) [3]

Господи боже,
а вот здесь:
FileName:='c:\ARADD.DBedit1.Text+'.doc';
случайно не так надо:
FileName:='c:\ARADD.DBedit1.Text'+'.doc';


фуке   (2007-09-23 20:10:00) [4]

1/FileName :OleVariant

2/или еще куча параметров после FileName
или
WordDocument1.SaveAs(FileName);


rtm   (2007-09-20 11:49:00) [5]

да нет это же кусок кода, просто я опустил описание блоков с условиями, все компилируется, просто именно при переходе к сохранения программа (уже откомпелированная!) выдает ошибку, о которой речь идет выше.


Anatoly Podgoretsky   (2007-09-20 11:24:00) [6]

> rtm  (20.09.2007 10:32:00)  [0]

Это не откомпилируется, поэтому об рантайм ошибках говорить не приходится


Наверх

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