Tag Archives | Adobe Flex

Adobe Flash Builder 4

ได้เล่นตั้งแต่เมื่อวาน ตอนแรกคิดว่าจะไม่ได้ใช้ แต่ยังไงก็เอามาลองหน่อย ไป ๆ มา ๆ License ที่ขอจาก Adobe ตอนที่มันยังเป็น Beta 2 อยู่ดันใช้ได้ด้วยซะงั้น ตอนนี้ก็เลยได้ใช้ฟรีไปเรื่อย ๆ ก็เอามาเขียนซักหน่อยว่ามันมีอะไรดีขึ้นบ้าง สำหรับรูปทั้งหมดอัดอยู่ล่างๆ รวมกัน หลายรูปหน่อย สิ่งที่เพิ่มมาใน Flex 4 คนที่เขียน Actionscript เยอะๆ อาจไม่ค่อยได้ประโยชน์เท่าไหร่ แต่สำหรับคนที่ใช้ MXML แล้ว เรียกได้ว่าเปลี่ยนแปลงขึ้นมาก ทั้งการจัดการ State ที่ดีขึ้น ง่ายกว่าเดิมมาก หรือ Component ชุดใหม่ที่มีการจัดการหน้าตาที่ดีขึ้น สามารถ Export จาก Photoshop หรือ Illustrator ได้เลย โดยดาวโหลด Template จากเว็บ Adobe มา สำหรับ Flash Builder ที่ออกมาใหม่ เรียกได้ว่าปรับปรุงมาเพื่อให้รองรับกับ [...]

Read full story Comments { 0 }

Call JS function from Flash

งานอย่างนึงที่ต้องทำผ่านมาคือเรียกโปรแกรมที่เขียนด้วย Adobe AIR จากเว็บ แต่เรียกอย่างเดียวมันธรรมดาไป ต้องมีการรับค่าจากฟอร์มในเว็บด้วย! ตอนแรกก็คิดว่าไม่ยาก ที่ไหนได้เจออิทธิฤทธ์ของ IE6 เข้าไปถึงกับงงเลยทีเดียว แต่จะเขียนแล้วก็เขียนถึงวิธีเรียกทั้งหมดเลยละกัน ใน Flex framework มีคลาสสำหรับติดต่อกับ Javascript จะใช้เรียกฟังก์ชั่น หรือจะให้ฟังก์ชั่น Javascript มาเรียกใน Flash คือ flash.external.ExternalInterface เวลาเรียกฟังก์ชั่น Javascript จาก Flash ก็ง่ายๆ ด้วยคำสั่ง ExternalInterface.call(“javascriptFunctionName”, “argument1″, “argument2″, … , “argumentN”) แต่ความยากไม่ได้อยู่ที่ตรงนี้ สิ่งที่ทำพลาดจนทำให้ต้องจดคือสิ่งที่อยู่ใน HTML เพราะบราวเซอร์แต่ละตัวเห็น tag object embed ต่างกัน สุดท้ายแล้วทางที่ดีคือคัดลอกเอาจากใน Flex API Document มานั่นแหละ ปลอดภัยที่สุด ลองมาดูของจริงเลยละกัน Javascript ในหน้านี้หน้าตาเป็นอย่างด้านล่าง เมื่อกดปุ่มด้านล่าง จะเรียก function [...]

Read full story Comments { 1 }

Function declaration style and variable scope problem

เป็นปัญหาที่ยังไม่สามารถทำให้เกิดขึ้นอีกในโค้ดแบบอื่นได้ แต่เอามาเขียนไว้ก่อนเพราะมันสร้างความปวดหัวให้กับคนเขียน Javascript มาก่อนมากมาย และไม่รู้จะเจอมันอีกทีเหมื่อไหร่ แต่ไม่สามารถเอาโค้ดต้นฉบับทั้งก้อนมาใส่ในนี้ได้ เลยขอแค่เล่าแล้วเอา stacktrace มาแปะใส่ไว้ละกัน เหตุการณ์เริ่มต้นเกิดจาก @pitiphong_p เจอบั๊กหนึ่งที่ไม่รู็จะแก้อย่างไรเข้าเพราะใน Flash Builder Debugger บอกว่าตัวแปรต่างๆ มีค่าครบสมบุรณ์หมด แต่ error บอกไม่สามารถหาตัวแปรนั้นได้ [Fault] exception, information=TypeError: Error #1010: A term is undefined and has no properties. Fault, CheckboxListRenderer.as:21 21 data.selected = checkbox.selected (fdb) bt #0 this = [Object 32588233, class='global'].(event=[Object 659079665, class='flash.events::Event']) at CheckboxListRenderer.as:21 #1 EventDispatcher/dispatchEventFunction() at :0 [...]

Read full story Comments { 3 }

Flex Event Propagation

ปล่อยเรื่องนี้ค้างคาใจมานานเหลือเกิน เพราะไม่ได้ใช้ Event ครบทุก Phase อย่างจริงจัง วันนี้ต้องทำให้ Checkbox List ทำงานเร็วขึ้นแต่ไม่อยากแก้ List ของ Adobe ตรงๆ หรือทำไรเพิ่มเติมก็ต้องเล่นกับ Event แทนนี่แหละ อ่านคร่าวๆ ขั้นตอนการส่งต่อ Event ของ Flex มีแค่สามขั้นคือ Capturing Phase, Targeting Phase, Bubbling Phase ลองดูภาพด้านล่างเผื่อเข้าใจง่ายขึ้น ภาพด้านบนแสดงการซ้อนกันของ Component ต่างๆ ที่สร้างขึ้น มี Application เป็น Component ที่อยู่นอกสุด ตามด้วย HBox และ Button ถ้าเขียนเป็น mxml ก็จะได้อย่างด้านล่าง เมื่อมีคนกดปุ่มสิ่งที่เกิดขึ้นคือ component ที่อยู่นอกสุดซึ่งก็คือ Application จะดักจับ event ได้ก่อน จากนั้นจะส่งต่อไปที่ Box [...]

Read full story Comments { 1 }

Adobe Flex หรือ JS+HTML

เพื่อนเคยถามว่าจะใช้ Adobe Flex ดีหรือเปล่ามันยากง่ายอย่างไร ก็ตอบแบบคร่าวๆไป ตอนนั้นไม่เคยรวบรวมความคิดแล้วสรุปอย่างจริงจังว่ามันควรใช้หรือไม่ แต่เมื่อปลายเดือนที่แล้ว(หรือกลางๆ เดือนหว่า) ได้คุยกับพี่ที่ทำงาน แล้วมันก็เหมือนรวบยอดขึ้นมาว่า Adobe Flex มันดียังไง แล้วมันไม่ดียังไง มันควรใช้เมื่อไหร่ Adobe Flex จริงๆ มันก็ง่ายสำหรับคนที่เคยเขียน Java หรือ C# นะ เพราะลักษณะภาษามันแทบไม่ได้มีอะไรแตกต่าง เพราะงั้น สำหรับโปรแกรมเมอร์ที่นั่งพิมพ์ดีด อย่างเดียวแล้ว ถือว่ามันง่ายกว่า Javascript พอสมควรเลยหละ แต่ว่า สิ่งหนึ่งที่น่าปวดหัวที่สุดคือ มันไม่ได้สวยจนเอาไปใช้งานได้ตั้งแต่เริ่มต้น และการปรับเปลี่ยนหน้าตามันไม่ได้ง่ายเหมือน HTML หลายคนอาจจะบอกว่า Adobe Flex ก็มีภาษา MXML ที่มีหน้าตาคล้าย HTML แถมใช้ CSS ได้เกือบจะเหมือนกันอีก ซึ่งก็จริง หลายๆ อย่างนั้นเหมือน HTML มากแต่มันต้อง compile ก่อนถึงจะเห็นผล ซึ่งนั่นไม่เหมาะกับบริษัทที่มีแต่โปรแกรมเมอร์มาก มันเป็นอะไรที่เหมาะกับบริษัทที่มีคนออกแบบหน้าตาด้วยโปรแกรมของ Adobe [...]

Read full story Comments { 1 }