Domino 9 und frühere Versionen > Entwicklung

Agent zum Aufräumen alter Variablen

<< < (2/3) > >>

two7:
vielen dank für die hilfe. werd das dann mal gleich ausprobieren.

schönen tag noch.

two7

LohCon:
dieses Thema würde ich gerne noch einmal kurz aufgreifen:

Alte Feldnamen bekämpfe ich auf die gleiche Weise, wie hier beschrieben.
Also Löschagent schreiben, über alle Dokumente laufen lassen und die Datenbank komprimieren mit der -c Option.

Trotzdem sind die Feldnamen noch z. B. in der Referenz für Datenbankfelder sichtbar.

Mir ist aufgefallen, dass die alten Feldnamen in den Eigenschaften des Gestaltungsdokumentes auftauchen, teilweise mit ein oder zwei Dollarzeichen davor. Das hängt wohl damit zusammen, das die Feldnamen in einem Scriptagenten in der Maske verwendet wurden oder ein Code in den Feldevents vorhanden war.

Da hilft nur noch: Neue Maske erstellen, Inhalt kopieren alte Maske löschen.
Danach verschwinden auch die Feldnamen endgültig aus der Datenbank.

Oder gibt es da noch einen Kniff???

LG, - Jörg

ata:
... zum grundsätzlichen Verständnis:

Es gibt einen Unterschied zwischen Feldern auf Masken und Feldern in Dokumenten.

Wird ein Feld aus einem Dokument gelöscht, dann hat das Dokument kein Feld mehr. Öffnest du es mit einer Maske, die dieses Feld hat, dann kann das Dokument natürlich wieder das Feld haben.

Beim compact wird das Feld erst dann aus der Referenz genommen, wenn kein Dokument und keine Maske mehr ein Feld mit diesem Namen haben...

Toni

LohCon:
Hallo Toni,

mein Posting zielte in eine etwas andere Richtung, ich versuche es mal anders ...

Wenn ich ein Feld aus einer MASKE lösche, und dann im Designer die Eigenschaften des Gestaltungsdokumentes öffne, wird das Feld noch aufgeführt. Teilweise doppelt und dreifach mit einem oder zwei $ - zeichen davor.
Ich habe mal einen Screenshot angehängt, der das verdeutlicht.
Die Felder al01_01 ff. gibt es in der Maske nicht mehr...

Hast Du eine Idee, woran das liegt?

Gruss, - Jörg

Lossa:
Hi,

wenn du in dem Feld in einen LS Script Event z.B. Entering etwas Programmiert hasst, dann wird das $$DeinFeldName angelegt, dort steht quasi der ScriptCode drin. Wenn du nun "einfach" das Feld löschst wird nicht der ScriptCode gelöscht sondern eben nur das Feld. Der Code alleine macht dann zwar nichts mehr, aber er ist in der Maske drin.

Also erst den Code löschen, den kompletten Event Inhalt markieren incl. Sub und end und dann löschen, speichern, dann erst das Feld löschen. Danach hast du keine $$DeinFeldName Felder mehr.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln