Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.70/302: Рейтинг темы: голосов - 302, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 39
1

Подмена параметра в методе Queryopen

04.06.2010, 14:09. Показов 54822. Ответов 36
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет.

Столкнулся на днях с интересной проблемой. Может быть кто-то тоже сталкивался.

При открытии документа в его методе

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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2010, 14:09
Ответы с готовыми решениями:

Подмена параметра в программе
Здравствуйте. Есть определенная программа при запуске которой формируется число из 6 символов и...

Передача класса как параметра в методе
Добрый вечер. У меня проблема. foreach (Form item in Application.OpenForms) { ...

Узнать размер типа-параметра в шаблонном методе
Доброе утро! Подскажите, пожалуйста, как по параметру шаблона типа "тип" узнать его размер: ...

Как привести (состыковать) разные типы из разных классов (исп в качестве выходного параметра в методе)
Вопрос состоит в том как максимально просто заставить работать такой неправильный код. Самое...

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
Lariel
а документ случаем не во фрейме открывается?
или из другого дока?
или Source это глобальная переменная? ;)
Source - нет это не глобальная переменная, но
документ открывается из представление, а представление внутри фрейма.
Это может как-то влиять ?

Добавлено:


Цитата Сообщение от VladSh
Lariel

Проблема, естессно, была ещё под 6-кой при использовании параметра newInstance в NUIWS.EditDocument. И
Это интересная идея - нужно посмотреть, проверить.
Хотя на вскидку точно других открытых документов нет и даже нет других открытых баз,
Открыта только одна база в которой идет попытка открыть документ (первый в рабочем пространстве Lotus)
Не знаю - это играет какую-то роль ?
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
06.06.2010, 18:22 6
Цитата Сообщение от Lariel
Открыта только одна база в которой идет попытка открыть документ (первый в рабочем пространстве Lotus)
Как это "документ (первый в рабочем пространстве Lotus)"?? Открыт вид? и Вы пытаетесь открыть док из вида вручную даблкликом? Если так, то на открытии этого дока может стоять код, который ищет что-то в других базах и пытается открыть..
И то, что "вроде как" не открыто других БД это ничего не означает, сейчас много любителей и под Notes делать что-то типа портала, т.е. как бы на одной странице есть доступ к разным БД.
Если же это Ваша БД и Вы точно знаете, что никаких фреймов на чужие БД нет, тогда не знаю...
0
0 / 0 / 0
Регистрация: 07.09.2009
Сообщений: 39
06.06.2010, 20:52 7
Цитата Сообщение от VladSh
Как это "документ (первый в рабочем пространстве Lotus)"?? Открыт вид? и Вы пытаетесь открыть док из вида вручную даблкликом? Если так, то на открытии этого дока может стоять код, который ищет что-то в других базах и пытается открыть..
И то, что "вроде как" не открыто других БД это ничего не означает, сейчас много любителей и под Notes делать что-то типа портала, т.е. как бы на одной странице есть доступ к разным БД.
Если же это Ваша БД и Вы точно знаете, что никаких фреймов на чужие БД нет, тогда не знаю...
я тут наврено только запутал.

Все на самом деле очень просто - код никаких других документов из других баз - не ищет и никуда не лезет в другие базы.
такой код.

а об одном документе в рабочем пространстве я писал для примера для ясности
т.к. выше вроде была идея,
что 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
Lariel
Может стоит базу выложить, чтоб все подивились на такое чудо
Да в том то и дело, как я писал в первом постинге - что глюк проявляется только на одной конкретной машине,
а на других ПК эта база работает нормально.

Я начинаю подумывать что это вообще какой-то глюк интерпретатора 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
Ой, а синглетон - это что такое - я чего то такого не встречал - это куда смотреть нужно ?
В гугл. Если чего не знаешь, в первую очередь нужно смотреть в гугл — там гугол информации на любую тему. А что касается библиотек, то стоит внимательно посмотреть, что они делают. Существуют технологии, например, в почтовом шаблоне, когда при открытии формы создаётся экземпляр класса со ссылками на doc, uidoc, session, db и прочее. Вот там может быть какая-нибудь ошибка.
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
Предположим, что эта ошибка с экземпляром, но не ясно почему тогда она возникает только на одном конкретном месте и исчезает если повысить права до disigner
А точно до disigner? Может быть до editor? Тогда нужно смотреть в сторону прав на редактирование документа, т.е. поля authors. Теоретически возможно, что у данного сервера (клиента) не хватает прав на редактирование какого-то настроечного/профильного документа и логика программы рушится.
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2010, 13:19
Помогаю со студенческими работами здесь

Source.document на queryopen
Дорого времени суток. Никто не сталкивался с такой ситуацией? У пользователя доступ на чтение на...

Подмена файла hosts, подмена стартовой страницы, обращение utorrent к подозрительным адресам
Добрый день! Попал в руки ноутбук со следующей проблемой: браузер не открывал доступ к сайтам и...

Нужно чтобы введённый студент в методе in вывелся на экран как в методе out
#include<conio.h> #include<stdio.h> #include<iostream.h> #include<windows.h>...

Цикл для повторения вычислений создать в методе main. Также в методе main предусмотреть обработку исключений в случае вв
1.Даны целые числа А и В, обозначающие соответственно числитель и знаменатель дроби. Определить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru