[Allegro] if diff und obj 2

Thomas Berger ThB at Gymel.com
Do Apr 25 10:23:17 CEST 2013


Lieber Herr Eger,

> Nach einem frisch gestartetem a99 verhält sich der erste Lauf
> Ihres Test anders als bei einem zweiten Start. (Meldungen
> 2a _und_ 2b erscheinen beim ersten Mal, ab dem zweiten Lauf
> erscheint Meldung 2b nicht mehr)

Ja.

> Wenn man in Ihrem Beispiel vor dem Start des Test-Flexes den
> offline-Speicher leert, passiert bei jedem Durchlauf das gleiche.
> Der diff-Fehler scheint also davon abzuhängen, ob ein betroffener
> Satz vorher schon im offline-Speicher war oder nicht.

So wie ich es in den Quellen verstanden habe, ist im
Offline-Speicher (der .tab-Datei) hinterlegt, ob es
die "EDT"-Version ist oder nicht. Und die Kombination
"set obj 2\set obj 1" loescht das Flag, aber anscheinend
nicht im Offline-Speicher (bzw. es sind verschiedene
Flags).

Das scheint mir ein unabhaengiges Problem zu sein, dass
hier nur vor dem Hintergrund auffaellt, dass der
Satz im Offline-Speicher faelschlich das EDT-Flag
bekommt: Im Prinzip haben obj1 und obj2 zwei getrennte
Saetze von Flags, die bei "set obj" ausgetauscht
werden, aber zusaetzlich gibt es noch ein globales
Aenderungs-Flag (und eine Stelle in WriteRec, wo
der Datumsstempel nicht aus dem uebergebenen *Satz,
sondern aus *Rec restituiert wird, so dass die
Offline-Kopie tatsaechlich von der Online-Kopie
abweichen koennte, selbst wenn es keine Aenderung gab)

viele Gruesse
Thomas Berger



Mehr Informationen über die Mailingliste Allegro