![]() |
|
v7: Анализатор кода. | ☑ | ||
---|---|---|---|---|
0
Eeakie
04.04.14
✎
14:37
|
Добрый день.
Есть ли в наше время штуковина, которая может рассказать какие процедуры из конфигурации используются, а какие нет? |
|||
1
Eeakie
04.04.14
✎
14:45
|
Видел для восьмерки нечто подобное.
Кто-то писал, что и для семерки есть. Сделано на основе какой-то дллки, но я её так и не нашёл. Поделитесь? |
|||
2
Ёпрст
гуру
04.04.14
✎
14:45
|
есть
|
|||
3
pumbaEO
04.04.14
✎
14:45
|
Где используются?
Реально или в коде? |
|||
4
Ёпрст
гуру
04.04.14
✎
14:46
|
||||
5
Eeakie
04.04.14
✎
14:48
|
(3) Реально используются. Очень много лишнего в конфе...
(4) Вроде инфостарт облазил и всё равно пропустил. Спасибо. |
|||
6
dk
04.04.14
✎
14:55
|
поиск по конфигурации не предлагать?
|
|||
7
Eeakie
04.04.14
✎
14:59
|
(6) Слишком много лишнего. Очень утомительно.
|
|||
8
Eeakie
04.04.14
✎
15:10
|
Теперь ActiveMD не хочет регистрироваться. Что за...
|
|||
9
Злопчинский
04.04.14
✎
15:15
|
есть еще трейсер.
прога работает - а оно пишет в лог что за чем и как... ищи на ИСе в разработках О-Планет |
|||
10
Eeakie
04.04.14
✎
15:35
|
Люди, как ActiveMD зарегистрировать?
Через regsvr всё прошло нормально. При запуске пишет "отсутствует CLSID". VKLoader тоже проблему не побеждает. Что делатЬ? |
|||
11
Eeakie
04.04.14
✎
15:36
|
Запускал под админскими правами.
|
|||
12
ДенисЧ
04.04.14
✎
15:37
|
имя = "мояФ";
имя = имя + "унк"; имя = имя + "ция"; Шаблон("[имя]()"); Как функия используется? |
|||
13
Eeakie
04.04.14
✎
15:39
|
(12) интересная аналогия. Жаль, что я не смог её понять.
|
|||
14
Eeakie
04.04.14
✎
16:13
|
Положил дллку в BIN. Запустил 1с с админскими правами - отсутствует CLSID. Сделал regsvr32.exe "...\activemd.dll" - "компонента успешно зарегистрирована" - запустил 1с - отсутствует CLSID.
Что я делаю не так? |
|||
15
Eeakie
04.04.14
✎
16:14
|
Windows Server 2008r2.
Пробовал отключать контроль учетных записей. Не помогло. |
|||
16
Salimbek
04.04.14
✎
16:38
|
(15) Поставить ВиртуалБокс и там поднять Win XP?
|
|||
17
ALoHA
04.04.14
✎
16:43
|
Отладчик.
|
|||
18
Eeakie
04.04.14
✎
16:44
|
Странно, но с дллкой работать можно, хоть 1ска и ругается на отсутствие CLSID.
|
|||
19
Torquader
05.04.14
✎
00:39
|
В первом приближении, задача решается для любого языка программирования, если мы знаем синтаксис вызова процедур и функции, а также предполагаем, что у нас нет команды eval, которая, например, есть в javascript или 1С восьмой версии.
Тогда мы можем найти процедуру, на которую никто не ссылается. Но, в случае 1С, есть стандартные вентили (то есть процедуры с заранее заданным именем, вызываемые системой при каких-то событиях), а также действия на форме и идентификаторы кнопок, про которые тоже забывать нельзя. Далее, мы можем придти к ситуации, когда в начале кода написано ПарамА=1; Потом идёт куча вызовов, а в конце Если ПарамА=2 Тогда ВыполнитьДействиеПо2();КонецЕсли; с точки зрения анализатора "ВыполнитьДействиеПо2" вызывается, так как на неё есть ссылка, а с точки зрения логики кода - нет, так как параметр всегда равен 1. |
|||
20
Злопчинский
05.04.14
✎
01:22
|
вот-вот... должны же быть какие-то инструменыт, которые оценивают вот такое качество когда, что-то где-то мне попадалось.. типа гоняют тупо программы на кипах входных инпутов, и смотярть где чего выполняется... где мертвые ветки, неиспользуемые вызовы и прочая лабудень
|
|||
21
Sserj
05.04.14
✎
04:18
|
(14) Скорей всего используешь regsvr32 в 64-ей битной системе, в таких надо пользовать %systemroot%\SysWoW64\regsvr32.exe.
|
|||
22
Torquader
05.04.14
✎
15:18
|
(20) На самом деле, для качественной оценки кода желательно знать тип переменной, а в 1С - этого нет.
Например, мы обрабатываем элемент справочника, передавая объект (не ссылку) внутрь функции, а внутри функции вообще не видно, кого мы там получили. Если бы была типизация, то код можно было бы оценивать отдельно. Далее, есть проблема в неявном определении переменных - та же самая, что из самой функции не всегда ясно, где переменная начала свою жизнь, а где - закончила. |
|||
23
spectre1978
06.04.14
✎
07:24
|
(19) есть там подобие евала. Во-первых Шаблон(), во-вторых при работе через OLE EvalExpr ()...
|
|||
24
Torquader
06.04.14
✎
13:58
|
(23) OLE мы не рассматриваем, а про шаблон я уже писал - в таблице-то можно указать и формулы и функции, но их видно.
Хотя, шаблон можно вляпать и в коде - тогда будет фигура из четырёх букв. |
|||
25
orefkov
06.04.14
✎
14:35
|
(21)
Нет, он пытается ей сделать ЗагрузитьВнешнююКомпоненту, а activemd ей не является, это обычный OLE объект, создается просто СоздатьОбъект. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |