Domino 9 und frühere Versionen > ND8: Entwicklung

Speicherkonflikt tritt immer wieder auf

<< < (3/5) > >>

koehlerbv:
Wie erwartet: Es ist das QuerySave. Überlege Dir da einfach Zeile für Zeile (und im Gesamtkontext), was für einen extremen Murks Du da programmiert hast.

Schmeiss das wertlose Zeug einfach weg. Mach es neu. Und dabei sind wir sehr gerne behilflich!

Bernhard

koehlerbv:

--- Zitat von: Peter Klett am 12.05.11 - 17:11:07 ---Hm, also ich kann da Knöpfe drücken, wie ich will. Einen Replizierkonflikt bekomme ich nicht.

--- Ende Zitat ---

Klar - die Bedingungen im QuerySave schlagen ja in dem Textkontext nicht zu, Peter.

Bernhard

Peter Klett:
@Bernhard: nun, ich dachte, ich erlebe erst einmal das Problem, und dann schaue ich tiefer.

@Christian:

1. Du speicherst im Querysave das Dokument separat im Backend, das muss krachen. Wozu machst Du das, das Dokument wird doch sowieso gerade gespeichert?
2. Im Querysave musst Du nicht prüfen, ob das Dokument im Edit-Modus ist. Im Lese-Modus wird das Querysave nicht ausgeführt (das führt allerdings nicht zu Deinem Fehler, macht das ganze nur nicht gerade leserlicher)

koehlerbv:
Christian, wenn eine Diskussion in einem AtNotes-Board am Laufen ist, führe ich keine zweite per PM.

Ich kann Dir nur empfehlen: Wird den Murks aus QuerySave 'raus. Beschreibe (Dir oder uns) genaz genau, was Du erreichen willst. Vergiss dabei QuerySave - es gibt ja noch andere Wege, sein Ziel zu erreichen. Dewnke immer an den Konflikt zwischen Frontend und Backend.

Bei genauer Überlegung wird Dir sicherlich selber ein Licht aufgehen. Und bei Fragen stehen wir wirklich gerne mit Rat zur Seite!

Bernhard

Christian Kröll:
Ihr habt Recht - vielleicht aber auch etwas übersehen:

Das QuerySave kommt nicht bis zur Zeile
    flag = doc.Save(False, False)
Selbst wenn, vorher wurde doch mit
   Set doc = view.GetDocumentByKey("System")
ein völlig neues Dokument gerufen und auch gespeichert, falls nötig.

Mitarbeiter im Vertrieb erstellen eine Anfrage mit einem eigenen Notes-Dokument. Wenn die gespeichert wird, erzeuge ich im Hintergrund das fragliche Stammblatt und vergebe die Nummer ("FDJobNr"). Daher läuft der Code auch immer in das Exit Sub.

Es gab die Situation, dass Mitarbeiter mal ein Stammblatt gelöscht haben. Um es schnell neu anlegen zu können, habe ich die Nummernvergabe hier überhaupt aufgenommen.

Zur Klarheit wäre ein neuer Bezeichner leichter zu lesen.

Habe nun das QuerySave trotzdem mal komplett geändert auf vier Zeilen:
   If Source.FieldGetText("CustomerNr") = "" Then
      Msgbox "Bitte Kundennummer eintragen"
      continue = False
   End If
Damit mache ich wohl nichts falsch?

Effekt: Weiterhin Speicherkonflikt...

Ich bin weiterhin wirklich sehr dankbar für Eure Hilfe und jede Anregung.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln