[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