ОБСУЖДЕНИЕ

Как убит сессию

25 ответов 9,7 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Статус
Закрыто для дальнейших ответов.
Автор темы
пишу на VB6,
при закрытия формы выходит
Инструкция по адресу "0x7c90100b" обратилась к памяти по адресу "0x00000020". Память не может быть "read".
в модуле обьявил:
Код:
Public ns As New NotesSession обявлен
........
при инициализаций формы делаю
Код:
ns.Initialize (passw)

из за ns, т.е если закоментировать эту строку, ошибка не выходит, попробовал так

Код:
		ns.Initialize (passw)
Set db = ns.GetDatabase(IPserver, DBName, False)
Set ns = Nothing


типа уничтожаю сессию, не помогает, значить его по другому надо убить :gifts: только не знаю как правильно, в инете шарился целый день
 
Пальцем в небо: Delete ns

А если убрать вообще код связанный с нотес, ошибка остается?
 
Пальцем в небо: Delete ns

А если убрать вообще код связанный с нотес, ошибка остается?
если убрать ns.Initialize (passw), то ошибка исчезает :rolleyes:
Delete ns не проканало, пишет
---------------------------
Microsoft Visual Basic
---------------------------
Compile error:

Variable not defined
---------------------------
ОК Справка
---------------------------
 
Попробовал в ворде макрос
Код:
Dim ns As Variant
Dim db As Variant
Set ns = CreateObject("Lotus.NotesSession")
Call ns.Initialize
Set db = ns.GetDatabase("", "names.nsf", False)
If db.IsOpen() Then
MsgBox db.Title
End If
- работает без каких-либо сообщений об ошибках.
 
Akupaka
вот с васиккодерами так всегда ;) - гнилой инструмент не позволяет понять что не работает (еще КОМа всё запутывет), а все гадают на кофейной гуще :(
вордвасик<>хехельвасик<>ВБА<>бижуалвасик ;) это какие-то пересекающиеся местами множества, даже синтаксис отдельных мулек может не совпадать
 
одним слово мне надо убить созданную сессию, из за сессий выходит ошибка как я уже говорил, убираю ns.Initialize
открываю форму, закрываю форму и приложения, проблем нет, лотусоиды, дайте мне УБИЙЦУ :(
 
Убийца лотуса — killnotes.exe :(
 
Попробуйте ловить ошибку в этой строке и, игнорируя ее, продолжать выполнение программы.
 
ты мой пример попробовал?
попробуй описать переменную сессии не где-то в модуле, а на уровне процедуры, сначала
пробовал, не помогло
Код:
Private Sub Form_Load()
Dim ns As New NotesSession
Call ns.Initialize(passw)
Set db = ns.GetDatabase(IPserver, DBName, False)
Set ns = Nothing
Exit Sub
End Sub
получаю базу и убиваю сессию,не помогает
может инициализация привлечет собой ещё чего то ?
 
А зачем ее там убивать?
Set db = Nothing не пробовали перед Set ns = Nothing ?
 
Да там, по-идее, само все должно убиваться...
 
получаю базу и убиваю сессию,не помогает
убивать сессию надо в самом конце работы с домино объектами...
или я чего-то совсем не понимаю?%)
Если ее вообще надо убивать при таком связывании (As New Notessession).
 
просто при откытии формы делаю
Код:
Call ns.Initialize(passw)

Set ns = Nothing
закрываю форму и приложения,
выходит ошибка
Инструкция по адресу "0x7c90100b" обратилась к памяти по адресу "0x00000020". Память не может быть "read".
закоментировал эти строки, открываю приложения и форму, закрываю, без ошибок, отсюда вывод, убить нада
 
А если закомментить только Set ns = Nothing?
 
Интересно, в VB6 тип NotesSession что ли есть?
Думал, надо создавать так: Set session = CreateObject("Lotus.NotesSession")
 
насколько я помню - VB6 - это Visual Basic. соответственно, там в ртфм для него были описаны шаги, как подключить DOMOBJ.TLB.
 
Статус
Закрыто для дальнейших ответов.

Статистика тем

Создано
Didokz,
Последний ответ от
ToxaRat,
Ответы
25
Просмотры
9 652