Обзор обсужденияскоро
Разбор ответов скоро
Ключевые ответы обсуждения и их оценка появятся здесь.
Эксперты в тредескоро
Рейтинг участников скоро
Участники с сильными ответами в этой теме появятся здесь.
Codeby Academy
Практика и мастерство
От основ до продвинутого — программы для практиков Codeby.
К курсу →
гоняю шаблон StdR6Mail
на предмет лишних процедур/функций и несколько офигел...
Анализатор выплевывает:
form: (Out Of Office Profile) - Лишние процедуры/функции: Click, Postopen, Queryclose, Exiting
(такое там чуть ли не в каждой 5-й форме)
думаю что за нафиг это должно быть стандартные евенты формы, которые должны игнорироваться...
открываю форму и вижу, что в её глобале действительно выписаны эти функции, причем их содержимое такое же как в самих евентах
Теперь думаю что за нафиг....
Возникло три варианта:
1) ИБМовцы ПЯ пишут не в дезайне а лишь потом его туда импортят
2) это так косячит апргрейт ПЯ с одного шаблона на другой...
3) индусы....
особенно меня убил Click откуда такой евент у формы, он указан и в глобале формы и как липовый евент...
начинаю тихонько понимать почему так глючат ПЯ...
на предмет лишних процедур/функций и несколько офигел...
Анализатор выплевывает:
form: (Out Of Office Profile) - Лишние процедуры/функции: Click, Postopen, Queryclose, Exiting
(такое там чуть ли не в каждой 5-й форме)
думаю что за нафиг это должно быть стандартные евенты формы, которые должны игнорироваться...
открываю форму и вижу, что в её глобале действительно выписаны эти функции, причем их содержимое такое же как в самих евентах
Теперь думаю что за нафиг....
Возникло три варианта:
1) ИБМовцы ПЯ пишут не в дезайне а лишь потом его туда импортят
2) это так косячит апргрейт ПЯ с одного шаблона на другой...
3) индусы....
особенно меня убил Click откуда такой евент у формы, он указан и в глобале формы и как липовый евент...
начинаю тихонько понимать почему так глючат ПЯ...
я это начал понимать сразу как только залез править согласно рекомендациям работу почтовых правилначинаю тихонько понимать почему так глючат ПЯ
а с учетом того, что шаблоны тоже идут 6.х.х и т.д - становится местами страшно даже
В данном случае эвент формы это такая же LS-функция, как и все остальные и ничто не мешает функции называть Click и PostOpen. Что тут удивительного - что это мусор? Так где его нет!
не в названии речь, а в том что такие дубликаты называют в глобале формы, которые из-за своего "глобал" статуса уже являются первоочереднымиВ данном случае эвент формы это такая же LS-функция, как и все остальные и ничто не мешает функции называть Click и PostOpen. Что тут удивительного - что это мусор? Так где его нет!
это равносильно если у вас есть глобальная переменная и такая же внутри функции - одноименные и "логика кода" будет весьма забавная...не говоря уже о попытке потом это разребсти и отловить баг
анализатор некорректно определяет факт использования переменных объявленных в Declarations
как-то поподробнее можно?анализатор некорректно определяет факт использования переменных объявленных в Declarations
кусок строки где обьявлена переменная и где она используется
как по мне в декларах переменные лишь обьявляются, а используются они обычно внутри функций/процедур
Версия 1.1 - 24.07.2009
- исправлено когда файловый указатель считался не использованной переменной
- исправлено когда переменная не виделась в условии: цикла loop var, execute (dim var...)
- анализ используется ли библиотека где либо в базе
- добавлена обработка ошибки если елемент дизайна не удается обработать DXML экспортером
- теперь обьекты типа кнопок/полей/хотспот в формах/подформах/видах воспринимаются как отдельные обьекты и анализируются более корректно
- анализируются поля/кнопки/хотспоты содержащие в себе LS
- анализируются "невидимые" хотспоты - те у которых текст позднее был стерт и они не видны в дизайне, но присутствуют
- анализ используется ли локальная процедура/функция в данном элементе дизайна
- добавлена возможность не протоколировать выбранные ошибки
- добавлена возможность очистить протокол
- в утилиту добавлены скрытые "тестовые" ошибки, чтобы можно было протестировать всё на ней - Demo режим
- по умолчанию сервер/база указывают на утилиту
- исправлено когда файловый указатель считался не использованной переменной
- исправлено когда переменная не виделась в условии: цикла loop var, execute (dim var...)
- анализ используется ли библиотека где либо в базе
- добавлена обработка ошибки если елемент дизайна не удается обработать DXML экспортером
- теперь обьекты типа кнопок/полей/хотспот в формах/подформах/видах воспринимаются как отдельные обьекты и анализируются более корректно
- анализируются поля/кнопки/хотспоты содержащие в себе LS
- анализируются "невидимые" хотспоты - те у которых текст позднее был стерт и они не видны в дизайне, но присутствуют
- анализ используется ли локальная процедура/функция в данном элементе дизайна
- добавлена возможность не протоколировать выбранные ошибки
- добавлена возможность очистить протокол
- в утилиту добавлены скрытые "тестовые" ошибки, чтобы можно было протестировать всё на ней - Demo режим
- по умолчанию сервер/база указывают на утилиту
значит базы не парсятся7.0.2ru
на некоторых базах вываливается окошко с ошибкой "DOM parser operation failed!"
может скрытый дизайн?
можете кинуть мне такую базку?
в деларашенс объявлены переменные, используются в разных функциях, но анализатор говорит что они не используются..как-то поподробнее можно?
кусок строки где обьявлена переменная и где она используется
как по мне в декларах переменные лишь обьявляются, а используются они обычно внутри функций/процедур
дело происходит в агенте..
экспорт агента пожалуйста, мне нужен сам код, чтобы самому его прогнать, всё лишнее можете вырезать, мне нужно обьявление переменные и строчки в которые они точно "используются"в деларашенс объявлены переменные, используются в разных функциях, но анализатор говорит что они не используются..
дело происходит в агенте..
вот собственно.. кстати агент не выгружается в синопсис, исходник у него большой - на два поля в документе агента разложенэкспорт агента пожалуйста, мне нужен сам код, чтобы самому его прогнать, всё лишнее можете вырезать, мне нужно обьявление переменные и строчки в которые они точно "используются"
Код:
Option Public
Option Declare
Dim session As NotesSession
Dim ISWINDOWS As Boolean, ISARCH As Boolean, ISUNIX As Boolean
Sub Initialize
Set session = New NotesSession
' проверка рабочей платформы
If Not checkPlatform(session) Then
errorType = 1
'Call createErrorLog()
Exit Sub
End If
End sub
Function checkPlatform( ses As NotesSession) As Boolean
try:
On Error Goto catch
If Instr(Lcase(ses.Platform), "windows")>0 Then
checkPlatform = True
ISWINDOWS = True
SLASH = WSLASH
Elseif Instr(Lcase(ses.Platform), "unix")>0 Then
checkPlatform = True
ISUNIX = True
SLASH = USLASH
Else
''
End If
Exit Function
catch:
''
Exit Function
End Function
Function checkFile(filePath As String) As Boolean
Dim attr As Integer
try:
On Error Goto catch
If ISWINDOWS Then
''
Elseif ISUNIX Then
''
End If
Exit Function
catch:
Exit Function
End Function
Версия 1.1 - гораздо меньше ложных срабатываний.
Есть один случай, не знаю есть ли смысл для него делать затычку:
как известно Shell всегда просит возвращать результат в переменную.
Т.е. нельзя делать так:
а приходится делать так
зачастую эта i потом больше не используется, и логично, что анализатор говорит, что она лишняя, но, на самом деле, она не совсем лишняя.
Точнее совсем не лишняя
Случай дурацкий, так что сам смотри, стоит ли для него делать закладку...
Есть один случай, не знаю есть ли смысл для него делать затычку:
как известно Shell всегда просит возвращать результат в переменную.
Т.е. нельзя делать так:
Код:
Call Shell(CmdLine, 1)
Код:
Dim i As Integer
i = Shell(CmdLine, 1)
Точнее совсем не лишняя
Случай дурацкий, так что сам смотри, стоит ли для него делать закладку...
У Shell второй параметр - режим окна.
Не годится туда i тыкать
-------------------
По хотспотам: я тут тоже ковыряюсь с анализом DXL довольно давно и тоже обрабатываю хотспоты.
Как я вижу, ты хотспотам в качеств id присваиваешь просто порядковый номер в пределах, наверно, дизайн-элемента.
Но на самом деле для хотспота тоже можно вытащит довольно много инфы: текст (если хотспот - выделенный текст), имя поля (если поле), надпись на кнопке (если кнопка) и т.д.
Если хошь могу поделится ф-ей
-------------------
И ещё один случай:
Говорит, что retArray - лишняя переменная.
Не годится туда i тыкать
-------------------
По хотспотам: я тут тоже ковыряюсь с анализом DXL довольно давно и тоже обрабатываю хотспоты.
Как я вижу, ты хотспотам в качеств id присваиваешь просто порядковый номер в пределах, наверно, дизайн-элемента.
Но на самом деле для хотспота тоже можно вытащит довольно много инфы: текст (если хотспот - выделенный текст), имя поля (если поле), надпись на кнопке (если кнопка) и т.д.
Если хошь могу поделится ф-ей
-------------------
И ещё один случай:
Код:
Function ToStringArray(Some As Variant, RetArray() As String) As Boolean
'RetArray - является переменной, которую я заполняю в ф-ии
...
Redim RetArray(Ubnd) As String 'тут я её какбэ обнуляю
...
'тут я заполняю retArray из Some
...
ToStringArray = True
End Function
если у хотспота есть текст я его вытягиваю, но хотспот может лежать поверх рисункаПо хотспотам: я тут тоже ковыряюсь с анализом DXL довольно давно и тоже обрабатываю хотспоты.
Как я вижу, ты хотспотам в качеств id присваиваешь просто порядковый номер в пределах, наверно, дизайн-элемента.
да, нужно будет подумать о таком варианте...Говорит, что retArray - лишняя переменная.
Поиск в обсуждении
Ещё по теме
4
Поделиться: