| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jul 2011
Beiträge: 29
|
Hi Leute, ich zerbrech mir zur Zeit den Kopf wie ich ein valueobject an ein native window oder einem popup weiterleiten kann. Aber ich schaff es nicht mal eine Variable weiterzuleiten. Selbst die Funktion "sayHello" geht in der Hauptanwendung auf statt im native window. Mein Beispielcode sieht so aus: Code: <?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
private var newWindow:MyNativeWindow;
public var house:String = "wooden house";
private function openNewWindow():void {
trace(house);
if (newWindow != null) newWindow.close();
newWindow = new MyNativeWindow();
newWindow.width = 200;
newWindow.height = 200;
newWindow.data
newWindow.addEventListener(MouseEvent.CLICK,sayHello)
try
{
newWindow.open();
}
catch (err:Error)
{
trace(err.message);
}
}
private function sayHello(e:Event):void
{
Alert.show("Hallo Welt");
}
]]>
</fx:Script>
<fx:Declarations>
<fx:Component className="MyNativeWindow">
<mx:Window horizontalAlign="center" verticalAlign="middle" backgroundColor="blue">
<fx:Script>
<![CDATA[
protected function button1_clickHandler(event:MouseEvent):void
{
trace(outerDocument.house);
//trace(projectname(this.parentApplication).house);
}
]]>
</fx:Script>
<mx:Button label="Yeah" click="button1_clickHandler(event)" />
<mx:Button label="close" click="this.close()"/>
</mx:Window>
</fx:Component>
</fx:Declarations>
<s:VGroup horizontalCenter="0" top="10">
<s:Button label="Open New Window" color="black" click="openNewWindow()"/>
</s:VGroup>
</s:WindowedApplication> Viele Grüße Christian Geändert von flex5500 (15-07-2011 um 13:43 Uhr) Grund: was vergessen... |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Gib dem PopUp einen setter und vermeide Inline Komponenten Definitionen.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #4 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Ein kleines Beispiel. Und ich würde von statischen Klasseneigenschaften abraten! Code: <?xml version="1.0"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
import fs.components.NativeWindowExt;
import fs.controllers.NativeWindowController;
private var _nativeWindowController:NativeWindowController;
private var _nativeWindow:NativeWindowExt;
private function openButton_clickHandler(event:MouseEvent):void
{
_nativeWindowController ||= new NativeWindowController();
_nativeWindow = _nativeWindowController.openNewNativeWindow();
_nativeWindow.data = "Just a String.";
trace(_nativeWindow.data);
}
]]>
</fx:Script>
<s:HGroup>
<s:Button id="openButton" click="openButton_clickHandler(event)" />
</s:HGroup>
</s:WindowedApplication> Code: package fs.controllers
{
import flash.display.NativeWindowInitOptions;
import fs.components.NativeWindowExt;
public class NativeWindowController
{
private var _nativeWindow:NativeWindowExt;
private var _nativeWindowOptions:NativeWindowInitOptions;
public function NativeWindowController()
{
_nativeWindowOptions = new NativeWindowInitOptions();
}
public function openNewNativeWindow():NativeWindowExt
{
close();
_nativeWindow = new NativeWindowExt(_nativeWindowOptions);
// add event handler
return _nativeWindow;
}
private function close():void
{
if (!_nativeWindow)
{
return;
}
// remove event handler
_nativeWindow.close();
_nativeWindow = null;
}
}
} Code: package fs.components
{
import flash.display.NativeWindow;
public class NativeWindowExt extends NativeWindow
{
private var _data:Object;
public function get data():Object
{
return _data;
}
public function set data(value:Object):void
{
_data = value;
}
public function NativeWindowExt(initOptions:flash.display.NativeWindowInitOptions)
{
super(initOptions);
}
}
}
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jul 2011
Beiträge: 29
|
Hi Omega, wenn ich den Code so ausführe spuckt der Compiler in der .mxml Datei diese Fehlermeldungen aus: 1046: Type was not found or was not a compile-time constant: NativeWindowController. 1046: Type was not found or was not a compile-time constant: NativeWindowController. Ich hoffe mal, dass ich die Pakete richtig erstellt habe... Grüße Christian |
| | |
| | #7 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
| components und controllers sind beides packages, keine Dateien.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Jul 2011
Beiträge: 29
|
Ich glaube ich steh da etwas aufm Schlauch..habe in dem einem Monat Flex noch keine Pakete erzeugen müssen...wie erzeugt man Pakete? Mit rechtsklick bekomme ich zwar "package" zu sehen aber das is eher fast sowas wie ein "Verzeichnis"..
|
| | |
| | #9 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Ja, ein package ist ein Verzeichnis.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #11 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Gerne doch.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #13 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Das ist auch das, was passieren soll in meinem Beispiel. Und was möchtest du?
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: Jul 2011
Beiträge: 29
|
Das ein neues Native Windows aufgeht wenn ich auf nen Button klicke.Dort wiederum ist nochmal ein Button und wenn ich auf diesen klicke gibt diese per trace-Befehl eine Variable aus, die aber in der main.mxml liegt. Gruß Christian |
| | |
| | #15 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Das ist aber schlecht. Damit erzeugst du unnötige Abhängigkeiten. Entweder du reichst du zu modifizierenden Daten durch oder du teilst der Anwendung via Controller + Events mit, was geändert werden soll.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| air, component, flex, native window, popup |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| auf variable von native window in der main app zugreifen | bjt | Adobe AIR | 0 | 15-12-2008 21:37 |
| Window ansprechen | thiagojonas | Flash 8 | 0 | 24-06-2008 14:37 |
| variable in einem mc ansprechen | mojo777 | ActionScript 2 | 8 | 26-11-2006 23:35 |
| Button in createPopup Window ansprechen | huebschy | Komponenten und SmartClips | 7 | 10-08-2006 16:23 |