Переключение на Главную Страницу Страницы: 1 2 3 [4] 5 6  ОтправитьПечать
Очень популярная тема (более 25 ответов) Защита классов (число прочтений - 26152 )
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Защита классов
Ответ #45 - 28. Июля 2006 :: 18:12
Печать  
А может добавить в 1С++ возможность получить объектный код класса как строку?

Или строку UUEncode, или Base64.

Тогда и совсем (почти) напрягаться не надо будет. Скомпилировал класс, получил строку, а потом написал что-нибудь типа

Код
Выбрать все
Класс МойСекретныйКласс=МойСекретныйКласс.UUE
{} 


Тогда такой класс только декомпилятор сможет взломать. (И кто нибудь его напишет и будет продавать Улыбка )
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Защита классов
Ответ #46 - 28. Июля 2006 :: 23:16
Печать  
Сегодня попытался первый раз сам собрать DLL-ку и, как и положено, наступил на мину.

АЛьФ, проверь, пожалуйста. Тесты совсем перестали запускаться.

Если откатиться на 24.07.06 и пересобрать DLL, то все нормально, тесты запускаются.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Защита классов
Ответ #47 - 31. Июля 2006 :: 05:59
Печать  
Что значит "Тесты совсем перестали запускаться."? Подробней, плиз. У меня все запускается.
  

FormEx developer
Наверх
www  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Защита классов
Ответ #48 - 31. Июля 2006 :: 15:35
Печать  
Специально скачал ночник, чтобы убедиться, что я правильно собрал компоненту. Та же история. Вот, что возникает при попытке запустить конфу тестирования:

Цитата:
(1)<<?>>РП
аЎ±
б      Обнаружено логическое завершение исходного текста модуля
C:\Infobase\1CPP_Testing\UnitTests\FormEx\ТестыИсходнойТаблицы.ert
Класс: ТестыИсходнойТаблицы Файл: C:\Infobase\1CPP_Testing\UnitTests\FormEx\ТестыИсходнойТаблицы.ert компиляция не выполнена!
Создание класса 'ТестыИсходнойТаблицы' закончилось неудачей
     в тестировании класс не участвует

А потом

Цитата:
СписокКлассов = гЗагрузчикТестов.ПолучитьСписокВсехКлассовЮнитТестовЗагруженныхВ1С("тесты");
{Обработка.ЗагрузчикЮнитТестов.Форма.Модуль(58)}: Индекс не входит в границы списка значений.

===========================================================================
РезультатТеста::Печать()
Ошибка = _Ошибки.ПолучитьЗначение(ъ, ОписаниеТеста);
{C:\Infobase\1CPP_Testing\UnitTests\LoaderUnitTests\РезультатТеста.txt(97) }
===========================================================================

А ты давно обновлял конфу тестирования? Делал compile_all.py с загрузкой новой конфы?
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Защита классов
Ответ #49 - 31. Июля 2006 :: 15:51
Печать  
Сейчас взял тестовую конфигу из репозитория. Собрал, запустил.
При запуске выдало:
Цитата:
Не существует файла: E:\1CPP_Testing\"ExtForms\UnitTests\ТестыИсходнойТаблицы.ert" для класса: КлассСКавычками1
Регистрация класса закончилась неудачно!
Не существует файла: E:\1CPP_Testing\"ExtForms\UnitTests\ТестыИсходнойТаблицы.ert" для класса: КлассСКавычками
Регистрация класса закончилась неудачно!
1С++ успешно загружена
   описания классов юнит-тестов также успешно загружены
Не удалось загрузить TurboMD.dll
Создание класса 'SQLТесты' закончилось неудачей
     в тестировании класс не участвует
   Класс не предназначен для работы с базой DBF
Создание класса 'ODBC_SQL_Тесты' закончилось неудачей
     в тестировании класс не участвует
   Класс не предназначен для работы с базой DBF

Криминала не вижу.
Что-то ты недоговариваешь...
  

FormEx developer
Наверх
www  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Защита классов
Ответ #50 - 31. Июля 2006 :: 17:25
Печать  
Смотри эту же ошибку здесь:http://www.1cpp.ru/forum/YaBB.pl?num=1153894766/6#6

Ничего не утаиваю, утаивать нечего.  Улыбка Попробую пересобрать тестовую базу, может яснее станет.
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Защита классов
Ответ #51 - 31. Июля 2006 :: 19:16
Печать  
Я не знаю, почему у тебя работает. Кажется вот в чем дело:

было:
Код
Выбрать все
if (strFileName.Find(".ert") != -1) 



стало:
Код
Выбрать все
if (strFileName.Find(".ERT") != -1) 

  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Защита классов
Ответ #52 - 01. Августа 2006 :: 07:59
Печать  
sedmin писал(а) 31. Июля 2006 :: 19:16:
Я не знаю, почему у тебя работает. Кажется вот в чем дело:

