Domino 9 und frühere Versionen > ND8: Entwicklung

Historie anlegen

<< < (2/7) > >>

ThomasHB:

--- Zitat von: koehlerbv am 07.02.11 - 14:32:37 ---Nicht nur als unsauber, sondern sogar als falsch würde ich bezeichnen, dass Du Objekte instantiiertst, aber deren Existenz danach nicht überprüfst.
--- Ende Zitat ---

OK... Kannst Du das etwas genauer definieren, wie eine solche Überprüfung aussehen sollte...


--- Zitat ---Was ist, wenn es die Ansicht nicht (mehr) gibt? Was ist, wenn es noch gar kein erstes Dokument gibt? Was ist, wenn dem Ausführenden die Rechte fehlen, doc2 zu erzeugen?
--- Ende Zitat ---

Wenn es die Ansicht nicht mehr gibt, dann wüsste ich spontan da jetzt auch nichts zu ehrlich gesagt...
Ein erstes Dokument wird es Initial geben, das macht ein Agent.
Da diese kleine DB nur im kleinen Kreis genutzt wird, weil ich meine Fähigkeiten in LS nicht als gut genug für Productive DBs einschätze, wäre das erst mal kein Problem.

Trotzdem versuche ich, das so gut wie möglich auf die Beine zu stellen.

Was würdest du empfehlen? Rechteprüfung vorher?

Grüße,
Thomas

m3:
Naja, ein Test, ob ein Object überhaupt instanziert wurde oder einfach "nichts" ist, wäre mal ein guter Anfang. ;)

Peter Klett:
Ein paar Dinge noch zusätzlich zu dem bereits geschriebenen:

Du setzt Datum (hattest ja auch Deine Probleme damit), aber nutzt es nirgendwo.

Im PostSave hängst Du immer Werte an. Speichere das Dokument mal mehrfach (STRG+S), dann werden die Listen immer länger

Du speicherst doc2 innerhalb der Schleife, gibt es 25 Dokumente von doc, speicherst Du doc2 25 mal. Einmal außerhalb der Schleife sollte völlig ausreichen

Du dimensionierst Variablen, die Du nicht brauchst: DocUnID, person

In der Schleife durchläufst Du alle Dokumente der Ansicht und suchst Dir die passenden anhand des Namens heraus. Das wird auf Dauer ein Langläufer. Besser wäre, die Ansicht entsprechend zu sortieren, darin das erste Dokument anhand des Namens zu suchen (v.GetDocumentByKey ...), von dort weitersuchen und stoppen, sobald es nicht mehr passt

Sehe es genauso wie Bernhard, dass Du so weitermachen solltet. Erstmal selber probieren, dann helfen lassen. Das ist ein guter Ansatz.


EDIT: Das mit den länger werdenden Listen habe ich falsch interpretiert. Aber Du erstellst bei jedem Speichern ein doc2. Willst Du das wirklich?

Axel:

--- Zitat von: ThomasHB am 07.02.11 - 14:47:05 ---
--- Zitat von: koehlerbv am 07.02.11 - 14:32:37 ---Nicht nur als unsauber, sondern sogar als falsch würde ich bezeichnen, dass Du Objekte instantiiertst, aber deren Existenz danach nicht überprüfst.
--- Ende Zitat ---

OK... Kannst Du das etwas genauer definieren, wie eine solche Überprüfung aussehen sollte...

--- Ende Zitat ---

Im Fall der Ansicht kann das so aussehen:

Set v = db.GetView("nHist_Hardware")
If v Is Nothing Then
  'Ansicht nicht vorhanden -> Fehlerbehandlung
End If

Hier findest du jede Menge Infos zur Fehlerbehandlung in LotusScript: http://atnotes.de/index.php/topic,11980.0.html

Axel

koehlerbv:
Bei der Programmierung gibt es (fast) kein "nie". Aus dem "kleinen Kreis" wird ein grosser, der Server, der immer nur mit deutschen Einstellungen laufen wird, bekommt auf einmal einen englischsprachigen Bruder, der code, der "so schön läuft", wird kopiert und in einer anderen DS auch verwendet usw. usf.

Minimum: ErrorHandling. Das ist auch und gerade Programmiers Eigenschutz. Warum da plötzlich "Object variable not set" angezeigt wird, kannst Du nach einem halben Jahr nicht mehr spontan zuordnen.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln