2010-08-19 30 views
19

Chúng tôi đang di chuyển ứng dụng Flex-3.2 sang Flex 4.1, chủ yếu để tận dụng các tính năng dòng/công cụ văn bản mới. Trong bước đầu tiên, chúng tôi quyết định thực hiện biên dịch cho chỉ MX và ở chế độ tương thích Flex-3.Các vấn đề về thời gian chạy sau khi di chuyển từ Flex3 sang 4 ở chế độ tương thích

Nhờ có một số tài nguyên hữu ích (

http://www.adobe.com/devnet/flex/articles/flexbuilder3_to_flashbuilder4.html

Any Flex 4 migration experience?

http://www.adobe.com/devnet/flex/articles/flex3and4_differences_02.html

) Tôi có thể biên dịch ứng dụng của chúng tôi. Tôi thấy mình ngạc nhiên về số lượng khác biệt thời gian chạy khác nhau, từ vấn đề mà tôi không thể đưa ResultEvent.currentTarget sang HTTPService (dường như đã được giới thiệu trong 3.5) cho nhiều vấn đề bố cục cho sự khác biệt trong việc gửi đi sự kiện (ví dụ: thành phần cũ lắng nghe sự kiện thêm mà nó dường như không còn nhận được nữa).

Có vẻ như có rất ít tài liệu về điều này. Tôi muốn tìm một danh sách với những thay đổi chi tiết để chúng tôi không phải dựa vào QA để vấp ngã trên hy vọng tất cả các vấn đề.

This documents lists some, nhưng dường như không đầy đủ. Có ai có danh sách các thay đổi được ghi lại tốt hơn không?

Cảm ơn Stefan

PS. Danh sách ví dụ cụ thể tôi đã tìm thấy cho đến nay:

1) Trong Flex 4 add sự kiện không bị sa thải:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute" minWidth="955" minHeight="600"> 

    <fx:Script> 
     <![CDATA[ 

      private function notFired():void 
      { 
       trace("ADDED"); 
      } 

      private function fired():void 
      { 
       trace("COMPLETE"); 
      } 
     ]]> 
    </fx:Script> 

    <mx:TextArea add="notFired();" creationComplete="fired();"/> 

</mx:Application> 

Bây giờ làm như vậy trong Flex 3 và bạn sẽ thấy cả hai sự kiện ngọn lửa.

Dường như, this is a bug. Có thể có thể làm việc xung quanh điều này nhưng chắc chắn làm giảm mức độ của tôi hoặc tin tưởng đáng kể.

2) Hộp thoại/cửa sổ bật lên hiển thị tất cả nội dung được nhân đôi.

A bug as well. Dễ dàng để làm việc xung quanh, nhưng làm thế nào có thể cái gì đó rõ ràng trượt?

3) Các vấn đề với ký tự "Ôª" được chèn.

See post here.

+1

Bạn sẽ có may mắn hơn nếu bạn đặt câu hỏi cụ thể để giải quyết các vấn đề cụ thể. – JeffryHouser

+1

Câu hỏi đặt ra là: có danh sách bao gồm tất cả các thay đổi từ SDK 3.2 đến 4.1 không. Với vấn đề cụ thể là sự kiện bổ sung không cháy khi nó được sử dụng và quan sát nhiều sự khác biệt khi chạy ứng dụng của tôi trong 3 so với 4 (với khả năng tương thích), tôi sợ rằng tôi phải chạy qua tất cả các đường dẫn thực hiện để tìm tất cả các tiềm năng các vấn đề khá là một nhiệm vụ. – Stefan

+0

@Stefan - đó là sau khi tất cả các lý do để kiểm tra đơn vị :), tôi biết nó không phải luôn luôn dễ dàng hoặc thậm chí có thể với tất cả các phần của chức năng Flash và thực tế là rất nhiều nó sẽ yêu cầu kiểm tra trực quan nhưng đây là một đau thường xuyên phát triển của các phiên bản chuyển đổi, mọi thứ được cố định và các tính năng được giới thiệu và hồi quy lỗi bật lên thỉnh thoảng. http://www.adobe.com/devnet/flex/articles/flex3and4_differences.html https://bugs.adobe.com/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+SDK+AND+status + trong +% 28Mở% 2C +% 22In + Tiến trình% 22% 2C + Mở lại% 29 – shaunhusain

Trả lời

1

Hãy xem một số nghi ngờ của bạn ...

1) Thêm không bao giờ là một sự kiện đáng tin cậy từ đèn flash player 9 phát hành. Đó là một lỗi phổ biến. Cố gắng tạo một movieclip ra khỏi danh sách hiển thị và thêm một đứa trẻ trong đó có trình nghe Event.ADDED. Trong một số trường hợp (không biết chính xác tình huống nào) nó không hoạt động (Adobe Fail). Nhưng, thay vì sự kiện "thêm" flex, sử dụng "thêm" hoặc "addToStage" một khi bạn muốn phát hiện nếu nó đã có trong danh sách hiển thị ứng dụng của bạn.

2) Không thành công. Kiểm tra mã nguồn trình quản lý bố cục của khung công tác.

3) Tôi chưa bao giờ thấy điều này. (Ngay cả trong chế độ tương thích). Bạn có thể cho thấy một ví dụ? Bạn có kiểm tra xem mã hóa ứng dụng có giống với cách bạn đang sử dụng trên các chuỗi không? Có lẽ bảng chuỗi có thể làm một số nhầm lẫn do các ký tự mã hóa (hoặc có thể là trình soạn thảo của bạn). Hãy thử các trình soạn thảo khác và xác minh nội dung tệp mã trên vỏ linux bằng SED. Với một tìm kiếm và một sed bạn có thể sửa chữa nó một cách dễ dàng.

+0

Cảm ơn bạn đã nhập. 3) có thể phải thực hiện với việc sao chép mã từ các nguồn khác như Komodo vào Flex Builder, sau đó bắt đầu gây ra vấn đề trong Flash Builder 4. Khi tôi mở yêu cầu này để có danh sách đầy đủ các thay đổi khoảng 6 tháng và cuối cùng chúng tôi đã chuyển thành công ứng dụng của chúng tôi đến Flash Builder 4 Tôi đóng nó ngay bây giờ. – Stefan

+0

Bạn tra cứu mã ký tự ANCII chính xác và thử nhập mã đó vào mã bằng cách giữ phím ALT và nhập số ký tự bằng các phím số. Ví dụ: ALT + 0128 tạo ký hiệu €. – Cninroh

Các vấn đề liên quan