Запуск окна на ObjectDCL
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Запуск окна на ObjectDCL

Запуск окна на ObjectDCL

Ответ
Поиск в этой теме
Непрочитано 02.03.2006, 09:09 #1
Запуск окна на ObjectDCL
Жулик
 
нету
 
Магнитогорск
Регистрация: 02.03.2006
Сообщений: 5

Люди, помогите! у меня проблема с программой.
Код:
[Выделить все]
vl-load-com
;; function to load objectdcl2004.arx
(defun LoadODCL ()
  (if (not (member "ObjectDCL2004.arx" (arx)))
    (arxload "ObjectDCL2004.arx" "ObjectDCL2004.arx not found.")
  )
)

; load the project
(defun c:MyODCL ()
  ;; load ObjectDCL
  (LoadODCL)

  ;; load the project
  (Odcl_LoadProjectEx  "MyODCL_frmMyODCL" T)

  ;; show the form
  (Odcl_Form_Show MyODCL_frmMyODCL)
)
при запуске не узнает функции Odcl_LoadProjectEx "MyODCL_frmMyODCL" T)
или Odcl_LoadProject "MyODCL_frmMyODCL" T)
вообще и нивкакую. Помогите, кто сможет
__________________
"Все, что нас не ломает, делает нас сильнее"
Просмотров: 2627
 
Непрочитано 02.03.2006, 10:51
#2
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


А почему у тебя форма называется также как и проект?

Неплохо было бы проверять еще и версию када:

Код:
[Выделить все]
(defun ObjectDCL_LoadArxAll(/ odclVer)
	 (cond
	   ((=(substr(getvar "ACADVER")1 2) "15")
	    (progn
  (if(not(member "ObjectDCL.arx" (arx)))
    (arxload "ObjectDCL.arx" "Файл ObjectDCL.arx не найден!\n\nФайл должен находиться в папке .../AutoCAD2000(2002)/Support")
    ); end if
  );end progn
	    )
	   ((=(substr(getvar "ACADVER")1 2) "16")
	    (progn
  (if(not(member "ObjectDCL2004.arx" (arx)))
    (arxload "ObjectDCL2004.arx" "Файл ObjectDCL2004.arx не найден!\n\nФайл должен находиться в папке .../AutoCAD2004/Support")
    ); end if
  );end progn
	    )
	    ); end cond	    
  ); end of ObjectDCL_LoadArx
А вообще по большому счёту я не сторонник ObjectDCL. Удобно конечно, но и глюков достаточно, во вторых неизвестно сколько данная технология будет жить.

По мне так лучше написать VBA проект с вызовом VisualLISP как ActiveX-объекта и выполнять любые LISP функции когда это нужно, ну и формы соответственно делать. Во первых ObjectDCL - это "черный ящик" судя по всему писанный одним программистом, во вторых у VBA более широкие "внешние" возможности, а ObjectDCL это только формы и больше ничего, в третих если конечно не используются нестандартные контролы и другие внешние библиотеки, не надо передавать никаких внешних файлов.

Извиняй если внес в твою программистскую душу смятение :?
{Smirnoff} вне форума  
 
Непрочитано 02.03.2006, 11:02
#3
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Да и ещё припомнил. Была версия ObjectDCL формы скомпилированные в которой требовали для вызаова указывать расширение файла. Типа:

(Odcl_LoadProjectEx "MyODCL_frmMyODCL. ODC" T)
или
(Odcl_LoadProjectEx MyODCL_frmMyODCL. ODC T)

уже не помню как правильно.

Если в процессе работы над формой проявились какие то глюки, перегружай AutoCAD полностью.
{Smirnoff} вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Запуск окна на ObjectDCL