-
21.07.2010
Den myty Shop vom Desktop administrieren
Neben dem klassischen Browser - Webfrontend kann das myty Shopsystem nun auch über eine eigene Desktopanwendung administriert werden. Das mytyShopFrontend bietet dem Betreiber einen schnellen Zugriff auf zentrale bereiche des myty Shopsystems, wie dem Bearbeiten und Anlegen neuer Bestellungen, Rechnungen, Artikel- und Kundendaten. Das mytyShopFrontend ist als multiclient Anwendung ausgelegt, so dass prinzipiell beliebig viele Mitarbeiter gleichzeitig mit dem Shop arbeiten können. -
13.10.2009
myty drag'n'drop Photo upload mit Adobe AIR Applikation
Unsere HTW-Praktikantin Nora schraubt und feilt fleißig an dem "kleinen" Monstertool, was uns das Leben verlängern soll. Weniger Stress - längeres Leben! -
07.07.2009
MovieClips in AS3 einfärben
In der Flash IDE gibt es eine Funktion zum Einfärben eines MovieClips bzw. einer DisplayObject-kompatiblen Instanz. In ActionScript wird dies über ColorTransform geregelt, allerdings ist die Abbildung dieser Einfärben-Funktion nicht intuitiv.
Erstaunlicherweise findet man relativ wenig konkrete Informationen dazu im Internet, deshalb hier eine schmale und kurze Lösung, welches Einfärben über ColorTransform regelt.
function tint(mc:MovieClip, color:Number, percent:Number):void { var ct:ColorTransform = new ColorTransform(); ct.color = color; ct.redOffset *= percent; ct.greenOffset *= percent; ct.blueOffset *= percent; ct.redMultiplier = 1-(ct.redOffset/255); ct.greenMultiplier = 1-(ct.greenOffset/255); ct.blueMultiplier = 1-(ct.blueOffset/255); mc.transform.colorTransform = ct; } -
29.04.2009
Inkompatibilitäten in den SOAP-Implementationen der verschiedenen Anbieter - Teil 2
Heute habe ich Zeit die im 1. Teil meines Blogs zu Inkompatibilitäten in SOAP-Implementationen angekündigte Fortsetzung zu verfassen. Beginnen möchte ich mit einem Outting der "schwarze Schafe".
-
02.07.2008
Flash-Inhalte bei Google jetzt indizierbar
Vorbei soll es sein, dass Flash-Webseiten schwarze Löcher bei Google darstellen, wenn es nach Adobe geht. Der Monopolist im Bereich Desktop-Publishing hat bekannt gegeben, Suchmaschinenbetreibern, wie Google und Yahoo eine Technologie übergeben zu haben, die das Durchsuchen von Flash-Inhalten vollständig ermöglichen soll.
-
27.05.2008
Neues von der Webinale
Die vergangenen 3 Tage fand in Karlsruhe die Webinale statt, in der es um die neuesten Trends und Technologien im Bereich Web & Mobile ging. Die tyConauten Mike und Frank - meine Person - waren auch von der Partie um neue Ideen aufzuschnappen und zu sehen wie sich der Markt um Web2.0 weiter entwickelt.
-
13.01.2008
MovieClip Management
Im Laufe der Entwicklungen an der LDIC-Offline-Präsentation bin ich auf einen Fehler in der Flash-IDE gestoßen, der mir so manche aufregende Stunden bereitet hat. Grund dafür war ein unerklärliches Phänomen, das die CPU-Last einer als Windows-Projektor exportierten Flash-Animation mit jedem Szenenwechsel Stück für Stück ansteigen ließ und den verwenden Host-Rechner bis an seine Grenzen trieb.Das besonders Unerklärliche war, dass nur der Projektor von diesem Phänom betroffen war, die zu Grunde liegende Shockwave-Datei blieb davon unberührt wie dieses Bildschirmfoto beweist:
Zu sehen ist die selbe Anwendung mit unterschiedlichen CPU-Auslastungen nach 5 aufgerufenen Seiten. Einmal als SWF im Standalone-Flashplayer (unten) und einmal als Projektor (oben).
Nach einer Reihe von Versuchen bin ich dann dahinter gekommen: Mit der Loader-Klasse geladene SWF-Dateien laufen auch nach vermeintlichem Entfernen im Hintergrund weiter. Der Garbage-Collector wird daran gehindert, den MovieClip und sein Eltern-Loader-Objekt aufzuräumen und aus dem Speicher zu entfernen.
Bestätigung für diesen Fehler fand ich auf dieser Seite "Garbage collector troubles using the loader class".Weitere Nachforschungen ergaben, dass in AS3-exportiere (also in der selben Version wie die Host-Anwendung), SWFs dieses Problem nicht besaßen, zumindest nicht ganz so gravierend.
Mit einem Umschreiben (neu exportieren) der einzuladenden SWF in AS3 war das Problem minimiert, jedoch nicht ganz gelöst. Nun lief die CPU-Last nicht mehr bis über 90% an, dafür konnte man jedoch sehen, dass weiterhin ein Prozess im Hintergrund lief.
Ursache dafür sind in der SWF definierte EventListener und Interval-Aufrufe. Der GarbageCollector kann keine MovieClips entfernen die solche definiert haben. Damit es funktioniert, müssen diese manuell entfernt werden. Da ich die einzuladende SWF jedoch nicht von außen steuern wollte, behalf ich mir mit einem Trick innerhalb ihrer Hauptprozedur.public function Constructor() {
// Starte Zufallsgenerator der Balken
interval1 = setInterval(zufallPeak, 1100);
interval2 = setInterval(zufallPeak, 1639);
// Starte Dekorationsanimation
addEventListener(Event.ENTER_FRAME, runDecoration);
}
private function runDecoration(ev:Event):void {
if (stage == null) removeMe();
}
private function removeMe():void {
trace("remove Me");
removeEventListener(Event.ENTER_FRAME, runDecoration);
clearInterval(interval1);
clearInterval(interval2);
}
Beim Entfernen des MovieClips mittels removeChild() aus der Anzeigeliste werden dessen Zeiger parent und stage auf NULL gesetzt. Auch wenn der Interval-Handler zufallPeak weiterläuft, das Objekt also nicht vollständig entfernt werden kann. Dieses Beispiel prüft in jedem ENTER_FRAME-Event, ob der Zeiger auf die Bühne noch existiert. Wenn nicht, werden die Intervalle beendet und Event-Handler entfernt. Das MovieClip kann nun vollständig vom GarbageCollector aufgeräumt werden, der Speicher wird frei und die CPU-Last bleibt niedrig.
-
02.11.2007
Produkt21 Dreipunktnull (360° Produktrotation)
Version 3 vom Produkt21-Player ist eine vollständige Neuentwicklung in ActionScript 3 mit Flex 2 unter Beachtung des neuen domainübergreifenden Sicherheitskonzepts, welches mit dem Adobe Flash Player 9 eingeführt wurde. Im Gegensatz zur vorherigen Version können die Konfiguration sowie die Bilddaten vollständig extern vorliegen, so dass nur noch die knapp 9kB große Wiedergabedatei beim Kunden liegen muss, wie unser Release-Candidate 1 zeigt.In diesem Beispiel werden die XML-Konfiguration, die Steuerungselemente sowie die Einzelbilder auf Anfrage von dem fremden Server solongo.de gelesen. Der Speicherverbrauch ist zwar weiterhin hoch, jedoch läuft die neue Version wesentlich stabiler.
Ich möchte hiermit zum Testen einladen und bitte darum aufgetretene Fehler als Kommentar zu melden. Wenn alles soweit stabil genug läuft, veröffentliche ich meine Erfahrungen mit den Richtlinien ausführlich in einem neuen Blog-Eintrag.
