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

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

The server threw an exception


Lotus ©   (2005-08-15 01:25:00) 

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


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

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


Джо   (2005-08-21 22:28:00) [2]


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

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


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

thanks!


kblc   (2005-08-18 09:17:00) [4]

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


Lotus   (2005-08-18 08:30:00) [5]

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


kblc   (2005-08-18 07:10:00) [6]

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


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

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


kblc   (2005-08-16 07:44:00) [8]

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


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

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


kblc   (2005-08-15 16:50:00) [10]

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


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

А зачем Sleep?


kblc   (2005-08-15 11:14:00) [12]

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 11:06:00) [13]

да, .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 06:51:00) [14]

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


Наверх

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