Domino 9 und frühere Versionen > Entwicklung
neu VISUAL BASIC Problem: ID Datei konnte nicht geöffnet werden
Don Pasquale:
NEU :
Ich will das Problem nochmal neu beschreiben :
Der User hat Lotus auf C,
das DATA Verzeichnis und seine ID Datei auf einem gemappten Laufwerk W.
Folgende Zeile:
Call LNSession.Initialize(strPassword)
wirft diesen Fehler auf:
-2147217504
Die ID Datei konnte nicht geöffnet werden.
Wer weiss Rat ?
********************************
Altes Posting
Hallo Leute,
ich habe ein Visual Basic Programm geschrieben, welches Datensätze in einer Lotus DB erstellt.
Das Programm funktioniert auch - auf meinem Rechner. ( NT )
Aber nicht beim Kunden.
Das Problem ist höchstwahrscheinlich das
DIM LNSESSION as NotesSession
Hat da jemand eine Idee für mich ?
Hier ein Codeauszug :
Const VERSION = "1.01"
Const OS = "NT Workstation"
Public strLotusserver As String
Public strLotusDBFile As String
Public strPassword As String
Public bLogging As Boolean
Public strLogfile As String
Private Sub Main()
' NT VERSION
Dim LNSession As NotesSession
Dim LNDB As NotesDatabase
' XP Version
'Dim LNSession As Variant
'Dim LNDB As Variant
Dim LNDoc As Variant
Dim item As Variant
Dim obj As NotesEmbeddedObject
Dim rti As NotesRichTextItem
Dim strCommandLine As String
Dim strNewPassword As String
Dim Zeile1 As String
Dim myBESITZER As String
Dim myVorname As String
Dim myNachname As String
Dim myTITEL As String
Dim myGRUPPE As String
Dim myVERZEICHNIS As String
On Error GoTo ErrHandler
strCommandLine = Command()
writeLog ("StrCommandline" & strCommandLine)
myGRUPPE = Trim(sWord(strCommandLine, "#", 1))
writeLog ("MyGruppe :" & myGRUPPE)
myBESITZER = sWord(strCommandLine, "#", 2)
writeLog ("MyBESITZER :" & myBESTIZER)
If myBESITZER <> "" Then
myVorname = Trim(sWord(myBESITZER, ",", 2))
myNachname = Trim(sWord(myBESITZER, ",", 1))
myBESITZER = myVorname & " " & myNachname
End If
myTITEL = sWord(strCommandLine, "#", 3)
myVERZEICHNIS = sWord(strCommandLine, "#", 4)
' NT & XP Version
Set LNSession = New NotesSession
writeLog ("Set LNSession = New NotesSession nachher")
' XP Version ?????
' Set LNSession = CreateObject("Notes.NotesSession")
strPassword = Decode(strPassword)
Call LNSession.Initialize(strPassword)
If Not LNSession Is Nothing Then
Set LNDB = LNSession.GetDatabase(strLotusserver, strLotusDBFile)
Set LNDoc = LNDB.CreateDocument
Call LNDoc.AppendItemValue("BESITZER", myBESITZER)
Call LNDoc.AppendItemValue("GRUPPE", myGRUPPE)
Call LNDoc.AppendItemValue("TITEL", myTITEL)
Call LNDoc.AppendItemValue("DATUM", Now)
Call LNDoc.AppendItemValue("Form", "frmDokument")
Set rti = LNDoc.CreateRichTextItem("BODY")
Set obj = rti.EmbedObject(EMBED_ATTACHMENT, "", myVERZEICHNIS & "\00001")
' Das Dokument speichern
LNDoc.Save True, False, False
On Error GoTo ErrHandler
Kill (myVERZEICHNIS & "\00001")
RmDir (myVERZEICHNIS)
End If
Exit Sub
ErrHandler:
writeLog (Now & " Fehler # " + Str(Err) + " aufgetreten:" + vbCrLf + Now + " " + Err.Description)
Set LNDB = Nothing
Set mLNsession = Nothing
End Sub
Private Function SetNewPassword(aNewPassword As String) As Boolean
Dim strError As String
If Not Registry_SchreibeWert(HKEY_LOCAL_MACHINE, RegistryPfad, "LotusPassword", Encode(aNewPassword), strError) Then
MsgBox "Das neue Kennwort konnte nicht gesetzt werden!,vbCritical) "
End If
End Function
Private Function sWord(sourceString As String, separator As String, number As Integer) As String
searchString$ = sourceString & separator
For i% = 1 To number
pos% = InStr(searchString$, separator)
If pos% = 0 Then Exit For
substring$ = Left(searchString$, pos% - 1)
searchString$ = Mid(searchString$, pos% + 1)
Next
If pos% > 0 Then
sWord = substring$
Else
sWord = ""
End If
End Function
Axel:
Hi,
wo tritt denn der Fehler auf ? Wenn du sagst evt. bei NotesSession, dann überprüf doch mal die Registry ob der Notes Client bei der Installation richtig eingebunden wurde.
Unter HKEY_CLASSES_ROOT solltest du auf jeden Fall den Eintrag Notes.NotesSession finden. Wenn das nicht der Fall ist, würde ich den Client nochmals installieren.
Ich hatte schon Fälle, da hat es geholfen.
Axel
Don Pasquale:
@Axel,
da der Fehler beim Kunden auftritt und nicht bei mir, weiss ich nicht genau wo der Fehler auftritt.
Ich vermute, dass es begsate LNSession Zeile ist, weil diese beim hausinternen testen auf einem XP Rechner Probleme gemacht hat,
während sie auf NT läuft.
Der Kunde hat jetzt aber NT und dennoch läuft der Code nicht.
Ich werde die Registry mal prüfen, danke für den Tipp
Ciao
Don Pasquale
Semeaphoros:
Hat der Kunde eine Fehlermeldung oder nicht? Wenn ja, wie heisst den die?
Don Pasquale:
@Semeahphorus
oh sorry. Der Kunde bekommt folgende Meldung :
Laufzeitfehler '13':
Typen unverträglich
Ciao
Don Pasquale
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln