Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/92: Рейтинг темы: голосов - 92, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 11.09.2006
Сообщений: 373

Функция не возвращает Notesdocument из другой БД

04.10.2007, 14:09. Показов 16816. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Function GetDoc(UN as string) as NotesDocument
Dim doc As NotesDocument
...........
Set GetDoc = doc
ExitFunction
- лежит в библиотеке

при вызове возвращает Nothyng... так должно быть? могут ли функции возвращать указатели на обьекты?

не знаю критично или нет, doc находится в другой БД
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.10.2007, 14:09
Ответы с готовыми решениями:

Функция возвращает пустой Notesdocument
Вот такая простая функция Function createRequest() As NotesDocument Dim ns As New NotesSession Dim MIISdb As NotesDatabase Dim...

Функция Не Возвращает Значения Notesdocument
Добрый день всем, не могу заставить Lotus работать, первый раз с таким сталкиваюсь. Функция не возвращает переменной, Recompile All...

Функция отрабатывает верно, но возвращает другой список
Здравствуйте! в упор не вижу, где ошибка, функция выдает правильный список, но при возвращении в место вызова список выдает уже другой,...

11
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
04.10.2007, 14:12
<!--QuoteBegin-fvoice+5:10:2007, 12:56 -->
<span class="vbquote">(fvoice @ 5:10:2007, 12:56 )</span><!--QuoteEBegin-->могут ли функции возвращать указатели на обьекты?
[snapback]80754" rel="nofollow" target="_blank[/snapback]?[/quote]
да, могут

<!--QuoteBegin-fvoice+5:10:2007, 12:56 -->
<span class="vbquote">(fvoice @ 5:10:2007, 12:56 )</span><!--QuoteEBegin-->не знаю критично или нет, doc находится в другой БД
[snapback]80754" rel="nofollow" target="_blank[/snapback]?[/quote]
да канечно, если в ф-ции привязка на тек. БД

кода та не видно!
0
0 / 0 / 0
Регистрация: 23.10.2006
Сообщений: 218
04.10.2007, 14:17
Если документ из другой БД и ПОСЛЕ вызова из функции нету объекта той БД, то NotesDOcument волшебным образом превращается в Nothyng. Выход - протаскивать объект DB через функцию. То есть пропсывать Function GetDoc(UN as string, DB As NotesDatabase) as NotesDocument.
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
04.10.2007, 14:20
Для: Mihal
да тоже может быть, убиваете базу - пропадает привзяка на документ
0
0 / 0 / 0
Регистрация: 11.09.2006
Сообщений: 373
04.10.2007, 14:44
кода та не видно!


Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Function MyGetMainDoc(UN As String) As NotesDocument
 
Dim ws As New NotesUIWorkspace
Dim parent As NotesDocument
Dim db As New NotesDatabase("","")
Dim view As NotesView
 
On Error Goto Errhandle
 
If Not db.OpenWithFailover( MyGetServer("DBDocs"),MyGetDB("DBDocs")) Then
Messagebox "Документ не найден, возможно он был удален, или БД временно не доступна!"
Exit Function
End If
Set view = db.GetView("($UN)")
Set parent = view.GetDocumentByKey(UN)
 
If Not (parent Is Nothyng) Then
Set MyGetMainDoc = parent
Else
If Not db.OpenWithFailover( MyGetServer("DBArchive"),MyGetDB("DBArchive")) Then
Messagebox "Документ не найден, возможно он был удален, или БД временно не доступна!"
Exit Function
End If
Set view = db.GetView("($UN)")
Set parent = view.GetDocumentByKey(UN)
 
If Not (parent Is Nothyng) Then
Set MyGetMainDoc = parent
Else
If Not db.OpenWithFailover(MyGetServer("DBTrash"),MyGetDB("DBTrash")) Then
Messagebox "Документ не найден, возможно он был удален, или БД временно не доступна!"
Exit Function
End If
Set view = db.GetView("($UN)")
Set parent = view.GetDocumentByKey(UN)
 
If Not (parent Is Nothyng) Then
Set MyGetMainDoc = parent
Else
Set MyGetMainDoc = Nothyng
End If
End If
End If
 
Exit Function
Errhandle:
Messagebox "Error on MyGetMainDoc" & Str(Err) & ": " & Error$+"on line" & Cstr(Erl)
Exit Function
 
