'deposit' macht 'get'/'write'-Ablauf kaputt

Heinrich Allers allers at t-online.de
So Feb 22 12:26:47 CET 2004


Nach einigen Mühen gelang es mir, das Problem auf folgende Flexdatei zu 
reduzieren bzw. mit ihr unter Demo-Datenbank-Bedingungen reproduzierbar 
zu machen (Wer keine Dateien d-xyz.apr, xyz.ein und xyz.aus in seinem  
Programmverzeichnis hat, kann sie unbesorgt dort hineinkopieren und 
arbeiten lassen):



var P "\\d-xyz.apr"\delete
var P "\\ein.xyz"\delete
var P "\\aus.xyz"\delete

var P "d-xyz.apr"\xport f
write "zl=0" n\write "#-a" n
write '#ux1 y0 ,"_XXNSZXX_XYZ"' n
write "#+#" n\write "td" n\write "td-rtf" n
write "to" n\close x

var P "ein.xyz"\xport f
write "Erste Zeile XXNSZXX" n
write "Zweite Zeile" n
close x\var P "aus.xyz"\xport f\var P "ein.xyz"

disp p d-xyz

open\if no mes ein.xyz gibt's nicht!
:lies
var "xxx"\get +\if cancel jump ende
ins #ux1
  depos "a"\ins #ux1
var #ux1
write #ux1(b"xxx") n\jump lies
:ende\mes Fertig!\close\close x\end


So, wie die Flexdatei hier steht, also mit der Kommentarzeile
  depos "a"\ins #ux1
macht sie genau das, was sie machen soll. Sobald ich aber diese Zeile 
durch Änderung in

depos "a"\ins #ux1

operativ werden lasse, richtet sie Unheil an und zerstört das 
Schleifenspiel von get und write, das aus der Datei ein.xyz die Datei 
aus.xyz macht. Die Ausgabedatei aus.xyz sieht dann nämlich so verkorkst 
aus:

Erste Zeile XYZ
\li0\fi0
Zweite Zeile
\li0\fi0

Die große Frage ist: Wie geraten die Zeilen "\li0\fi0" dort hinein??? 
Das ist doch ein Programmfehler, nicht wahr? Oder habe ich im Bereich 
der Flexprogrammierung etwas übersehen?


Mit besten Grüßen 

Heinrich Allers

-- allers at t-online.de * http://home.t-online.de/home/allers
-- Wieder einmal Kriegskonferenz in München /
-- Una vez más conferencia de guerra en Múnich:
-- http://home.t-online.de/home/allers/natomuen.htm





Mehr Informationen über die Mailingliste Allegro