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

Вниз

Try ... Except не перехватывает ошибку   Найти похожие ветки 

 
VirusO4eK ©   (2010-02-04 21:17) [0]

Try
// пытаемся присоединиться к уже запущенной копии AutoCad
   v := GetActiveOleObject("AutoCAD.Application");    
 Except
// если не получилось присоединиться, то запускаем новую копию AutoCad
   v:= CreateOleObject("AutoCAD.Application");
 end;

Почему ошибка не перехватывается?

[img]http://img189.imageshack.us/img189/6193/123vhv.jpg[/img]


 
Anatoly Podgoretsky ©   (2010-02-04 21:42) [1]

> VirusO4eK  (04.02.2010 21:17:00)  [0]

Перехватываются только исключения.


 
VirusO4eK ©   (2010-02-04 21:51) [2]


> Anatoly Podgoretsky


Если окно Автокада не запущено, то программа должна запустить его.
А ошибку выдает на "v := GetActiveOleObject("AutoCAD.Application");"

Инфа отсюда: http://www.delphimaster.ru/articles/autocad/index.html

Во скрин:
<img>http://img189.imageshack.us/img189/6193/123vhv.jpg</img>


 
Медвежонок Пятачок ©   (2010-02-04 22:09) [3]

эту пестню не задушишь не убъешь
напевает молодешшь, молодешшь


 
Медвежонок Пятачок ©   (2010-02-04 22:10) [4]

запуск из под иде.
потому что.


 
Anatoly Podgoretsky ©   (2010-02-04 22:16) [5]

> VirusO4eK  (04.02.2010 21:17:00)  [0]

А пробовал нажать ОК и затем F9 или запустить не из Дельфи


 
VirusO4eK ©   (2010-02-04 22:25) [6]


> Anatoly Podgoretsk


Конечно, Автокад отдельно нормально запускается.

Также, если запустить автокад, а потом программу то все нормально работает.
А мне надо чтоб проверяло, если Автокад не запущен то, чтоб запускало.
А если запущен, то чтоб использовало его, а не создавало новую копию.


 
Anatoly Podgoretsky ©   (2010-02-04 22:29) [7]

> VirusO4eK  (04.02.2010 22:25:06)  [6]

А у тебя как?


 
Медвежонок Пятачок ©   (2010-02-04 22:30) [8]

Конечно, Автокад отдельно нормально запускается.

Отдельно должен запускться проект а не автокад


 
VirusO4eK ©   (2010-02-04 22:49) [9]

Запускаю программу.
Жму кнопку.
Вот код:
function GetAcadApplication(Visible: Boolean): IAcadApplication;
var
 v : OleVariant;
begin
 Try
// пытаемся присоединиться к уже запущенной копии AutoCad
   v := GetActiveOleObject("AutoCAD.Application");
   
 Except
// если не получилось присоединиться, то запускаем новую копию AutoCad
   v:= CreateOleObject("AutoCAD.Application");
 end;
// приводим переменную типа OleVariant к типу IAcadApplication
 Result := IDispatch(v) as IAcadApplication;
// далее проверяем, надо ли делать приложение AutoCad видимым
 if Visible then Result.Visible := True;
 v.ActiveDocument.SendCommand("(load "d:\\Work\\Диплом\\Прога\\cherv1.lsp")" + #13);
 v.ActiveDocument.SendCommand("(detal)" + #13);
end;

procedure TForm1.N6Click(Sender: TObject);
var
f: TStrings;
begin
f:=TStringList.Create();
f.LoadFromFile("d:\Work\Диплом\Прога\cherv.lsp");
f.Add("  (defun InitSize()");
f.Add("  (setq a1  "+floattostr(round(strtofloat(form13.Edit3.Text)))+")");
f.Add("  (setq a2  "+floattostr(round(strtofloat(form13.Edit2.Text)))+")");
f.Add("  (setvar "cmdecho" 0) (setvar "osmode" 0) (command "_erase" "_all" "")  (command "_view" "_front" ))");
f.SaveToFile("d:\Work\Диплом\Прога\cherv1.lsp");
f.Free;
// присоеденимся к приложению AutoCad
AcadApp:= GetAcadApplication(true);
end;


Если Автокад запуще то все работает норм.
Если нет, то ошибку пишет.

<img>http://img189.imageshack.us/img189/6193/123vhv.jpg


 
Anatoly Podgoretsky ©   (2010-02-04 23:00) [10]

> VirusO4eK  (04.02.2010 22:49:09)  [9]

Ты понимаешь, что тебе пишут, или чукча не читатель.


 
VirusO4eK ©   (2010-02-04 23:04) [11]


> Anatoly Podgoretsky

Блин. Ты спросил: как у меня?. Я тебе написал.


> Медвежонок Пятачок

Какой проект? Проект чего?


 
VirusO4eK ©   (2010-02-04 23:10) [12]

Все понял.
Это отладчик ерунду порет!
Всем спасибо.


 
Плохиш ©   (2010-02-05 00:14) [13]


> Это отладчик ерунду порет!

Плохому танцору известно, что мешает...


 
Германн ©   (2010-02-05 01:33) [14]


> Плохиш ©   (05.02.10 00:14) [13]
>
>
> > Это отладчик ерунду порет!
>
>

Имхо "ерунду порет" не отладчик, а кто-то другой! Отладчик честно отрабатывает вложенные в него деньги.


 
brother ©   (2010-02-05 04:56) [15]

> v.ActiveDocument.SendCommand("(load "d:\\Work\\Диплом\\Прога\\cherv1.lsp
> ")" + #13);

Уж не чертеж "червяка" там? Что за институт? Не тяжелого машиностроения? ;)



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

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

Наверх




Память: 0.5 MB
Время: 0.009 c
1-1247787260
XProger
2009-07-17 03:34
2010.04.04
Индексы методов интерфейса


15-1263463308
Tornado
2010-01-14 13:01
2010.04.04
Запуск программы с сервера


15-1263557848
ghg79
2010-01-15 15:17
2010.04.04
Настройки Codegear 2009


2-1265307465
VirusO4eK
2010-02-04 21:17
2010.04.04
Try ... Except не перехватывает ошибку


6-1215945136
multiflex
2008-07-13 14:32
2010.04.04
NetFileEnum