[Allegro] AVANTI:EOR - mal da, mal nicht da
Sibylle Koczian
Sibylle.Koczian at t-online.de
Di Jun 14 14:39:54 CEST 2011
Liebe Liste,
Folgendes kann ich mir nicht erklären: Ich habe ein Python-Modul, erst
kürzlich auf die aktuelle Python-Version umgestellt, mit dem ich
Avanti-Jobs ausführen lassen und die Ergebnisse entgegennehmen kann. In
diesem Modul benutze ich einen Socket und lasse ihn für Job-Lesen und
Ergebnis-Schreiben dateiartige Objekte erzeugen (socket.makefile).
Vorteil: die besitzen Methoden zum zeilenweisen Schreiben und, vor
allem, Lesen, was die Verarbeitung viel bequemer macht.
Das klappt auch gut; allerdings ist es unbedingt nötig, dass ich beim
Empfang auf "AVANTI:EOR" prüfe, sonst kommen zwar keine Daten mehr an,
das Programm hört aber nicht auf zu laufen. Kein prinzipielles Problem.
Weil ich aber gelegentlich doch auch ein GUI-Programm auf eine
Allegro-Datenbank loslassen will und das mit Python eher mühsam ist,
habe ich mir jetzt auch ein Avanti-Client-Modul in C# gebastelt. Auch
dieses funktioniert, auch dieses ist so gebaut, dass ich Ergebnisse
zeilenweise abholen kann (TcpClient-Objekt hat einen NetworkStream und
dem kann man mit einem StreamWriter den Job andrehen und mit einem
StreamReader die Ergebnisse entlocken). Und jetzt kommt das Rätsel: da
scheint mir AVANTI:EOR nicht immer im Ergebnis aufzutauchen und ich kann
diesen Effekt nicht reproduzieren. Gestern war es da, heute kriege ich
es nicht her (d.h. es gelingt mir offensichtlich nicht, genau den
gestrigen Zustand des Moduls wiederherzustellen).
Benutzt jemand in dieser Liste C#?
Meine eigentliche Hauptfrage: was schickt Avanti direkt vor und nach dem
AVANTI:EOR? Und erinnere ich mich richtig, dass es als Zeilenumbruch
grundsätzlich Linefeed schickt (ASCII 10), wenn man nicht explizit etwas
anderes in den Job schreibt?
Danke und beste Grüße,
Koczian
Mehr Informationen über die Mailingliste Allegro