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

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

Закрытие доступа к чтению кода

Ответ
Поиск в этой теме
Непрочитано 20.12.2007, 10:57 #1
Закрытие доступа к чтению кода
vosh
 
Регистрация: 13.12.2007
Сообщений: 45

Добрый.
Уважаемые профи, я написал код программы на lisp, и лежит он у меня в файле lisp.lsp , к сожалению любой может его прочитать а тем более внести изменения, что в свою очередь крайне не желательно. Есть ли способ запретить это. Мега хакерских наворотов совсем ненужно, простая дуракозащита от шаловливых пальчиков (низкий пользовательский уровень)
И еще маленькая нагрузка: есть ли комманда сохранения состояния перед входом в лисп программу, которая даже в случае некорректного выхода эскейпом или вводом кривых данных возвращала привязки. Если с кривыми данными я смог справиться то от эскейпа и бесконечных циклов никак не могу.
Просмотров: 3013
 
Непрочитано 20.12.2007, 11:07
#2
Кулик Алексей aka kpblc
Moderator

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


Компилируй код в fas. Это сразу убавит количество желающих внести изменения. Хотя абсолютной защиты не существует.
---
Добавлено: посмотри http://www.arcada.com.ua/forum/viewtopic.php?t=445 - не то?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.12.2007, 11:12
#3
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Еще от дураков атрибут ReadOnly и запрет изменений в NTFS.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 20.12.2007, 11:15
#4
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,626


Не хотят люди выложить в "Готовых функциях" обработчик ошибок. Это, мол, фигня.
Profan вне форума  
 
Непрочитано 20.12.2007, 11:24
#5
Кулик Алексей aka kpblc
Moderator

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


Далеко не фигня, поэтому и не выкладывается. У меня обработчика ошибок (универсального) практически сейчас нет, все время что-то "особенное" вылезает.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.12.2007, 11:43
#6
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
У меня обработчика ошибок (универсального) практически сейчас нет...
даж не представляю, зачем бы он понадобился... Для того, что бы обработчик ошибок сделал своё чёрное дело, нужно соблюсти ряд условий, которые по трудоёмкости никак не меньше, чем усилия по созданию кода гарантированно неприбиваемого эскэйпом или некорректным вводом.
Alaspher вне форума  
 
Автор темы   Непрочитано 20.12.2007, 11:54
#7
vosh


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


Дима, игры с файловой системой тут не пройдут, у меня ограниченная учетная запись, не дает менять разрешения.
Profan, тебя не понял, хоть убей
Крыс, посмотрю как время появится, на работе приходится силой убеждать консервативных аборигенов в перспективности автоматизации

Как всегда спасибо за оперативность.
vosh вне форума  
 
Автор темы   Непрочитано 20.12.2007, 11:58
#8
vosh


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


profan понял тебя . И тебя крыс. тяжко это, проще под кнопку сунуть osmode. fas сегодня покопаю
vosh вне форума  
 
Непрочитано 20.12.2007, 12:10
#9
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Мелкий совет - если привязка отключается для программного рисования, то желательно не обнулять пременную "osmode", а выключать привязки аналогично F3, проще всего это делать примерно так:
Код:
[Выделить все]
(if (not (zerop (setq oldosm (getvar "osmode"))))
 (setvar "osmode" (logior oldosm 16384))
)
а на выходе из программы:
Код:
[Выделить все]
(setvar "osmode" oldosm)
Тогда, даже если прогамма будет прервана, то пользователю будет достаточно нажать F3 для восстановления ранее заданных привязок.
Alaspher вне форума  
 
Непрочитано 20.12.2007, 12:36
#10
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


А если рисуешь командами (command и vl-cmdf) то лучше перед указанием точки ставить _none и не трогать OSMODE вообще
(command "_.LINE" "_none" '(0 0 0) "_none" '(10 10 0) "")
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 20.12.2007, 12:45
#11
vosh


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


VVA я принципиально стараюсь не использовать коммандную строку, чтобы программа работала безшумно и легко откатывалась
Alaspher, полезное замечание.
К сожалению у меня несколько иной случай и приходится с "другой" привязкой указывать точки на чертеже пользователю. А так как цикл бесконечный то приходится пользоваться ESC
vosh вне форума  
 
Непрочитано 20.12.2007, 12:53
#12
Alaspher


 
Регистрация: 11.10.2004
e•burg
Сообщений: 755


Цитата:
Сообщение от vosh Посмотреть сообщение
А так как цикл бесконечный то приходится пользоваться ESC
Бесконечный цикл - плохое решение. Выход надо организовывать штатно, а эскэйп перехватывать и обрабатывать, как альтернативный вариант выхода. Для перехвата предназначены функции - vl-catch-all-...
Alaspher вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Закрытие доступа к чтению кода



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос кода лисп программ в Persistant Reactors Torino LISP 2 06.12.2004 14:54