End Function


Выход - протаскивать объект DB через функцию
выходит не получиться?
0
0 / 0 / 0
Регистрация: 23.10.2006
Сообщений: 218
04.10.2007, 14:50
<!--QuoteBegin-Mihal+5:10:2007, 13:04 -->
<span class="vbquote">(Mihal @ 5:10:2007, 13:04 )</span><!--QuoteEBegin-->Если документ из другой БД и ПОСЛЕ вызова из функции нету объекта той БД, то NotesDOcument волшебным образом превращается в Nothyng. Выход - протаскивать объект DB через функцию. То есть пропсывать Function GetDoc(UN as string, DB As NotesDatabase) as NotesDocument.
[snapback]80760" rel="nofollow" target="_blank[/snapback]?[/quote]

Вот тут корень! Зрим в корень!
0
0 / 0 / 0
Регистрация: 11.09.2006
Сообщений: 373
04.10.2007, 14:56
Вот тут корень! Зрим в корень!
дык.. Откройте мне глаза пожалуйста, как мне засунуть в функцию обьект БД, если заранее не знаю в какой БД документ лежит? :lol:
0
0 / 0 / 0
Регистрация: 23.10.2006
Сообщений: 218
04.10.2007, 15:10
<!--QuoteBegin-fvoice+5:10:2007, 13:43 -->
<span class="vbquote">(fvoice @ 5:10:2007, 13:43 )</span><!--QuoteEBegin-->дык.. Откройте мне глаза пожалуйста, как мне засунуть в функцию обьект БД, если заранее не знаю в какой БД документ лежит?
[snapback]80777" rel="nofollow" target="_blank[/snapback]?[/quote]
Function MyGetMainDoc(UN As String, DB As NotesDatabase) As NotesDocument

А в самой функции объявление db выкинь нафиг. Делаешь объект Notesdatabase снаружи, потом передаёшь его в функцию - и усё! Переменные-оюъекты передаются по ссылке, после отработки функции будешь иметь свой db.
0
0 / 0 / 0
Регистрация: 11.09.2006
Сообщений: 373
04.10.2007, 15:27
Для: Mihal
Хитрый ход конем! :lol:
Сенкс!
0
0 / 0 / 0
Регистрация: 29.09.2007
Сообщений: 31
04.10.2007, 15:28
Для: fvoice

а что собираешсь потом с этим документом делать?

Открывать в UI? изменять в нем что-то? просто читать из него информацию?
0
0 / 0 / 0
Регистрация: 11.09.2006
Сообщений: 373
04.10.2007, 15:32
Для: redbestcat
у меня была процедурка MyOpenMainDoc(UN as string) которая открывала документ, появилась необходимость просто получать объект, что бы просто читать с него поля... запнулся.. помогли добрые люди!
0
0 / 0 / 0
Регистрация: 29.09.2007
Сообщений: 31
04.10.2007, 15:44
Для: fvoice

Если просто читать, то будет идейка. Конечно минусов много, и она сложнее выше предложенной, но може т в ней что-то для себя найдешь.

В процедуре:
1. Нашел нужный док
2. Создал новый док в текущей базе
3. Скопировал все итемы с найденного дока в новый
4. Вернул новый док

Дальше его просто не сохраняешь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.10.2007, 15:44
Помогаю со студенческими работами здесь

Функция возвращает указатель на нужную ячейку переданного массива, но адрес другой
Пишу котрольку. В функцию передается массив созданный из объектов на основе собственной структуры. Ищет в нем нужную ячейку по одному из...

Как в delphi использовать значение, которое возвращает функция в другой функции
как в delphi использовать значение которое возвращает функция в другой функции??? Например : Procedure Start(var T); вот это...

послать сообщение Notesdocument -> Notesdocument
Подскажите пожалуйста как можно послать сообщение от одного NotesDocument другому конечная задача я делаю аналог DialogBox мне надо...

Функция возвращает адрес , как передать этот адрес другой функции ?
const int max = 5; double * fill_array(double, int); void show_array(const double, double *); // как передать этой функции в...

Notesdocument - MS Word - Notesdocument
Всем привет! Прошу помощи. Задача такая: проект (NotesDocument) прилетает на согласование юзеру. В проекте вложенный MS Word документ....


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru