Domino 9 und frühere Versionen > ND6: Entwicklung

.CreateFromTemplate

(1/2) > >>

jr:
Hallo,

bei meinem Problem mit den mehrfachen Ini-Einträgen konnte mir leider niemand helfen. Jetzt habe ich aber etwas anderes herausgefunden. Der Fehler tritt nur dann auf, wenn die Datenbank mit der CreateFromTemplate-Methode aus NotesDatabase erstellt wird.

Gibt es da irgend welche Beschränkungen? Laut Designer-Hilfe macht die Funktion exakt das Gleiche, wie wenn ich eine neue Datenbank auf Basis eines Template-Datei erstelle. Aber das ist wohl nicht so. Die manuell erstellen Datenbanken arbeiten ganz normal. Bei den programmatisch erstellten Datenbanken aber werden Notes-Ini-Einträge nicht mehr überschrieben, sondern immer wieder neu hinzugefügt, so dass die Einträge mehrfach auftauchen.

Hier der Code, mit dem die Datenbanken erstellt werden:

--- Code: ---Set db = tmplDB.CreateFromTemplate(sServer, sPath, True)
If (Not(db Is Nothing)) Then db.Title = "Projekt " & sIdentNo
...

--- Ende Code ---

Sonst passiert da eigenltich nichts. Hat da irgend jemand schon Erfahrungen damit gemacht? Muss ich bei der Erstellung noch irgend etwas beachten?

Gruß,

Joachim

koehlerbv:
Ich musste jetzt erstmal nachlesen, was Du in diesem Posting bei dieser Überschrift auf einmal mit doppelten INI-Einträgen hast. Okay, jetzt habe ich es nachgelesen, hilfreich war dieser "offene Querverweis" aber nicht.

Ich arbeite in etlichen Applikationen mit automatisch aus einem Template erstellten User-Datenbanken, in einigen (wenigen) Fällen machen diese auch Einträge in die NOTES.INI. Das von Dir beschriebene Verhalten ist mir (bei einigen hundert Datenbanken) aber noch nicht begegnet. Das will aber nichts heissen.
Kannst Du dieses Verhalten auf bestimmte Client-Versionen (bzw. Domino-Versionen, insofern diese die neuen DBs erstellen) festmachen?
Da die NOTES.INI ja an die NotesSession gebunden ist, darf es nicht sein, dass eben diese Doppeleinträge in der NOTES.INI ermöglicht bzw. selbst erzeugt.

Bernhard

jr:
Hallo Bernhard,

danke für die schnelle Antwort. Sorry, ich hätte den Link auf den Eintrag angeben sollen. Wird sofort nachgeholt:

Doppelte Einträge in der Notes.Ini: http://atnotes.de/index.php?topic=32821.0

Die Applikation sieht wie folgt aus: In einer Datenbank liegen unter anderem einzelne Projektdatenblätter. Für jedes dieser Projektdatenblätter kann auf Knopfdruck eine Art Projekt-Datenbank aus diesem Template erzeugt werden. Dies wird schon seit fast zwei Jahren so gemacht und hat immer funktioniert. Mittlerweile gibt es beim Kunden über 100 solcher Projektdatenbanken. Am Anfang waren das ziemlich viele, jetzt passiert das aber nur noch ab und zu (vermutlich ist das schon eine Weile so, nur noch nicht aufgefallen). Doch irgend etwas hat sich geändert, denn seit einiger Zeit passiert der oben beschriebene Effekt. Und da dies sowohl bei meinem Kunden, als auch bei mir so ist, muss ich wohl davon ausgehen, dass ich da irgend etwas gemacht habe, was Notes nicht mag.

Bei meinem Kunden ist die Client- und Server-Version 6.5.4. Ich habe es mit Client 6.5.4 und 7.0.1 und mit Server 7.0 getestet, aber das gleiche Ergebnis.

Am Template selbst scheint es nicht zu liegen, denn ich habe es auch mit anderen Datenbanken versucht, da alle meine Datenbanken gleich arbeiten. Trotzdem ist irgend etwas anders als noch vor einem halben Jahr.

Im Prinzip dürfte es nicht möglich sein, egal wie, doppelte Ini-Einträge zu erzeugen. Ich habe sonst auch noch nie irgend etwas über einen solchen Effekt gelesen. Ist schon irgend wie komisch...

Gruß,

Joachim

jr:
Noch was...

Wenn man bei der Datenbank ein @Command([DesignRefresh]) macht, dann funktioniert wieder alles normal. Komisch...

Gruß,

Joachim

jr:
Problem erkannt...

Jetzt funktioniert es wieder. Das Problem habe ich behoben, aber passieren darf so etwas trotzdem nicht. In der übergeordneten Funktion war ein "On Error Resum Next" eingebaut. Und der Befehl "db.Title = ..." hat zwar den Titel geändert, aber trotzdem ein Fehler produziert. Daraufhin wurde die Funktion einfach beendet und nicht mit dem nächsten Befehl weitergemacht. Dies hatte dann den Effekt, dass die Datenbank irgend wie korrupt war und die doppelten Ini-Einträge erzeugte.

Egal wie, es darf eigentlich keine Situation eintreten, die einen solchen Effekt hat. Ist schon seltsam. Der "db.Title = ..." wurde an einen andere Stelle verschoben und der "On Error..." entfernt und schon funktionierte wieder alles.

Also, hauptsache, dass das Problem gelöst ist. Warum es überhaupt aufgetreten ist, hab' ich zwar nicht verstanden, aber ich muss ja auch nicht alles wissen...  ;D

Gruß,

Joachim

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln