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

  • Автор темы Didokz
  • Дата начала
Статус
Закрыто для дальнейших ответов.
D

Didokz

Гость
#1
пишу на 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: только не знаю как правильно, в инете шарился целый день
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#2
Пальцем в небо: Delete ns

А если убрать вообще код связанный с нотес, ошибка остается?
 
D

Didokz

Гость
#3
Пальцем в небо: Delete ns

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

Variable not defined
---------------------------
ОК Справка
---------------------------
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
#4
Попробовал в ворде макрос
Код:
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
- работает без каких-либо сообщений об ошибках.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 492
367
#5
Akupaka
вот с васиккодерами так всегда ;) - гнилой инструмент не позволяет понять что не работает (еще КОМа всё запутывет), а все гадают на кофейной гуще :(
вордвасик<>хехельвасик<>ВБА<>бижуалвасик ;) это какие-то пересекающиеся местами множества, даже синтаксис отдельных мулек может не совпадать
 
D

Didokz

Гость
#6
одним слово мне надо убить созданную сессию, из за сессий выходит ошибка как я уже говорил, убираю ns.Initialize
открываю форму, закрываю форму и приложения, проблем нет, лотусоиды, дайте мне УБИЙЦУ :(
 

divankin

Senjor developer
13.08.2009
182
0
#9
Попробуйте ловить ошибку в этой строке и, игнорируя ее, продолжать выполнение программы.
 
D

Didokz

Гость
#11
ты мой пример попробовал?
попробуй описать переменную сессии не где-то в модуле, а на уровне процедуры, сначала
пробовал, не помогло
Код:
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
получаю базу и убиваю сессию,не помогает
может инициализация привлечет собой ещё чего то ?
 

hosm

* so what *
18.05.2009
2 442
9
#12
А зачем ее там убивать?
Set db = Nothing не пробовали перед Set ns = Nothing ?
 

hosm

* so what *
18.05.2009
2 442
9
#14
получаю базу и убиваю сессию,не помогает
убивать сессию надо в самом конце работы с домино объектами...
или я чего-то совсем не понимаю?%)
Если ее вообще надо убивать при таком связывании (As New Notessession).
 
D

Didokz

Гость
#15
просто при откытии формы делаю
Код:
Call ns.Initialize(passw)

Set ns = Nothing
закрываю форму и приложения,
выходит ошибка
Инструкция по адресу "0x7c90100b" обратилась к памяти по адресу "0x00000020". Память не может быть "read".
закоментировал эти строки, открываю приложения и форму, закрываю, без ошибок, отсюда вывод, убить нада
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#17
Интересно, в VB6 тип NotesSession что ли есть?
Думал, надо создавать так: Set session = CreateObject("Lotus.NotesSession")
 

hosm

* so what *
18.05.2009
2 442
9
#20
насколько я помню - VB6 - это Visual Basic. соответственно, там в ртфм для него были описаны шаги, как подключить DOMOBJ.TLB.
 
Статус
Закрыто для дальнейших ответов.