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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Запуск LISPа, использующего ADODB.Stream

Запуск LISPа, использующего ADODB.Stream

Ответ
Поиск в этой теме
Непрочитано 12.08.2011, 21:11 #1
Запуск LISPа, использующего ADODB.Stream
kp+
 
идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,170

Помогите, PLSб запустить LISP, использующий ADODB.Stream
Собственно, код здесь: http://forum.dwg.ru/showthread.php?t=71123, пост 3.
Компилятор на него не ругается, но при выполнении вываливается ошибка: ** Error: Ошибка Automation. Отсутствует описание. **
Создать объект явно не получается
Возможно, в системе что-то не установлено или не загружено. Но что - не понимаю.

На сразу возникающие вопросы спешу ответить:
1) возможно, на первоисточнике (theswamp.org) есть рецепт, но попасть туда сложнее, чем на личный прием к президенту
2) Поиск по форуму прямых ответов не дал.
3) Если действовать "в лоб"
Код:
[Выделить все]
 (setq ADODBStreamObj (vlax-create-object "ADODB.Stream"))
то объект ADODB.Stream создается. Но код, который надо запустить, слишком сложен для меня, чтобы так запросто прикрутить туда создание объекта

Последний раз редактировалось kp+, 12.08.2011 в 21:30.
Просмотров: 2711
 
Непрочитано 12.08.2011, 21:50
#2
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


Код:
[Выделить все]
(defun vk_ReadBinStream	(FileName / ADODBStreamObj Result)
  (if (and (setq FileName (findfile FileName))
	   (setq ADODBStreamObj (vlax-create-object "ADODB.Stream"))
      )
    (progn (setq Result	(vl-catch-all-apply
			  (function
			    (lambda ()
			      (vlax-put ADODBStreamObj "Type" 1)
			      (vlax-invoke ADODBStreamObj "Open")
			      (vlax-invoke ADODBStreamObj "LoadFromFile" FileName)
			      (vlax-invoke-method ADODBStreamObj "Read" :vlax-true)
			    )
			  )
			)
	   )
	   (vlax-release-object ADODBStreamObj)
	   (if (not (vl-catch-all-error-p Result))
	     Result
	   )
    )
  )
)
(defun vk_WriteBinStream (BinStream FileName / ADODBStreamObj Result)
  (if (setq ADODBStreamObj (vlax-create-object "ADODB.Stream"))
    (progn (setq Result	(vl-catch-all-apply
			  (function
			    (lambda ()
			      (vlax-put ADODBStreamObj "Type" 1)
			      (vlax-invoke ADODBStreamObj "Open")
			      (vlax-invoke-method ADODBStreamObj "Write" BinStream)
			      (vlax-invoke ADODBStreamObj "SaveToFile" FileName 2)
			    )
			  )
			)
	   )
	   (vlax-release-object ADODBStreamObj)
	   (if (not (vl-catch-all-error-p Result))
	     FileName
	   )
    )
  )
)
(defun vk_DownloadFile (RemoteFileName LocalFileName / objHTTP Result)
  (if (setq objHTTP (vlax-create-object "WinHTTP.WinHTTPRequest.5.1"))
    (progn (setq Result	(vl-catch-all-apply
			  (function (lambda ()
				      (vlax-invoke-method
					objHTTP	"Open" "GET" RemoteFileName :vlax-false)
				      (vlax-invoke objHTTP "Send")
				      (vlax-get-property objHTTP "ResponseBody")
				    )
			  )
			)
	   )
	   (vlax-release-object objHTTP)
	   (if (not (vl-catch-all-error-p Result))
	     (vk_WriteBinStream Result LocalFileName)
	   )
    )
  )
)
;;;(command "._SHELL"
;;;	 (vk_DownloadFile "http://khm.google.com/kh/v=58&hl=ua&x=9344&y=5503&z=14"
;;;			  (vl-filename-mktemp nil nil ".jpg")
;;;	 )
;;;)
Vov.Ka вне форума  
 
Автор темы   Непрочитано 13.08.2011, 16:08
#3
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,170


О, спасибо! Ситуация проясняется
kp+ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Запуск LISPа, использующего ADODB.Stream



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка на запуск в кнопке-макросе vadik_k_l Программирование 4 28.01.2010 02:23
DwgRuLispLib: Запуск скрипт-файлов *.js и *.vbs Supermax Библиотека функций 5 29.01.2008 15:17