Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-06-2010, 18:14   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2007
Beiträge: 139
AS Workflow

Hallo

ich wußte nicht genau, wo ich das hier posten sollte, weil es im rahmen von flex stattfindet, habe ich gedacht ich poste es besser hier.

Von PHP kenne ich , dass wenn man im code eine neue zeile anfängt, dass man davon ausgehen kann, dass die funktionen vorher alle schon erledigt worden sind.

Bei Flex oder auch AS3? bin ich nun auf folgendes Beispiel gestoßen, was ein ganz anderes Verhalten schlußfolgern läßt? :
Wenn man bei diesem Beispiel davon ausgehen möchte, dass die funktionen erledigt sein sollen, muß man eine extra funktion aufrufen ???


Seite 1332

Zitat:

adg.dataProvider = groupedCollection;
adg.expandAll();

In this example, the call to expandAll() fails because the AdvancedDataGrid control is in the process of setting the dataProvider property, and the expandAll() method either processes the old value of the dataProvider
property, if one existed, or does nothing.
In this situation, you must insert the validateNow() method after setting the data provider. The validateNow() method validates and updates the properties and layout of the control, and then redraws it, if necessary. The following example inserts the validateNow() method before the expandAll() method:

adg.dataProvider = groupedCollection;
adg.validateNow();
adg.expandAll();
Zitat:
OK AS is eventdriven, aber eine gewisse Sicherheit der Zeilenreihenfolge benötigt man doch? Gibt es da irgendwelche Anhaltspunkte , Regeln?
Oder muß man ganz umdenken.?
carsten cs ist offline   Mit Zitat antworten
Alt 07-06-2010, 18:41   #2 (permalink)
Neuer User
 
Registriert seit: Mar 2007
Beiträge: 139
Ungefähr weiß ich die Antwort ja eigentlich schon selbst.

as3 funktioniert natürlich Zeile für Zeile.

Aber die Programmlogik von Flex ist über die Zeile-für-Zeile-Struktur hinaus in die Möglichkeiten mit events gewachsen, was auch eine gewisse unübersichtlichkeit bedeutet.

Das problem ist vielmehr die Dokumentation so einer Programmstruktur.

Ich das eigentlich nur mit prosa möglich (also dass man es nur mit wörtern beschreiben kann), oder gibt es hier für auch Diagramme/Übersichten, mit denen man den Platz der Funktion in der event Reichenfolge übersichtlich nachvollziehen kann.

Eigentlich ist Flex ja ein RealTeilsystem - oder ? Gibt es in dieser Sparte nicht unter Umständen extra Dolumentationsmöglichkeiten?

Geändert von carsten cs (07-06-2010 um 18:43 Uhr)
carsten cs ist offline   Mit Zitat antworten
Alt 07-06-2010, 18:43   #3 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Grundsätzlich ist das in AS auch so, wie Du es für PHP beschrieben hast. Alles andere würde die Ausführung des Codes auch unberechenbar machen...

Da es für einen Flashfilm jedoch sehr ungünstig ist, wenn er jedesmal einfrieren müsst während er auf irgendwelche Daten wartet oder extrem komplexe Berechnungen macht, gibt es die Möglichkeit asynchrone Funktionen zu programmieren und so Aufgaben zeitlich zu verteilen. Das ist im Endeffekt nichts anderes als, dass die Funktion intern ein TimeOut, Intervall oder EnterFrame aufruft, welches den Process abarbeitet und ggf. ein End-Event wirft.

Von außen sieht man so einer Funktion das natürlich nicht an ob sie asynchron arbeitet, aber dafür gibt's ja die Dokumentation.

Ich kenne die Klasse und Aufgabe Deiner Funktion nicht, denke aber, dass da intern etwas on EnterFrame überprüft und gerendert wird und daher erst im nächsten Frame den richtigen Zustand zur Verfügung steht. Das kann man jedoch aber durch den direkten Aufruf der Renderfunktion umgehen.

Sicher hätte der Ersteller dieser Funktion das auch eleganter lösen können (z.B. über eine set-Funktion), aber das Leben ist nun mal kein Wunschkonzert...
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 07-06-2010, 18:50   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Ja, ActionScript ist deterministisch in seiner Ausführung. Aber trotzdem kann man nicht naiv mit dem Code umgehen, da - insbesondere in Flex - Code nicht in einem Frame abgearbeitet wird, sondern aus Performance Gründen nur in bestimmten Phasen des Players ausgeführt werden sollte. Man will also nicht zu viel Code in einem Frame ausführen, sonst kommt es zu Performance Einbußen (die Framerate geht runter).

