Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: ThomasF am 16.11.04 - 14:23:01

Titel: VB Programm greift auf Domino zu
Beitrag von: ThomasF am 16.11.04 - 14:23:01
Ich schreibe ein VB-Programm das auf eine Lotus-Notes-Datenbank zugreifen soll.
Auf meiner Machine ist alle OK.

Sobald ich die EXE-Datei auf einen anderen Rechner schiebe
erhalte auf der Zeile (VB-Code):
Set S = CreateObject("Notes.NotesSession")
bzw.
Set S = CreateObject("Lotus.NotesSession")
die Fehlermeldung:
Run-time error: '429'
ActiveX component can't create object

Was mach ich falsch? Kann mir da jemand helfen?
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Driri am 16.11.04 - 14:24:46
Ich kenne mich jetzt mit VB nicht aus, aber ich vermute mal, daß die Bibliotheken für Notes nicht mit eingebunden sind. Dann gibts auch keinen Zugriff auf die entsprechenden Objekte.
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Axel am 16.11.04 - 14:27:00
Hi,

... oder Notes ist nicht suaber registriert. Überprüfe doch mal an der entsprechenden Maschine die Registry

Axel
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: ThomasF am 16.11.04 - 14:35:04
Notes ist korrekt installiert, da beim Kollegen dies schon eine Weile rund läuft
Ich habe gerade im and. Forum gesucht aber auch mit der Datei nlsxbe.dll funktioniert es nicht gggrrr.
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Marinero Atlántico am 16.11.04 - 14:51:22
Notes ist auf dem Rechner nicht richtig installiert.
Wenn es möglich ist, kannst du es nochmal installieren und dann ausprobieren.

Gruß Axel
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Axel am 16.11.04 - 14:56:35
Notes ist korrekt installiert, da beim Kollegen dies schon eine Weile rund läuft

Hast du denn die Registry überprüft, ob der/die entsprechenden Schlüssel vorhanden sind? Das es läuft heisst noch lange nicht, dass die Installation sauber ist.


Axel


Titel: Re: VB Programm greift auf Domino zu
Beitrag von: ThomasF am 16.11.04 - 14:58:19
äähmm und wie überprüfe ich die Keys? kann ich die mit Regedit finden?
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: MartinG am 16.11.04 - 15:07:07
Das einfachste ist sicherlich einfach nochmals drüberinstallieren...
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Axel am 16.11.04 - 15:07:26
Hi,

natürlich mit RegEdit. Die Keys findet du unter HKEY_CLASSES_ROOT


Axel
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Marinero Atlántico am 16.11.04 - 15:18:13
da müsste es Einträge Lotus.NotesSession geben und Notes.NotesSession (für 4). Scrolle bis relativ weit unten. Erst kommen da sehr viele Einträge .<Dateiendung>.
Dann trage bei dem Rechner wo es nicht funktioniert die Werte ein von dem Rechner wo es funktioniert. 
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Axel am 16.11.04 - 15:21:33
da müsste es Einträge Lotus.NotesSession geben und Notes.NotesSession (für 4). Scrolle bis relativ weit unten. Erst kommen da sehr viele Einträge .<Dateiendung>.
Dann trage bei dem Rechner wo es nicht funktioniert die Werte ein von dem Rechner wo es funktioniert. 

Wenn die Einträge nicht vorhanden sind, würde ich aber Martins Vorschlage Notes drüberzuinstallieren vorziehen. Damit ist man auf der sichereren Seite. Es fängt schon damit an, wenn Notes nicht im gleichen Verzeichnis installiert ist.


Axel
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Don Pasquale am 16.11.04 - 15:46:28
Ist es möglich, dass Du auf dem Rechner auf dem Du das VB Programm entwickelt hast bereits Lotus Notes 5 im Einsatz hattest ?


Ciao
Don PAsquale
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: ThomasF am 16.11.04 - 16:03:55
die Maschine ist eine Virtuelle Maschine und vor einer Woche habe ich Notes 6.5.2 (Client) komplett neu installiert
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Axel am 16.11.04 - 16:07:43
Hi,

was verstehst du denn unter einer virtuellen Maschine  ???


Axel
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Don Pasquale am 16.11.04 - 16:10:41
Ist es möglich, dass Du auf dem Rechner auf dem Du das VB Programm entwickelt hast bereits Lotus Notes 5 im Einsatz hattest ?

Ciao
Don PAsquale

Lies nochmal
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: ThomasF am 16.11.04 - 16:11:58
VM-Ware Workstation siehe auch http://www.vmware.com/ damit simuliert man eine komplette Maschine von Grund auf.
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: ThomasF am 16.11.04 - 16:14:24
Ist es möglich, dass Du auf dem Rechner auf dem Du das VB Programm entwickelt hast bereits Lotus Notes 5 im Einsatz hattest ?

Ciao
Don PAsquale

Lies nochmal

nein nicht drüberinstalliert sondern 6.5.2 komplett neu draufgemacht.
Auf der Maschine geht es ja auch.  :'( aber halt nicht auf anderen Maschinen
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Don Pasquale am 16.11.04 - 16:23:16
Poste doch mal bitte alle Reference=*\ Zeilen aus Deiner Visual Basic
vbp Datei.

Ciao
Don Pasquale
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: ThomasF am 16.11.04 - 16:31:12
Function Connect(s, db, view) As Boolean
'++++++++++++++++++++++++++++++++++++++++++++++
' Erstellt eine Verbindung zum Domino-Server
' und schreibt die globalen Variablen
'    s = Notessession
'   db = Notesdatenbank
' view = NotesView
'++++++++++++++++++++++++++++++++++++++++++++++

On Error GoTo ErrorHandling

Set s = CreateObject("Lotus.NotesSession")
Call s.Initialize(MainForm.localPW)
Dim viewName As String, actual As String

Set db = s.GetDatabase(MainForm.Server, MainForm.DominoPath)
If db.IsOpen = False Then
    MsgBox "Datenbank: """ + MainForm.Server + """ """ + MainForm.DominoPath + """ ist nicht erreichbar", 0, "Fehler"
    Exit Function
End If

viewName = "actual"
Set view = db.GetView(viewName)
If view Is Nothing Then
    MsgBox "Ansicht " + viewName + "ist ""Nothing""", 0, "Fehler"
    Exit Function
End If

GoExit:
Connect = True
Exit Function

ErrorHandling:

 MsgBox "Fehler in Funktion ""Connect""" + Chr(13) + _
 "Eventuell stimmt das Passwort nicht.", vbOKOnly, "Fehler"

End Function



Die Referenzen habe ich im Projekt selber definiert... (Project - References...)
liegt da vielleicht der Fehler, weil die *.tlb Dateien auf der Zielmaschine wo anders liegen?
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Don Pasquale am 16.11.04 - 16:38:33
Poste doch mal bitte alle Reference=*\ Zeilen aus Deiner Visual Basic
vbp Datei.

Ciao
Don Pasquale

Das ist die DeinProjekt.vbp Datei in Deinem Visual Basic Projekt,
dort befinden sich ganz zu Anfang Einträge die mit Reference beginnen.
Kannst Du die mal posten ?

Ciao
Don Pasquale
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: ThomasF am 16.11.04 - 16:43:54
so jetzt aber...