было:
Код
Выбрать все
if (strFileName.Find(".ert") != -1) 



стало:
Код
Выбрать все
if (strFileName.Find(".ERT") != -1) 


Возможно...
Вот же шь гадость какая Печаль
Это я хотел попутно сделать реальную регистронезависимость, но потом решил, что не стоит соваться, т.к. во многих местах надо править. А глюк добавил Печаль
Если вернуть обратно, то тесты нормально запускаются?
  

FormEx developer
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Защита классов
Ответ #53 - 01. Августа 2006 :: 18:51
Печать  
Цитата:
sedmin писал(а) 31. Июля 2006 :: 19:16:
Я не знаю, почему у тебя работает. Кажется вот в чем дело:

было:
Код
Выбрать все
if (strFileName.Find(".ert") != -1) 



стало:
Код
Выбрать все
if (strFileName.Find(".ERT") != -1) 


Возможно...
Вот же шь гадость какая Печаль
Это я хотел попутно сделать реальную регистронезависимость, но потом решил, что не стоит соваться, т.к. во многих местах надо править. А глюк добавил Печаль
Если вернуть обратно, то тесты нормально запускаются?


Если вернуть обратно, то все тесты нормально запускаются, и некоторые даже проходят Улыбка

Вернул обратно и скоммитил.
  
Наверх
www  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Защита классов
Ответ #54 - 02. Августа 2006 :: 05:00
Печать  
fez писал(а) 01. Августа 2006 :: 18:51:
Вернул обратно и скоммитил.

Спасибо.
  

FormEx developer
Наверх
www  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: Защита классов
Ответ #55 - 24. Ноября 2006 :: 09:53
Печать  
может ли кто-нить дать сцылку где почитать как писать длл для 1с на VB6?
а желательно простецкий пример кода длл, которая возвращала бы код класа...
можно в личку....
  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: Защита классов
Ответ #56 - 27. Ноября 2006 :: 05:58
Печать  
Цитата:
jbond писал(а) 27. Июля 2006 :: 12:10:
Цитата:
Залито в репозиторий. Будет в завтрашней ночной сберке.
Заливалось для версии 2.0.3.0. Если в разделенную захотят ребята перенести, значи будет и там.


А можно поподоробней что завтра будет, связанное с защитой классов?

Сообщение писалось вчера. Т.е. в сегодняшней сборке уже есть. За подробностями к оплатившему эту доработку.
Могу только совсем кратко сказать: в описании класса пишешь "Класс Класс1=Класс1@my.dll", в my.dll делаешь функцию
extern "C" LPCSTR WINAPI EXPORT GetClassText(LPCSTR lpcstrClassName)
, которая возвращает текст модуля класса по имени.


Немог бы кто-нить перевести это: extern "C" LPCSTR WINAPI EXPORT GetClassText(LPCSTR lpcstrClassName) на VB6?
Понятно, что объявляется функция принимающаяи возвращающая строку, но т.к. с С++ не знаком воще, непонятно: что значит LPCSTR, WINAPI EXPORT. Эта функция будет вызываться автоматически при создании класса? Она просто (в простейшем случае) должна возвратить текст класса?
  
Наверх
ICQ  
IP записан
 
DionX
Senior Member
****
Отсутствует



Сообщений: 373
Местоположение: Кемерово
Зарегистрирован: 22. Августа 2006
Пол: Мужской
Re: Защита классов
Ответ #57 - 28. Ноября 2006 :: 00:34
Печать  
слишком дурацкий вопрос или ни кто не знает? Нерешительный
  
Наверх
ICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Защита классов
Ответ #58 - 28. Ноября 2006 :: 09:55
Печать  
Я думаю, тебе нужен учебник по MSVC.

Ты пробовал делать проект который собирает DLL? А пробовал функцию с таким описанием добавлять?

PS. Если тебя чувак в форуме спросит: "Как в 1С НДС посчитать?", ты что ему ответишь? Улыбка Скажешь, что сложные вопросы задает? А если спросит "Как в 1С товары без НДС продавать?" Улыбка
  
Наверх
 
IP записан
 
Deb
1c++ developer
Отсутствует


Sex, drugs and 1C

Сообщений: 41
Зарегистрирован: 21. Мая 2006
Re: Защита классов
Ответ #59 - 28. Ноября 2006 :: 12:45
Печать  
sedmin писал(а) 28. Ноября 2006 :: 09:55:
PS. Если тебя чувак в форуме спросит: "Как в 1С НДС посчитать?", ты что ему ответишь? Улыбка Скажешь, что сложные вопросы задает? А если спросит "Как в 1С товары без НДС продавать?" Улыбка

На помойку в черную...  Класс
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 3 [4] 5 6 
ОтправитьПечать