Тема: Создание DLL на VB

Нужно создать форму на VB, запихать её в DLL
так чтобы потом можно было работать
с этой формой (объектом) из LISP (VBA и др.).
Как сделать форму и работать с её свойствами
и методами объяснять не надо (немного знаком с VBA).
Объясните в какой модуль, что писАть (желателен
простейший пример) и как скомпилировать такую DLL.
Буду признателен за любую помощь.

Re: Создание DLL на VB

По моему это модуль надо писать на VB, С или ObjectARX и тамже компилировать. К сожалению как это делается не могу подсказать.

Re: Создание DLL на VB

Послал маленький пример на VB и лиспе.
Все очень просто:
создаем ActiveX DLL: в нем форма со всем содержимым и класс с публичной функцией ,которая запускает форму.
В Автокаде любым методом оздаем объект этого класса и запускаем функцию(форму)
Связывать акад и длл лучьше через VB - удобнее.
Если пример не дошел - сообщи.

Re: Создание DLL на VB

Спасибо Arkady!
Приду с работы проверю почту.

Re: Создание DLL на VB

Arkady!
Могли бы и мне сбросить примерчик?
pavelii@hotmail.ru
Заранее спасибо!

Re: Создание DLL на VB

И мне, если не жалко. Заранее благодарен.

Re: Создание DLL на VB

> Arkady
Если не трудно, мне тоже замыльте примерчик
Спасибо заранее.

Re: Создание DLL на VB

Если не трудно, Могли бы и мне сбросить примерчик ?
Soliks@tut.by
Заранее большое спасибо.

Re: Создание DLL на VB

Мне пример так и не дошел - pavelii@hotmail.ru
Может выложите здесь?

Re: Создание DLL на VB

> Arkady
"В Автокаде любым методом оздаем объект этого класса и запускаем функцию(форму)"
А как этосделать. Напишите пожалуйста лисповскую функцию.

Re: Создание DLL на VB

> Arkady
"В Автокаде любым методом оздаем объект этого класса и запускаем функцию(форму)"
А как это сделать? Напишите пожалуйста лисповскую функцию.

Re: Создание DLL на VB

> vig11
1.Имеем DLL с именем MyDLL - написанную на VB
В DLL есть Form - frmMyForm и класс MyClass .
В классе - публичная функция RunForm такого вида:

Public Sub RunForm()  '' No 4
        frmMyForm.Show vbModal
End Sub

2.Запуск в АвтоКаде.

(defun c:кгтми()
   (setq myob (vlax-create-object  "MyDLL.MyClass"))
   (vlax-invoke-method myob 'RunForm))
   (setq myob (vlax-release-object  myob))
   (princ) )

Re: Создание DLL на VB

Аlexander пишет:

Связывать акад и длл лучьше через VB - удобнее.

Мне кажется, все же удобнее - через VBA

Re: Создание DLL на VB

> Arkady
Я делал несколько сложнее.
(defun AutoVBLoad (CmdName DllCmdName)
  (eval
    (list 'defun
      (read (strcat "C:" CmdName))
    nil
     (list 'vlax-invoke
        (list 'vlax-invoke
           (list 'vlax-get-acad-object)
           "getinterfaceobject"
           "MyDLL.MyClass"
           )
         DllCmdName)
    )
  )
(princ)
)
(AutoVBLoad "RF" "RunForm")
Затем после загрузки если в коммандной строке пишу RF и нажимаю Enter, то запускается моя функция из DLL.