Als Flex Entwickler sollte man sich mal mit dem Komponenten Lebenszyklus auseinander gesetzt haben. Der ist genau auf diese Problematik hin designed.
Omega Psi ist offline   Mit Zitat antworten
Alt 07-06-2010, 19:40   #5 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Zitat:
Zitat von Martin Kraft Beitrag anzeigen
ch kenne die Klasse und Aufgabe Deiner Funktion nicht, denke aber, dass da intern etwas on EnterFrame überprüft und gerendert wird und daher erst im nächsten Frame den richtigen Zustand zur Verfügung steht. Das kann man jedoch aber durch den direkten Aufruf der Renderfunktion umgehen.

Sicher hätte der Ersteller dieser Funktion das auch eleganter lösen können (z.B. über eine set-Funktion), aber das Leben ist nun mal kein Wunschkonzert...
Nein, das ist genau nicht gewünscht. Das würde im Worst case dazu führen, dass die ganze View einer Applikation gebaut wird. Das ist worst practise in Flex.
Omega Psi ist offline   Mit Zitat antworten
Alt 08-06-2010, 07:49   #6 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Sorry - in Flex mögen da die Prioritäten anders liegen.
(Ich komme aus der Flash Sphäre und da man dort die Prozesse eh zeitlich verteilt, macht es da nur Sinn auf Asynchronität zurückgreifen, wenn etwas eh zeitlich aufgelöst werden muss oder der Prozess so komplex ist oder so lange dauert, das er den Player einfrieren würde.)
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 08-06-2010, 08:04   #7 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
In Flex werden das Setzen von Eigenschaften, das Erstellen von Kindelementen, Updates des Layouts und... per default so spät wie möglich durchgeführt.

Und auch in Flash macht das Sinn. Es gibt nur keinen Mechanismus dafür, der mit geliefert wird. Den muss man sich selbst bauen.
Omega Psi ist offline   Mit Zitat antworten
Alt 09-06-2010, 14:05   #8 (permalink)
Neuer User
 
Registriert seit: Mar 2007
Beiträge: 139
Zitat:
Zitat von Omega Psi Beitrag anzeigen

Als Flex Entwickler sollte man sich mal mit dem Komponenten Lebenszyklus auseinander gesetzt haben. Der ist genau auf diese Problematik hin designed.

Hallo

weiß zufällig jemand wo dieser Lebenszyklus im Handbuch abgebildet ist.

Ich hatte einmal ein ziemlich gutes Kapitel darüber gelesen, aber ich finde es nicht mehr.
carsten cs ist offline   Mit Zitat antworten
Alt 09-06-2010, 14:31   #9 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
ADOBE® FLEX® 3
CREATING AND EXTENDING ADOBE FLEX 3 COMPONENTS
Chapter 9: Advanced Visual Components in ActionScript

in der offiziellen Dokumentation.
Omega Psi ist offline   Mit Zitat antworten
Alt 09-06-2010, 14:38   #10 (permalink)
Neuer User
 
Registriert seit: Mar 2007
Beiträge: 139
Ich habe jetzt doch das kapitel wiedergefunden, dass ich gemeint hatte:

Adobe*Flex*4 * Using containers
carsten cs ist offline   Mit Zitat antworten
Alt 30-06-2010, 14:16   #11 (permalink)
Neuer User
 
Registriert seit: Mar 2007
Beiträge: 139
Hier im Flex4-Handbuch:

Adobe*Flex*4 * About creating advanced Spark components
carsten cs ist offline   Mit Zitat antworten
Alt 12-07-2010, 13:22   #12 (permalink)
ace flex
 
Registriert seit: Jul 2005
Beiträge: 111
Dan Orlando hat mal den LifeCycle in einem Diagramm verpackt. Vielleicht hilft es dir ja auch weiter. Life Cycle of the Flex UIComponent Base Class - FlashPlatformist

Geändert von Petrus910 (12-07-2010 um 13:30 Uhr)
Petrus910 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
XML Workflow nonnenkloster Flash mit XML und Webservices 2 21-06-2009 21:27
Workflow Software chriloi PHP und MySQL 8 12-08-2006 08:51
Sonderzeichen / Workflow Mac <-> PC Theo Flash MX 5 31-10-2003 09:50
Workflow Flash MX jumpingjokes Flash 4 und Flash 5 14 06-03-2003 18:01
Workflow/Stapelverarbeitung Salomon Flash 4 und Flash 5 2 30-11-2001 18:58


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele