Rozwijanie aplikacji za pomocą technologii ActiveX Automation

ActiveX Automation jest technologią stworzoną przez firmę Microsoft®, opartą na architekturze COM (component object model). Za jej pomocą można rozszerzać produkty oparte na oprogramowaniu AutoCAD, współużytkować informacje rysunku z innymi aplikacjami i automatyzować zadania.

Można tworzyć obiekty rysunkowe i manipulować nimi z dowolnej aplikacji działającej jako sterownik automatyzacji. Oznacza to, że mechanizm Automatyzacja umożliwia programowanie makr w różnych aplikacjach, co zwykle nie jest dostępne w języku AutoLISP. Na przykład może zajść potrzeba wyświetlenia monitu o wprowadzenie danych, ustawienia parametrów, utworzenia zbioru wskazań lub uzyskania danych rysunku.

Tak utworzone obiekty są nazywane obiektami Automatyzacji. Obiekty te są obsługiwane przez tzw. metody, właściwości i zdarzenia. Metody są funkcjami, które określają działanie na obiekcie. Właściwości zaś są funkcjami, które ustalają lub odczytują informacje o stanie obiektu. Zdarzenia są zdefiniowanymi przez użytkownika operacjami lub wystąpieniami, na które program reaguje.

Uwaga:
  • Automatyzacja ActiveX w programie AutoCAD LT dla systemu Windows jest ograniczona tylko do biblioteki ActiveX programu AutoCAD oraz języka programowania AutoLISP. Program AutoCAD LT nie obsługuje automatyzacji ActiveX w języku VBA ani w innych językach programowania. Nie jest również obsługiwana obsługa bibliotek ActiveX innych firm, takich jak biblioteki dostępu do programów Microsoft Word oraz Microsoft Excel. Aby w pełni wykorzystać możliwości automatyzacji ActiveX, należy dysponować programem AutoCAD lub produktem opartym na oprogramowaniu AutoCAD.
  • Automatyzacja ActiveX nie jest obsługiwana w systemie Mac OS ani w wersji internetowej.

Dostęp do aplikacji zewnętrznych za pomocą technologii ActiveX (tylko AutoCAD dla systemu Windows)

Korzyści płynące z implementacji interfejsu ActiveX do programu są dwojakie:

Praktycznie wszystkie typy aplikacji mają dostęp do obiektów automatyzacji dostępnych w programie AutoCAD. Tymi aplikacjami mogą być pojedyncze pliki wykonywalne, pliki dynamicznie dołączanych bibliotek (DLL) lub makra takich aplikacji, jak Microsoft Word lub Microsoft Excel. Najczęściej są to pojedyncze pliki wykonywalne. W przypadku korzystania z aplikacji utworzonych przez innych programistów ich instalację oraz użytkowanie należy prowadzić zgodnie z instrukcjami dołączonymi przez ich twórców.

Definiowanie zewnętrznego polecenia w celu uruchomienia aplikacji (tylko AutoCAD dla systemu Windows)

Korzystając z pliku acad.pgp, można zdefiniować polecenie uruchamiające zewnętrzne polecenie uruchomienia oddzielnej aplikacji, podobnie jak za pomocą aliasu polecenia można uruchomić polecenie.

W poniższym przykładzie zdefiniowano polecenie STARTAPL1, które uruchamia aplikację app1.exe w katalogu c:\vbapps\. (Ten kod należy dodać do sekcji poleceń zewnętrznych pliku acad.pgp).

RUNAPP1, start c:\vbapps\app1, 0

Jeśli uruchamiana aplikacja wymaga parametrów podawanych w wierszu polecenia, wówczas można użyć następującego kodu:

RUNAPP2, start c:\vbapps\app2, 0, *Parameters: ,

Ten przykład definiuje polecenie STARTAPL2, które monituje o podanie parametrów, a następnie przesyła je do aplikacji.

Wskazówka: Można także użyć funkcji AutoLISP startapp , aby uruchomić aplikację wykorzystującą Automatyzację. AutoLISP przestaje kontrolować działanie takiej zewnętrznej aplikacji zaraz po jej uruchomieniu Ale procedura taka pozwala wykorzystać go jako środek do określenia położenia oraz uruchamiania różnych aplikacji z określonymi parametrami.

Uruchamianie aplikacji z poziomu interfejsu użytkownika (tylko AutoCAD dla systemu Windows)

Po zdefiniowaniu polecenia w celu uruchamiania oddzielnej aplikacji można go używać jako części makra polecenia z elementu interfejsu użytkownika.

W przypadku korzystania tylko z jednej lub dwóch aplikacji można dodać je do jednego ze standardowych paneli wstążki lub paska narzędzi szybkiego dostępu. W przypadku grupy aplikacji można zdefiniować własne panele wstążki specjalnie dedykowane do tych aplikacji.