Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.971 c
10-1124082080
safo
2005-08-15 09:01
2006.10.15
Проблема с файлом Excel


3-1155916546
Itoixxx
2006-08-18 19:55
2006.10.15
DBLookUpCoombobox -выделение нескольких значений


2-1159174243
KyRo
2006-09-25 12:50
2006.10.15
Как сделать прозрачным лейбл


15-1158757874
Cyrax
2006-09-20 17:11
2006.10.15
Языковая панель в Windows XP


15-1158863422
гость23
2006-09-21 22:30
2006.10.15
Реал-тайм звук с микрофона в динамиках ноутбука




   Наверх