Type=Exe
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINNT\System32\stdole2.tlb#OLE Automation
Reference=*\G{29131520-2EED-1069-BF5D-00DD011186B7}#6.5#0#C:\Programme\lotus\notes\domobj.tlb#Lotus Domino Objects
Reference=*\G{1CF542E0-D988-11CF-B485-00805F98FACE}#6.0#0#C:\Programme\lotus\notes\notes32.tlb#Lotus Notes Automation Classes
Reference=*\G{EF404E00-EDA6-101A-8DAF-00DD010F7EBB}#5.3#0#C:\Programme\Microsoft Visual Studio\VB98\VB6EXT.OLB#Microsoft Visual Basic 6.0 Extensibility
Reference=*\G{C2530C99-06D6-11D2-8D70-00A0C98B28E2}#1.0#0#C:\Programme\Microsoft Visual Studio\VB98\Wizards\CTRLWIZ.DLL#VB 6 ActiveX Control Interface Wizard
Object={BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0; TABCTL32.OCX
Form=Main.frm
Module=Module1; BasicModule.bas
Module=Module2; ModuleTasks.bas
Reference=*\G{00025E01-0000-0000-C000-000000000046}#4.0#0#C:\Programme\Gemeinsame Dateien\Microsoft Shared\DAO\DAO350.DLL#Microsoft DAO 3.51 Object Library
Object={6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0; COMCTL32.OCX
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; mscomctl.ocx
Class=clsTask; ClassTasks.cls
Object={EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}#1.1#0; shdocvw.dll
IconForm="MainForm"
Startup="MainForm"
HelpFile=""
ExeName32="GBG.exe"
Command32=""
Name="Project1"
HelpContextID="0"
CompatibleMode="0"
MajorVer=1
MinorVer=0
RevisionVer=0
AutoIncrementVer=0
ServerSupportFiles=0
VersionCompanyName="test"
CompilationType=0
OptimizationType=0
FavorPentiumPro(tm)=0
CodeViewDebugInfo=0
NoAliasing=0
BoundsCheck=0
OverflowCheck=0
FlPointCheck=0
FDIVCheck=0
UnroundedFP=0
StartMode=0
Unattended=0
Retained=0
ThreadPerObject=0
MaxNumberOfThreads=1

[MS Transaction Server]
AutoRefresh=1

Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Ralf_M_Petter am 17.11.04 - 08:45:35
Ambesten folgendes machen.

Zuerst die nlsxbe.dll unregistrieren mit folgendem Command auf der Befehlszeile

regsvr32 -u nlsxbe.dll

Dann die nlsxbe.dll neu registrieren mit

regsvr32  c:\notes\nlsxbe.dll

c:\notes natürlich mit dem richtigen Pfad ersetzten.

Dann sollte COM funktionieren. Überprüfe bitte ob du in deinem Code auch wirklich COM verwendest und nicht OLE

Grüße

Ralf
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Don Pasquale am 17.11.04 - 13:35:16
Dann sollte COM funktionieren. Überprüfe bitte ob du in deinem Code auch wirklich COM verwendest und nicht OLE

Das interessiert mich auch, er hat ja weiter oben seinen Code gepostet, ich kann da kein OLE entdecken. Du Ralf ?
Oder muss man noch woanders nachschauen ?

Ich hatte die gleiche Fehlermeldung, dass lag daran, dass in meinen Referenzen noch auf die domobj.tlb 1.0 statt 6.5 verwiesen wurde.

Ich halte es ebenso für ein reines registrierungsproblem.

Ciao
Don Pasquale


Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Ralf_M_Petter am 17.11.04 - 13:45:22
Soweit ich weiß, aber bin kein Experte für das liegt der Unterschied darin ob man

Lotus.NotesSession bedeutet COM verwendet.

oder

Notes.NotesSession bedeutet OLE.


Ich verwende prinzipiell nur Lotus.Notessession. Habe damit gute Erfahrungen gemacht.

Ich hoffe Thomasf meldet sich mal, ob das fuktioniert hat. Ich werde nämlich schön langsam sauer von Leuten denen man eine Lösung vorschlägt und von denen man dann nichts mehr hört. Meiner Meinung nach sollte man seine Foreneinträge wo man Fragen stellt schon etwas überwachen!!!

Grüße

Ralf
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Semeaphoros am 17.11.04 - 13:50:32
Ja Ralf, das ist leider schon so, dass immer wieder Leute nur ans Profitieren und nicht ans Rückmelden denken -- wirklich schade.
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: ThomasF am 17.11.04 - 14:03:36
ich bin den ganzen Tag schon dabei eine virtuelle Maschine aufzusetzen, und zwar so, wie sie beim Kunden verwendet wird...

Sobald ich weiß, ob es geht melde ich micht
VERSPROCHEN !!!
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Semeaphoros am 17.11.04 - 14:08:05
Grübel, heisst das, dass hier jemand mit dem Gratis-Know-how anderer Leute Geld verdient?
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Ralf_M_Petter am 17.11.04 - 14:17:34
@Semeaphoros Das finde ich auch immer so nett.
@Thomasf Wie wäre es wenn du denn Kunden anrufst und ihm sagst, er soll meine Fehlerbehebung ausführen. Denn wissen wir sofort ob es geht.


Grüße

Ralf

Titel: Re: VB Programm greift auf Domino zu
Beitrag von: ThomasF am 17.11.04 - 14:18:38
Grübel, heisst das, dass hier jemand mit dem Gratis-Know-how anderer Leute Geld verdient?

na ja, inzwischen ist es zu einem kompletten Draufleggeschäft mutiert. Von verdienen ist lange keine Rede mehr  :(
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: ThomasF am 17.11.04 - 14:20:10
@Semeaphoros Das finde ich auch immer so nett.
@Thomasf Wie wäre es wenn du denn Kunden anrufst und ihm sagst, er soll meine Fehlerbehebung ausführen. Denn wissen wir sofort ob es geht.


Grüße

Ralf




das habe ich ihm gestern schon gesagt, aber hat auch nichts gebracht


stopp war verkehrt!!

Das Neuinstallieren hat nix gebracht
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Semeaphoros am 17.11.04 - 14:20:35
Aendert nichts an der fehlenden Offenheit.
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Ralf_M_Petter am 17.11.04 - 14:24:57
@ThomasF

Habe nichts von neuinstallieren gesagt. Ich habe das mit regsvr32 geschrieben. Das ist übrigens eine Fehlerbehebung die nicht von mir sondern von deinem Namensvetter bei Lotus ist. Das Problem bestand bei mir genauso. Selbe Fehlermeldung usw. Nach Neuregistrierung war es weg. Ist offensichtlich ein Fehler im Installer von Notes.

Grüße

Ralf
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: ThomasF am 17.11.04 - 14:30:35
Notes ist korrekt installiert, da beim Kollegen dies schon eine Weile rund läuft

Hast du denn die Registry überprüft, ob der/die entsprechenden Schlüssel vorhanden sind? Das es läuft heisst noch lange nicht, dass die Installation sauber ist.


Axel





ja, stimmt schon versatanden, hab aber diesen Eintrag von Axel gemeint mit Regestry kontrollieren und Neuinstalation gemeint.

Um das abzuschließen, möchte ich mich wirklich bei euch ALLEN bedanken !!!

Morgen werde ich zum Kunden gehen, und ich werde auf jeden Fall berichten, ob die Kiste dann läuft
 :)
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Semeaphoros am 17.11.04 - 14:32:12
Gut, dann sind wir mal alle gespannt, was daraus wird.
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Don Pasquale am 17.11.04 - 14:58:53
Lotus.NotesSession bedeutet COM verwendet.
Notes.NotesSession bedeutet OLE.

Hmm, was verwende ich ? Ich schreibe gleich NotesSession.
Das Bietet mit VB6 automatisch so an ???

Ciao
Don Pasquale
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Marinero Atlántico am 17.11.04 - 17:38:48
Ich glaub das Notes.NotesSession eine ältere Objektdefinition(?) für R4 war, die schlechter ist, aber wg. Abwärtskompatibilität auch mit 5 funktioniert.
Zumindest steht bei mir in der Registry:
Notes R4.0 NotesSession.

Gruß Axel
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: Ralf_M_Petter am 18.11.04 - 07:49:06
Sorry Axel!

Ich habe das jetzt nachgelesen. Es ist wie ich gesagt habe:

notes.Notessession ist Zugriff über OLE Automation (veraltete M$ Technololgie)
Lotus.Notessession ist Zugriff über COM (etwas neuere M$ Technologie)

Übrigens scheinbar ist auch der Zugriff aufs Front End möglich mit

Set workspace = CreateObject("Notes.NotesUIWorkspace")
Set doc = workspace.CurrentDocument

Habe das zwar noch nicht probiert, aber irgendwie interessant ist das schon.

Grüße

Ralf
Titel: Re: VB Programm greift auf Domino zu
Beitrag von: ThomasF am 18.11.04 - 16:19:29
BINGO gelöst !!!
Der Tipp von Ralf M Petter wars!

Keine Neuinstallation von Notes hat was gebracht, sondern das Unregistrieren und das Registrieren !!
Scheinbar war die Registrierung zerschossen.

Thanx @all
und cu

Gruß
Thomas