[Allegro] janas und a99-focus

Anando Eger a.eger at aneg-dv.de
Fr Aug 15 22:08:45 CEST 2008


Lieber Herr Eversberg,

eine Anregung für die Kommunikation zwischen janas und dem
"action"-Flex:

Ausgangssituation: 
- mehrere a99 mit unterschiedlichen Datenbanken / Umgebungen 
  sind geöffnet
- über das gerade aktive a99 wird janas genutzt
- ein Flex x wird über dieses janas (<form action="flex:X x.flx">) 
  gestartet

Ich habe folgendes beobachtet:
1 Zuerst erhält das zuletzt aktiv gewesene a99 ein Signal zur 
  Ausführung des j.flx und führt die darin übergebenen Befehle 
  aus.

2 Danach scheinen auch alle anderen a99-Prozesse das Signal zu 
  empfangen und versuchen nun ihrerseits, ein j.flx auszuführen.

3 Das ist einigermaßen beherrschbar, wenn man der über janas 
  gestarteten html-Datei eine Prozess-ID mitgibt, über die dann
  das über das jeweilige a99 gestartete Flex prüfen kann, ob es
  auch "gemeint" war. - für den Fall, dass die beteiligten
  a99-Prozesse mit dem gleichen Startverzeichnis arbeiten. Das
  sollte zwar verhindert werden, die Anwender finden aber immer 
  wieder einen Weg ... 

4 Böse Nebenwirkungen hat dieses Verhalten aber, wenn ein
  "fremdes" a99 seinerseits ein eigenes, älteres j.flx findet, 
  dessen Inhalt mit der gerade gewünschten Aktion überhaupt nichts 
  zu tun hat - dieses wird dann auch ausgeführt!

5 Das Einstellen eines anderen Kennbuchstabens (wie z.B. "janas h")
  ändert nicht den Namen des von janas geschriebenen Übergabe-
  Flexes (j.flx). 

Schlussfolgerungen: 
Das unter dem "richtigen" a99 auszuführende Flex muss als erstes 
sein eigenes j.flx löschen.

Für a99-Prozesse, die mit dem gleichen Startverzeichnis arbeiten
(ob gewollt oder ungewollt), benötigt man zur Ermittlung des
"richtigen" Empfänger-a99 eine Prozess-ID.

Es sind momentan also relativ umfangreiche Massnahmen nötig, um
ungewolltes Verhalten "unbeteiligter" a99-Prozesse zu verhindern.

Mir ist noch keine einigermaßen sichere Methode eingefallen,
z.B. in _start.flx einen Wert zu erzeugen, den man als eindeutige 
process-ID verwenden könnte - die Start-Uhrzeit scheint noch am
geeignetsten, hilft aber nicht gegen automatisch doppelt gestartete
a99.exe'n.

Nun meine Fragen/Vorschläge:

- Ließe sich evtl. die Kommunikation zwischen a99 und janas so
  einrichten, dass janas statt des j.flx eine Flexdatei mit
  einem aus der process-ID des rufenden a99 gebildeten Namen 
  zur Übergabe von Werten an a99 verwendet? Dann wäre die Zuordnung 
  des "empfangenden" a99 sicher - das braucht dann nur seine 
  "eigene" flex-datei zu suchen. Diese sollte dann vom a99 sofort 
  nach dem Laden gelöscht werden.

Wenn das zu viel Aufwand wäre:
- Ließe sich die Prozees-id (z.B. aus _getpid) verfügbar machen?

Was meinen Sie?

Viele Grüße
Anando Eger

---------------------------------------------------------------------
Anando Eger Datenverarbeitung
Herr Dipl.-Ing. Anando Eger
Gustav-Voigt-Str. 24
01156 Dresden
Tel.: +49 (0)351 454 1236  http://www.aneg-dv.de
Fax: +49 (0)351 454 1238  mailto:a.eger at aneg-dv.de
---------------------------------------------------------------------











 






Mehr Informationen über die Mailingliste Allegro