Skompilowałem SWC i używam go w projekcie flashdevelop.
Kiedy kompiluję projekt, wszystko jest w porządku, ale kiedy uruchamiam / debuguję projekt, otrzymuję:
[Fault] exception, information=TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::MovieClip@43e3f99 to fl.controls.Button.
Następująca linia powoduje błąd:
public var loginPanel:loginControl = new loginControl();
LoginControlView to nazwa movieclip. loginControlView to nazwa zasobu. i istnieje klasa o nazwie loginControl, która rozszerza loginControlView
Klip filmowy LoginControlView zawiera 2 pola tekstowe i przycisk (fl.controls)
Projekt działa dobrze, jeśli kompiluję / uruchamiam / debuguję z Flash IDE.
Jakieś sugestie?
Odpowiedzi:
4 dla odpowiedzi № 1Ok Znalazłem rozwiązanie. Ścieżka do folderu fl.controls instalacji lampy błyskowej zawierała ścieżki klas. Ale fl.controls, gdzie również są eksportowane z moim SWC. Zakładam, że przyczyną problemu były dwie definicje tej samej klasy, ponieważ po usunięciu ścieżki klasowej wszystko działało dobrze.
0 dla odpowiedzi nr 2
jak zapewne wiesz, pakiet fl.controls zawiera komponenty do Flash Professional CS5 i wcześniejszych, które mogą używaj w programie Flash Develop, łącząc komponenty w pliku .swc: Jak używać formantu Adobe z fl.controls. * W programie FlashDevelop?
ponieważ Twój projekt kompiluje się w programie Flash Professional bez błędu, problem musi znajdować się w wyeksportowanym pliku fl.controls. * .swc.
zamiast używać fl.contros. * .swc, ponieważ używasz Flash Develop, możesz użyć skrótu Pakiet spark.controls lub Pakiet mx.controls z pakietu SDK Flex 4.1. oba pakiety zawierają klasy Button i TextInput.