2016-04-07 18 views
0
'Zorlama Başarısız'
import ph.package1.*; 
import ph.package2.*; 
Ben farklı paketler kullanılan neden

Ana Nedeni ben istediğim için benim FB4.6 Mobile Uygulaması hakkında görüş ayırmaktır Farklı mobil ve tablet çözünürlüklerini karşılamak için belirli görünümler oluşturmak.Çoklu Paketler, Değişken Başlatma Sorunu <p>Ben iki paket</p> var

Temel olarak, ikisi aynı dosyalara ve dosya adlarına sahiptir, ancak bunlar yalnızca düzen ve stillere göre değişir. Artık tek bir paketten fazlalık önlemek için bir AS dosyası kullandım ve şu ana kadar iyi çalışıyor. Uygulama çoğu sayfa üzerinde çalışıyor.

Şimdi sorun benim eylem senaryolarından biri üzerinde, bu kod var, şudur:

var counter:Counter = this["counter"]; 

Varsayımlar Geçerli Görünüm

  • Dosya AS Paket1
    dan

    • Her iki pakette de Counter.mxml
    • bulunur. değişken başlatma diğer pakete işaret edecek şekilde

    TypeError: Error #1034: Type Coercion failed: cannot convert ph.package1.Counter to ph.package2.Counter....

    Bunu nasıl çözebiliriz.

  • cevap

    1

    Sen bütün ad kullanmanız gerekir:

    var counter:ph.package1.Counter = this["counter"]; 
    

    Fakat paketler hala farklı sınıf isim vermek iyi bir fikirdir bu çatışmaları önlemek içindir zaten iken. Kabus olacağıyla aynı adı taşıyan 20 dersiniz varsa düşünün.

    +0

    Güzel, bunu yapabileceğimi bilmiyordum. Farklı paketlerde de aynı isim sorununa gelince, paketleri kuracak bir fonksiyon yaratmayı düşünüyordu ... bunun nasıl yapılacağı hakkında bir fikrimiz yok. –

    +0

    btw, değişkeni başlatırken tüm ad alanını kullandığımda hala aynı hatayı aldım. Hata # 1034: Type Coercion failed ”. –

    +1

    Daha sonra diğer paket ad alanını kullanın, bir veya diğeri zaten. – BotMaster