0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 39
|
|
1 | |
Подмена параметра в методе Queryopen04.06.2010, 14:09. Показов 54822. Ответов 36
Метки нет (Все метки)
Привет.
Столкнулся на днях с интересной проблемой. Может быть кто-то тоже сталкивался. При открытии документа в его методе Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant) в параметр Source - передается совсем другой документ, т.е. передается документ из другой базы совсем (из почтовой) у которого другой метод Queryopen и т.е. попадает документ который вообще не имеет отношения к открываемому документу. Какой-то интеренсый "глюк" что-ли ? Как такое может быть вообще. Удалял cache.ndk, desktop, bookmarks, - переустанавливал клиент - ничего не помагает Самое интересное вот что: - если переустановить клиент lotus на этой машине, то при первом открытии документ - то ошибки с подменой параметра не возникает но если перезапусить клиент то ошибка появиться и будет повторяться уже всегда. - если в ACL базы изменить уровень пользователя с Редактора на дизайнера - то ошибка с подменой параметра исчезает - на других компьютерах под этим iD-пользователя - все работает корректно т.е. глюк проявляется только на оной конкретной машине Lotus Notes. 7.0.2 + Windows XP SP2 Даже не знаю - это что какая-то проблема с интерпретаром Lotus Script ?
0
|
04.06.2010, 14:09 | |
Ответы с готовыми решениями:
36
Подмена параметра в программе Передача класса как параметра в методе Узнать размер типа-параметра в шаблонном методе Как привести (состыковать) разные типы из разных классов (исп в качестве выходного параметра в методе) |
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
06.06.2010, 09:23 | 2 |
Может быть в Itialize этой формы или подключаемой библиотеки есть открытие документа в почтовой базе?
0
|
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
|
|
06.06.2010, 10:34 | 3 |
Lariel
а документ случаем не во фрейме открывается? или из другого дока? или Source это глобальная переменная?
0
|
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
|
|
06.06.2010, 13:32 | 4 |
Lariel
Проблема, естессно, была ещё под 6-кой при использовании параметра newInstance в NUIWS.EditDocument. И надо перед вызовом кода очищать (Delete) всех объектов: сессии и т.п., кроме текущей БД, - её надо забивать с помощью присваивания Nothyng, чтобы не было малевичей.., потом брать заново и выполнять скрипт. Получилось много условностей, поэтому сейчас я вообще ушёл от таких решений в сторону NUIWS.URLOpen(URL$).
0
|
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 39
|
|
06.06.2010, 17:34 | 5 |
Сообщение от ToxaRat
документ открывается из представление, а представление внутри фрейма. Это может как-то влиять ? Добавлено:
Сообщение от VladSh
Хотя на вскидку точно других открытых документов нет и даже нет других открытых баз, Открыта только одна база в которой идет попытка открыть документ (первый в рабочем пространстве Lotus) Не знаю - это играет какую-то роль ?
0
|
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
|
|
06.06.2010, 18:22 | 6 |
Сообщение от Lariel
И то, что "вроде как" не открыто других БД это ничего не означает, сейчас много любителей и под Notes делать что-то типа портала, т.е. как бы на одной странице есть доступ к разным БД. Если же это Ваша БД и Вы точно знаете, что никаких фреймов на чужие БД нет, тогда не знаю...
0
|
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 39
|
|
06.06.2010, 20:52 | 7 |
Сообщение от VladSh
Все на самом деле очень просто - код никаких других документов из других баз - не ищет и никуда не лезет в другие базы. такой код. а об одном документе в рабочем пространстве я писал для примера для ясности т.к. выше вроде была идея, что lotus notes может переключается в один из уже открытых ранее докумиентов - так вот я и написал что никаких других открытых документов нет. Условно говоря запускаю лотус открываю эту базы и сразу открываю документ - и тут в параметр source - появляется непонятно гокуда другой совсем документ из другой базы - меня вот это и удивило. Документ-то в итоге открывается тот на котором щелкал пользователь, но в коде в отлладчике видно что в параметре совсем другой документ.
0
|
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 39
|
|
06.06.2010, 21:59 | 8 |
Строго говоря, если я правильно понял суть этого "глюка" - программный код вообще может никакого не быть -
тут важен именно факт что в процессе отладки в метод в параметр пападает уже другой "левый" документ, и этот неверное значения параметрп может передаваться уже программному коду. Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant) REM Source - этот нее тот документ на который щелкал пользователь и вообще из другой базы ----> а программный код уже чего тут анализировать раз Source не тот на которомщелкали End Sub
0
|
1 / 1 / 0
Регистрация: 01.10.2006
Сообщений: 615
|
|
07.06.2010, 11:53 | 9 |
может в представлении есть какой-то код ?
0
|
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 39
|
|
07.06.2010, 12:21 | 10 |
Сообщение от Kee_Keekkenen
Чудаса какие-то
0
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
07.06.2010, 12:26 | 11 |
Lariel
Может стоит базу выложить, чтоб все подивились на такое чудо
0
|
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 39
|
|
07.06.2010, 12:54 | 12 |
Сообщение от nvy
а на других ПК эта база работает нормально. Я начинаю подумывать что это вообще какой-то глюк интерпретатора LotusScript, возможно как-то связанный с системным окружением на этом ПК. Но как только права пользователя на этой машине в базе поднимаю до Designer - то проблема пропадает на этом ПК.
0
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
07.06.2010, 12:58 | 13 |
Lariel
Может "вирус бродит по Европе" (с)? Винду переустанавливать пробовали?
0
|
1 / 1 / 0
Регистрация: 01.10.2006
Сообщений: 615
|
|
07.06.2010, 16:35 | 14 |
Сообщение от Lariel
а то можно написать синглетон, который будет при открытии (вида, дока) перехватывать события вьюхи или документа и все делать по своему..
0
|
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 39
|
|
07.06.2010, 21:59 | 15 |
Сообщение от Kee_Keekkenen
Представление - чистое - в смысле там кода нет никакого. Ой, а синглетон - это что такое - я чего то такого не встречал - это куда смотреть нужно ?
0
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
08.06.2010, 09:46 | 16 |
Сообщение от Lariel
0
|
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 39
|
|
08.06.2010, 21:20 | 17 |
Предположим, что эта ошибка с экземпляром, но не ясно почему тогда она возникает только на одном конкретном месте и исчезает если повысить права до disigner
0
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
09.06.2010, 09:17 | 18 |
Сообщение от Lariel
0
|
0 / 0 / 0
Регистрация: 26.05.2006
Сообщений: 1,313
|
|
09.06.2010, 13:13 | 19 |
А почему она рушится только ПОСЛЕ ПЕРЕЗАГРУЗКИ машины?
Я там (рядом с проблемой) был: на той машинке установлен сильно засекреченый софт (как пить дать с подменой системных DLL). После переинсталляции LN базы работают - до перезапуска машинки. Гипотеза: "тот" софт что-то в системе рихтует (типа - с взломом борется)
0
|
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
|
|
09.06.2010, 13:19 | 20 |
Хм, обычно подменой системных dll всякие червяки занимаются. "Сильная засекреченность" софта червякам не мешает грызть и его тоже.
Опять же непонятно, а с дизайнерскими правами почему работает? Полтергейст да и только...
0
|
09.06.2010, 13:19 | |
09.06.2010, 13:19 | |
Помогаю со студенческими работами здесь
20
Source.document на queryopen Подмена файла hosts, подмена стартовой страницы, обращение utorrent к подозрительным адресам Нужно чтобы введённый студент в методе in вывелся на экран как в методе out Цикл для повторения вычислений создать в методе main. Также в методе main предусмотреть обработку исключений в случае вв Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |