2012. július 31., kedd

Flash Builder 4.6 C++ Runtime error induláskor Windows XP alatt

Gondoltam új projekt kezdése előtt frissítem a Flash Builder verziómat 4.5-ről 4.6-ra. Nem nagy változás, elvileg pár perc alatt felmegy és pár új fícsörrel gazdagabb lesz a flash rendszer.. elég naív gondolat volt, mert egy napos szívás lett belőle de lehet, hogy másfél napos is volt, már nem emlékszem pontosan, ki kellett hevernem.
Persze telepítés előtt a régit teljesen el kell távolítani, még nyoma sem maradhat, ehhez a Cleaner Tool is kell, nem úgy van az..
Jó töröl, telepít, minden megvan kb. 20 perc alatt. Elindítom a cuccot és betöltés közben dob egy Microsoft C++ library runtime error-t! Hát ez szép, most mi van?
Eszeveszett gúglizás indul, sehol semmi.. Jó az hozzátartozik a dologhoz, hogy először az amtlib.dll-re gyanakodtam, mert azt ugye máshonnan szereztem be, csak hogy ne problémázzunk annyit a szériaszámokkal.. ;) Kipróbáltam a neten az összes fellelhető dll-t, de vagy el sem indult, vagy ugyanaz a hiba.
Aztán egy Adobe hibaelhárító oldalon, ahol ha jól emlékszem az Acrobat-nál volt ugyanez a hiba, azt javasolták, hogy az update-er okozza a hibát, megoldja ha egy bizonyos update dll-t törlünk. Persze FB-nél ez a dll nem létezik, de találtam egy másikat:

"c:\Program Files\Adobe\Adobe Flash Builder 4.6\eclipse\plugins\com.adobe.flexide.amt_4.6.0.328916\os\win32\x86\updaternotifications.dll"

Átneveztem .bak-ra és csiribú-csiribá.. működik! :)

Ha esetleg valaki ugyanebbe botlik, jó ha megspórol egy kis szívást.

2012. április 27., péntek

Hogyan konvertáljam tömegesen a PHP fájlokat UTF-8 formátumra SCITE-hez?

Átvettem egy félig kész projektet, ami az álmaim netovábbja.. :( de nem ez a lényeg. Az összes fájl ISO kódolásban volt mentve és az oldal is ISO-8859-2-ben volt, de így nyilván nem lehet nemzetközi egy oldal..
Kezdésnek az adatbázist kellett átkonvertálni UTF-8-ra, ami elég könnyen megtörtént egy jól irányzott kötegelt ALTER TABLE-lel.
Utána a meta charset infót kell átírni a html fejlécben:



Utána jött a php fájlok átkonvertálása. Mivle SCITE-ét használok az onnét tudja, hogy UTF-8-al van dolga, hogy az első két sor valamelyikében megtalálja ezt: encoding:utf-8
Fontos, hogy a fájlban ne legyen BOM, mert azt a webszerver kapásból visszaadja és minden oldal furcsa karakterekkel fog kezdődni.. :)
Ehhez írtam egy php programot, ami a megadott könyvtárban akár rekurzívan elvégzi a szükséges változtatásokat, történetesen átnyomja az egészet UTF-8-ba, majd beszúrja a SCITE kódot:

2009. február 20., péntek

getObjectsUnderPoint fails to work

getObjectsUnderPoint fails to work for some reason, when the movie is loaded into a flex application and it is called in a nested movie clip.
Flex -> app.swf -> [movieclip].getObjectsUnderPoint: returns fail things
Solution is to always call getObjectsUnderPoint on the stage instance!
Flex -> app.swf -> [stage].getObjectsUnderPoint: returns good things
But watch out to stage instance, because when swf is loaded and the creator of the main class is called, there is no stage property set!
Implement an init() method that is about to call from flex on the SWFLoader.complete event.

// flex:
private function swfLoaderComplete(event:Event):void
{
contentLoader.content["init"].apply();
}

// SWF main class:
public function init():void
{
stage.addEventListener(MouseEvent.MOUSE_MOVE, stageMouseMove);
}

2008. szeptember 23., kedd

Flex 3 and loaded swf event dispatch

Problem: There is an mxml application and it loads an other (external) swf (mxml) application. How can I dispatch an event form the loaded app to the main app?



Solution:

Loaded.mxml:

This function is binded to a button click in my example:

private function sendevent(event:MouseEvent):void

{

this.parent.dispatchEvent(new Event("clicked"));

}

Main.mxml:


<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Script>

<![CDATA[

public var loadedSM:SystemManager;

private function loadComplete(event:Event):void

{

loadedSM = SystemManager(loaded.content);

loadedSM.addEventListener(FlexEvent.APPLICATION_COMPLETE, loadedAppComplete);

}

private function loadedAppComplete(event:Event):void

{

loadedSM.addEventListener("clicked", clickhandler);

}

private function clickhandler(event:Event):void

{

Alert.show("Voila!", "yess");

}

]]>

</mx:Script>

<mx:SWFLoader x="10" y="40" source="Loaded.swf" width="206" height="126" id="loaded"
complete="loadComplete(event)"/>

</mx:Application>