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

Вниз

The server threw an exception   Найти похожие ветки 

 
Lotus   (2005-08-15 01:25) [0]

Использую в своей программе OLE-автоматизацию Ворда. Когда программно открываю doc-файл, то все путем. Когда этим же кодом пытаюсь открыть dot, то возникает сабжевая ошибка.
Как лечить?


 
kblc ©   (2005-08-15 06:51) [1]

Кофем и пивом ;)
 .dot как я понимаю шаблон... так? ... у меня всё нищтяк открываеться и никаких ошибок. Поподробнее опиши проблему, приведи свой код.


 
Lotus   (2005-08-15 11:06) [2]

да, .dot - шаблон

Попробуйте у себя этот код, плиз:

     try
       WD := GetActiveOleObject("Word.Application");
     except
       WD := CreateOleObject("Word.Application");
     end;
     try
       WD.Visible := False;
       WD.Documents.Open(LoadFName);
       WD.ActiveDocument.SaveAs(RTF_FName, $00000006);
       WD.ActiveDocument.Close;
       WD.Quit;
       WD := Null;
     except
       WD.Quit;
       WD := Null;
     end;


 
kblc ©   (2005-08-15 11:14) [3]

try
 WD := GetActiveOleObject("Word.Application");
except
 WD := CreateOleObject("Word.Application");
end;

try
 WD.Visible := False;
 WD.Documents.Open(LoadFName);
 WD.ActiveDocument.SaveAs(RTF_FName, $00000006);
 Sleep(3000);
 WD.ActiveDocument.Close;
 WD.Quit;
 WD := Null;
except
 WD.Quit;
 WD := Null;
end;


 
Lotus   (2005-08-15 16:13) [4]

А зачем Sleep?


 
kblc ©   (2005-08-15 16:50) [5]

А затем что один поток ворда пытаеться сохранить документ, и ты, не дождавшись конца сохранения пытаешься его закрыть!


 
Lotus   (2005-08-15 18:55) [6]

а почему именно 3 сек?
почему не 5 или 10?
зависит ли это от процессора?


 
kblc ©   (2005-08-16 07:44) [7]

я примерно написал что 3. По идее в ворде есть ф-ия которая должна возврщать занятость ворда, ели ты узнаешь как она называеться - сообщи и мне. А пока пользуйся именно так. Если файл небольшой то и секунды хватит


 
Lotus   (2005-08-16 09:17) [8]

Интересует, почему нужно это делать с dot-ом. С doc же все путем, без всяких слипов.


 
kblc ©   (2005-08-18 07:10) [9]

Потомучто .. размер .dot всегда больше .doc. Фиг знает что туда нафигачивают, но это всегда занимает бльшое время. вот.


 
Lotus   (2005-08-18 08:30) [10]

а как оно на самом деле - наверное, знают только в мелкософте, да?


 
kblc ©   (2005-08-18 09:17) [11]

Тебе нужно где-то найти описание интерфейса с именем Word.Application. Тогда сразу всё поймёшь ;)


 
Lotus   (2005-08-18 17:16) [12]

thanks!


 
Джо ©   (2005-08-21 22:28) [13]


>      try
>        WD := GetActiveOleObject("Word.Application");
>      except
>        WD := CreateOleObject("Word.Application");
>      end;

Это что за ужас?


 
Lotus   (2005-08-22 07:11) [14]

не понимаешь - не ужасайся



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

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

Наверх




Память: 0.49 MB
Время: 0.055 c
1-1155469218
nali
2006-08-13 15:40
2006.10.15
Вопрос по отладчику delphi6


3-1155295013
Lexiy
2006-08-11 15:16
2006.10.15
Оптимизация запросов


15-1158907204
Юрий
2006-09-22 10:40
2006.10.15
Потемнение на планете - сюжет НТВ


2-1159636272
novice
2006-09-30 21:11
2006.10.15
Вопрос по SysUtils routines..


15-1158917616
Stanislav
2006-09-22 13:33
2006.10.15
SQL В MSSQL