Domino 9 und frühere Versionen > Entwicklung

neu VISUAL BASIC Problem: ID Datei konnte nicht geöffnet werden

(1/5) > >>

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