Компонент KGAX при отсутствии Компаса

Автор ASV, 28.04.08, 10:38:14

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

ASV

Здравствуйте!
Пишу программку в Delphi7. Она должна работать в том числе и на машинах, где Компас не установлен, а там где установлен, просто добавлялась бы возможность просмотра чертежей.
Поставил я на форму компонент KGAX.
И тут возникла такая проблема: если Компас не установлен, то при создании формы возникает ошибка EoleSysError. Естественно, если Компаса нет, то просмотр никак не возможен, но хотелось бы чтобы программа хотя бы запускалась :)
Подскажите пожалуйста, как можно отловить эту ошибку.
В то же время, если использовать обычный Ole Container, то никаких ошибок не возникает, чертеж просто не показывается и все. Но хотелось бы использовать функционал компонента KGAX.
  Я также пробовал создавать KGAX вручную в событии OnCreate формы, чтобы можно было поймать и обработать Exception. Но создать компонент не удалось.
Я наверное не все необходимые свойства задал? Делаю вот так:
  try
    KGAX1:=TKGAX.Create(Panel2);
    KGAX1.Align:=alClient;
    KGAX1.DocumentType:=vt_SheetUser;
    KGAX1.BringToFront; // на всякий случай
    KGAX1.Show;
  except
    Showmessage ('Компас не установлен');
  end;

ASV

С созданием компонента KGAX вручную все получилось, работает как надо.
1-й вопрос остается в силе. Как сделать так, чтобы этот компонент вытаскивать из палитры, но при запуске программы (при создании формы) ошибка не выскакивала при отсутствии Компаса?

chelkar

Ни как не сделать. Без КОМПАСа компонент работать не будет.
Наверное там где он, КОМПАС, совсем не нужен, можно демо-версию поставить. И с ее помощью смотреть документы в KGAX

ASV

Первую проблему с запуском программы при отсутствии Компаса решил. Теперь есть другой вопросик.

А можно ли сделать так, чтобы при открытии документа в компоненте KGAX он появлялся именно в нем, а не в Компасе?
То есть, если Компас не запущен (или запущен, но в нем не открыт ни один документ), то чертеж нормально показывается в KGAX. Но если в Компасе уже открыт какой-нибудь чертеж, а я открываю другой в KGAX, то этот чертеж появляется в окне Компаса, а не в моем компоненте.