Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.04.04;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.028 c
2-1265307465
VirusO4eK
2010-02-04 21:17
2010.04.04
Try ... Except не перехватывает ошибку


2-1265203057
@!!ex
2010-02-03 16:17
2010.04.04
Глючит TPageControl


2-1265185700
Darvin
2010-02-03 11:28
2010.04.04
Работа с иконкой своего приложения в трее


6-1215928746
Надуев Алексей
2008-07-13 09:59
2010.04.04
Передача сообщений на другой компьютер


6-1216702809
grisme
2008-07-22 09:00
2010.04.04
Download Resuming





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский