kommandozeilen-parameter für projektor-flash modul

euphrasine

Grünschnabel
hallo zusammen,

nachdem ich festgestellt habe, daß die loadVars funktion zum laden von parametern für ein flash-modul ungeeignet (da asynchron) ist, suche ich nach einer möglichkeit, einem flash-modul welches als EXE (über einen projektor) aus windows aufgerufen wird, mit kommandozeilen parametern zu bestücken.

rufe ich mein flash-modul von einer html-seite auf, kein problem. nur als projektor, hab ich bislang keine möglichkeit gefunden.

in diversen foren hab ich bisher auch keine hinweise gefunden. kann mir hier jemand einen entscheidenden tipp geben

danke und gruß

euphrasine :confused:
 
Hi,

m.E. ist die Auswertung der Kommandozeile von einem Projektor aus nicht möglich (lasse mich aber gern eines besseren belehren) - bei stand-alone-Anwendungen, die per Middleware (z.B. mit ZINC) erstellt wurden, sieht das schon wieder anders aus.

Allerdings: Warum ist die Asynchronizität des LoadVars-Objektes ein Problem für Dich? Starte weitere Aktionen doch einfach von der onLoad-Methode aus.

Gruß
.
 
hallo,

grund hierfür ist, daß ich die parameter nur aus der externen datei nur dann laden möchte, wenn keine kommandozeilen-parameter mitkommen. deshalb prüfe ich in meinem programm erst mal die parameter ab, wenn die nicht definiert sind, gehe ich in die loadVars funktion.

das flash-modul wird zum einen aus html und aus einem windows-client (via projektor) aufgerufen.

gruß

euphrasine
 
Hi,

das Öffnen eines Projektors ist wie gesagt meines Wissens mit Kommandozeilenparametern nicht möglich. Eigene Tests ergaben, dass beim Versuch, einen Projektor von der Konsole mit Parametern zu starten, nicht einmal Deine Anwendung ausgeführt wird, sondern der Flashplayer versucht, die übergebenen Parameter als Datei auszuführen.

Dein Argument
grund hierfür ist, daß ich die parameter nur aus der externen datei nur dann laden möchte, wenn keine kommandozeilen-parameter mitkommen.
ist zwar sinnig, aber ich sehe nicht ganz, wo der Bezug zur Asynchronizität liegt.

Gruß
.
 
hallo,

Hi,
Dein Argument ist zwar sinnig, aber ich sehe nicht ganz, wo der Bezug zur Asynchronizität liegt.
.

das programm soll grob gesagt folgendes tun:

zunächst die klasse die für das laden des parameter-files zuständig ist
Code:
class loadParameterFile
{
    // Variablendeklarationen
    var fileName:String;
    var keyName:String;
	var playerMode:String;
	var timeOut:String;
	var parameterFile:LoadVars;
	var refThis:loadParameterFile;
	
    // Konstruktor
    function loadParameterFile (pFileName:String){
		this.fileName = pFileName;
		this.keyName = "undefiniert";
		this.playerMode = "false";
		this.timeOut = "120";
    }

	function load() : Boolean {
		
 		var refThis = this;
		
		parameterFile = new LoadVars();
		parameterFile.load(this.fileName);
		parameterFile.onLoad = function() {
			refThis.keyName = this.ext_parameter1;
			refThis.playerMode = this.ext_parameter2;
			refThis.timeOut = this.ext_parameter3;
		}
		
		return (true);
	}
	
	
	
	function getKeyName() : String {
		return (this.keyName);
	}

usw ....
.


und hier der code für das flash modul:

Code:
//------------------ übergabeparameter abgreifen ------------------
// filename im parameter 1

if (_root.parameter1 == undefined) {
	var pFile = new loadParameterFile("params.txt");  // wenn kein parameter, dann file lesen
	pFile.load();
	audioStreamName = pFile.getKeyName();
}
else {
	audioStreamName = _root.parameter1;
};

usw ...
.

dadurch, daß loadVars asynchron arbeitet, kann ich die variable audioStreamName nicht belegen, denn jedesmal wenn die pFile.load() funktion beendet wird, stehen die variablen noch nicht zur verfügung ... :-(

das ganze über die onLoad() funktion zu steuern wäre zwar machbar, ist aber kein schöner programmierstil.

gruß

euphrasine
 
das ganze über die onLoad() funktion zu steuern wäre zwar machbar, ist aber kein schöner programmierstil.
Würde ich nicht unbedingt sagen: In solchen Fällen wird regelmäßig mit Listenern bzw. Callback-Funktionen gearbeitet.

Wenn Du stand-alone Anwendungen erstellen willst, die über erweiterte Applikationsfähigkeiten verfügen, kann ich dir tatsächlich die Verwendung von Middleware zum Compilieren Deiner Flashanwendungen ans Herz legen: Mit mdm Zinc hast Du z.B. u.a. Zugriff auf die Kommandozeilenparameter.

Gruß
.
 
Zurück