2008-09-02 7 views
3

Wie der Titel sagt, gibt es eine Möglichkeit, dieselbe Adobe AIR App mehrmals auszuführen? Ich habe ein kleines Widget, das ich geschrieben habe, das Thumbnails von einigen Fotostreams zeigt, und ich möchte es reparieren, damit ich mehr als einen Stream gleichzeitig ansehen kann. Vielen Dank!Kann dieselbe Adobe AIR App mehrmals ausgeführt werden?

Antwort

2

Es scheint, dass dies nicht möglich ist. Von der documentation:

Es wird nur eine Instanz einer AIR-Anwendung gestartet. Wenn eine bereits ausgeführte Anwendung erneut aufgerufen wird, löst AIR ein neues Aufrufereignis an die aktuelle Instanz aus.

Es gibt auch eine mögliche Abhilfe:

Es ist die Aufgabe der AIR zu einem Aufrufereignis und entsprechende Maßnahmen zu ergreifen (wie das Öffnen eines neuen Dokumentfenster) zu reagieren.

Es gibt already a bug im Zusammenhang mit diesem auf dem Bugtracker, aber es ist ohne explizite Auflösung gegeben als geschlossen markiert ...

2

Nein, kann es nicht. AIR lässt nur eine Instanz einer beliebigen App mit derselben ID zu, die in der Datei app.xml definiert ist.

<application xmlns="http://ns.adobe.com/air/application/1.0"> 
<id>ApplicationID</id> 

Um dies zu umgehen Sie entweder einzeln ID'd Apps für jeden Stream erstellen haben, oder ein Master-App mit Fenstern für jeden Stream Kind erstellen.

0

Bei der letzten Überprüfung konnte eine AIR-App nur eine einzige Instanz ausführen. Sie könnten mehrere Fenster öffnen, aber Ihre App selbst müsste dies unterstützen. Ich hoffe, dass sie das bald ändern.

2

Nein. Bei AIR-Anwendungen kann immer nur eine Instanz ausgeführt werden. Wenn Sie mehrere Apps ausführen müssen, besteht die Lösung darin, eine App zu erstellen, wobei die App-Ansicht in einem separaten nativen Fenster angezeigt wird (eines für jede "App-Instanz").

Der Grund, warum es als geschlossen markiert ist, ist, dass es nicht als Fehler betrachtet wird, sondern eher als eine Design-/Implementierungswahl, die vom Luftteam getroffen wurde.

Hoffnung, dass ...

mike Kammern

[email protected]

0

Es gibt gute Gründe für diesen Entwurf hilft, obwohl es Anwendungsentwicklern erfordert die richtige OOP-Techniken zu folgen ... Unter OS X können nicht mehrere Instanzen einer App geöffnet sein. Stattdessen wird erwartet, dass alle Anwendungen mehrere Dokumente ordnungsgemäß verarbeiten. Das ist sehr nett aus der Sicht des Benutzers, auch wenn es mehr Arbeit für Entwickler bedeutet.

+0

Nicht jede App funktioniert mit "Dokumenten" im herkömmlichen Sinne. Es kann mehrere Gründe dafür geben, dass mehrere Apps ausgeführt werden. E.G. Ich versuche, eine App mit einem Anmeldesystem zu testen, indem ich zwei Instanzen ausfühle und mich mit zwei verschiedenen Benutzern anmelde. Das kann ich wegen dieser verzögerten Einschränkung nicht tun. Sieht so aus, als würde ich eine VM oder etwas verwenden. –

1

Ich habe ein Dienstprogramm geschrieben, mit dem Sie eine vorhandene AIR-Anwendung kopieren und mehrere Kopien nebeneinander ausführen können. Jede Kopie hat ihre eigenen Arbeitsverzeichnisse, daher sollten die Einstellungen und gespeicherten Daten unabhängig voneinander sein.

Sie können die Anwendung und den Quellcode von GitHub herunterladen: https://github.com/chrisdeely/AirAppDuplicator

Kontakt mir auf Twitter @chrisdeely mit allen möglichen Fragen

0

Ja, es kann, aber der Zusammenhang ist auf verschiedenen angemeldeten Benutzer, so kann es nicht die Antwort auf dein Problem sein. Daher kann dieselbe AIR-App zwei oder mehr Instanzen ausführen, die jeweils auf einem anderen angemeldeten Benutzer basieren.

1

Sie eine Kopie der App in einem anderen Ordner erstellen kann, dann das im application.xml <id> Element ändern

Zum Beispiel, wenn die erste Anwendung hat:

<id>ApplicationID</id> 

Sie können ändern die zweite Instanz zu sagen:

<id>ApplicationID2</id>