Secure Madness

Tuesday, May 4. 2010

Dieser nichtssagende Fehler hat mir einen halben Tag geraubt:

VerifyError: Error #1014: Class IFlexDisplayObject could not be found.

at flash.display::MovieClip/nextFrame()
at mx.core::FlexModuleFactory/deferredNextFrame()
at...

Googlend fanden sich nur Hinweise auf sdk-Versionsprobleme als moegliche Ursache.

Trat auf nach einem

StyleManager.loadStyleDeclarations(styleFilePath,true,false, ApplicationDomain.currentDomain);
nach Ausgabe in der console wurde das Style.swf aber korrekt gefunden und geladen. Nur eben nicht eingebunden..

Die Loesung? Um die Styles in bin_debug wie bin-release mit gleichem relativen Pfad zugaenglich zu haben, hatte ich die styles in einem Folder neben diesen beiden vorgehalten, also

styleFilePath = "../styles/myStyle.swf";

Geht und geht einfach nicht (aus der IDE, zur Laufzeit aber kann man das durchaus machen) So aber geht es:

styleFilePath = "styles/myStyle.swf";

und den styles-Ordner mittels zwei symlinks in den beiden ZielOrdnern eionhaengen. 

Seuffz...


"Die Adobe® AIR™-Laufzeitumgebung ermöglicht den Einsatz bewährter Web-Technologien für die Entwicklung plattformübergreifender Rich-Internet-Anwendungen für den Desktop."

Ok, ein kleines "Hallo welt" angelegt und als .air exportiert, rüber zum Linux desktop (Ubuntu 8.04 64 Bit LTS) und die .air angeklickt: wird als .zip-Archiv erkannt und geöffnet. Ein INSTALL ist nicht zu sehen, also wohl erstmal zu Adobe und die runtime herunterladen.

http://get.adobe.com/de/air/ erkennt mein OS und schlägt gleich AdobeAIRInstaller.bin vor, der download geht fix und dann eine shell im Download-Verzeichnis geoeffnet,

chmod 755 AdobeAIRInstaller.bin
./AdobeAIRInstaller.bin

und schon habe ich eine wunderschöne Fehlermeldung
Error loading the runtime (libnss3.so: wrong ELF class: ELFCLASS64)

Fein, Google findet mir Leidensgefährten und so bin ich bald auf Adobes Knowledgebase mit einer Installationsanleitung, die mich die fuer die runtime benötigten 32Bit-Libs manuell installieren lässt, inclusive eines getLib - Tools und zweier Fehler.

So wird man in Schritt 10 aufgefordert, Symlinks fuer die einkopierten libs zu legen:

$ sudo ln -s /usr/lib32/libnss3.so.1d /usr/lib32/libnss3.so $ sudo ln -s /usr/lib32/libssl3.so.1d /usr/lib32/libssl3.so $ sudo ln -s /usr/lib32/libnspr4.so.0d /usr/lib32/libnspr4.so

fehlt aber eine:

$ sudo ln -s /usr/lib32/libsmime3.so.1d /usr/lib32/libsmime3.so

sonst bekommt man eine vertraute Fehlermeldung. Und wer (wie ich) die Anleitung mit copy/paste abarbeitet, stolpert auch noch über den typo im Programmnamen.

Nach der kleinen Hürde startet der Installer nun endlich und tut auch, was man von ihm erwartet, im Menü findet man dann unter /Applications/Accessories zwei Einträge füer den Adobe Air Application Installer und Uninstaller. 

Aber jetzt nicht zu früh freuen und darauf klicken - dann passiert nämlich gar nichts. Stattdessen den Pfad zu dem neuen Programm finden und in der shell aufrufen

 /usr/bin/Adobe\ AIR\ Application\ Installer

 um die aktuelle Fehlermeldung zu sehen:

Error loading the runtime (libadobecertstore.so: cannot open shared object file: No such file or directory)

Dagegen hilft:

 cp /usr/lib/libadobecertstore.so /usr/lib32

und dann, dann geht es tatsächlich. Eindrucksvoll, und kaum aufwendiger als die Installation eines CD-Rom-Laufwerks unter Dos 4. 

Unter Windows 7 (Prof. 64) wollte sich die HalloWelt.air nicht installieren lassen, der Installer startete, liess sich die Erlaubnis zur Installation erteilen und kam alsbald mit der Mitteilung:

"Leider ist ein Fehler aufgetreten.

Die Anwendung konnte nicht installiert werden, da die AIR-Datei beschädigt ist. Bitten Sie den Anwendungsautor um eine neue AIR-Datei."

Leidensgefährten, aber keine Lösung, auf die rechte Spur brachte mich schliesslich Adobes Troubleshoot Adobe Air Installation Issues mit dem Tip, das .air auf den desktop zu kopieren und von da zu installieren. Offenbar kann der Application Installer mit Netzwerklaufwerken nicht umgehen.

Noch ein Nachtrag, bei der Installation des FlashPlayer unter Linux-64 hilft diese Anleitung

Call it a feature? As soon as you click a button in a flash builder 4 project you get vertical and horizontal scrollbars.Not that there is much scrolling to do, about 2px. What you get to see is a dotted focus rect which fb4 insist to put around the entire page.

And this happens regardless whether you do it in spark or halo, with a button or toggelButton, on a group or canvas - I spent some hours of my life trying all combinations and variations which I could think of. Below is bare bones example of a minimal test.mxml which compiles both in Flex 3 and FlashBuilder 4:

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Canvas>
        <mx:Button label="Drück mich" />
    </mx:Canvas>

</mx:Application>

Both have source view

testButton Flex3 (581 KB)
testButton FlashBuilder 4 (1,66MB)

Note the different sizes of flex3 and fb4 compiled file size.

There is a spark version of the thing as well:

testButton Fb4 Spark (1,22 MB)

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/halo" minWidth="1024" minHeight="768">
    <s:Group   id="myGroup"  >
        <s:Button  id="btn"  label="Drück mich" />
    </s:Group>
</s:Application>



Flashbuilder 4 is sooo slow

Tuesday, March 23. 2010

While I have been using Flex 3 for about 3 years now my first impressions of FlashBuilder 4 are somewhat mixed. I downloaded and installed tbe beta 2 just a week before the release and it is quite fascinating to watch the the thing crawl on its path. Maybe I should just go and get me a shiny new quadcore to get my actioncript editor work in a bearable manner? With all the code highlights and helpfull hinting the thing is quite busy doing its own chores so I have to wait again and again when typing. Frequent actions like - mark a bit of text, copy, click on a number of places in my script and paste the stuff - now have been upgraded to an exercise in patience and keeping my mind focussed. Click on a tab to quickly change to another script and see flash builder go into deep contemplation for some 20 seconds. Wow! Can't work like that.

On the same box flex 3 runs with no nonsense like that. Is it related to running windows 7 (prof.) x64? Searching for other reports of this problem the first I found runs the very same OS and reports the same experience. (German only)


« previous page   (Page 2 of 2, totaling 9 entries)