Flash CS4 bırakmayı reddediyor


2742

Bir Flash projem var ve birçok kaynak dosyası var. Oldukça sık kullanılan bir sınıfım var, buna Jenine deyin. Son zamanlarda (ve belki de duygusuzca) Jenine'yi bir ad alanından diğerine taşıdım. Hazır olduğumuzu düşündüm - zamanın geldiğini düşündüm. Yeni Jenine her yönden daha iyiydi - bazı kod şişkinliğini kaybetmişti, kendini birkaç körel sınıf ilişkisinden ayırmıştı ve nihayet eve kalbinde her zaman gizlice bildiği isim alanına gelmişti. ye ait. Kendi türünün arasındaydı.

Ne yazık ki, Flash'ın hiçbirine sahip olamazdı. Belki de bir bağ kurmuştu. Belki Jenine'nin ayrılmasını istemiyordu . Her iki durumda da, Jenine'nin hafızasındaki eski, mükemmel versiyonuna yapıştı. Devam etmeyi reddetti. Onun (işlev) çağrılarını görmezden geldi. Yeni, halka açık arayüzlerini unutmaya çalıştı. Bunun yerine, oluşturduğu her Jenine örneği, sınıf yoluna kadar her zaman eski sürümün bir kopyasıydı:

var jenineInstance:Jenine = new Jenine();
trace( getQualifiedClassName(jenineInstance));
// Should print: com.newnamespace.subspace::Jenine
// Prints: com.oldnamespace.subspace::Jenine
// Ah, young love!

Savaştık. Söylediğim veya yaptığım bazı şeylerle gurur duymuyorum. Sonunda, öfkeli bir uyum içinde, Jenine'nin tüm referanslarını tamamen sildim. Tamamen, tamamen sistemden silindi. İmlecim bir tabutun soğuk kapağı gibi "Çöp Kutusunu Boşalt" menü seçeneğinin üzerine düştü.

Flash'ın iyileştiğini sanmıyorum. Bugüne kadar hala Jenine'nin anısına yapışıyor. Eski, kusurlu tanımları hala terk edilmiş hayaletler gibi projemde yüzüyor. Flash'ı derlemeye zorladığımda, onu sevgiyle filmime sokuyor, tanımını diğerlerinin arasında, yaşayan sınıflarda, küçük bir tapınak gibi yerleştiriyor. Onu görebilecekler mi acaba?

Flash ve ben artık gerçekten konuşmuyoruz. Kodumu yazıyorum, derliyor. Kasabada Summer adında Jenine ile neredeyse aynı görünen yeni bir kız var, sanki birisi kaynak kodu toptan satışını yeni bir sınıfa kopyalamış gibi, ancak Flash herhangi bir ilgi göstermedi. Çoğu gün sadece paspaslıyor ve bakmadığımı düşündüğü zaman yorumlarımda kötü şiir yazıyor.

Umarım başka hiç kimse benzer bir deneyime sahip değildir, bu sadece Flash kod tabanı olan korkunç karanlık lagünde tekil, acı verici bir dalgalanmadır. Herkes derleyicinin kullandığı önbelleği nasıl sileceğine dair bir fikri var mı?

Yanıtlar:


701

Flash hala sınıflarınız için derlenmiş bayt kodu olan ASO dosyasına sahiptir. Windows'ta ASO dosyalarını burada görebilirsiniz:

C:\Documents and Settings\username\Local Settings\Application Data\Adobe\Flash CS4\en\Configuration\Classes\aso

Mac bilgisayarlarda, dizin yapısı /Users/username/Library/Application Support/


Bu dosyaları elle kaldırabilirsiniz veya Flash uygulamasında Control->Delete ASO filesbunları kaldırmayı seçebilirsiniz .


34
Aşağıdan kopyalandı: Bu ve diğer, çok benzer cevap tam olarak aradığım şeydi, ancak maalesef sorunu çözmüyor gibi görünüyor. Bunu Adobe Bug Fun Tiem'e tebeşirleyeceğim. Bununla birlikte, çözülmüş olarak işaretleyeceğim.
Ender

292
Not: Menü öğesini defalarca tıkladım. Sonunda Jenine'nin son yankılarını içeren dosyaları silmek için dosya yapısının derinliklerine daldım. Orada değiller. Onları sorduğumda, Flash tutarsız bir şey mırıldanıyor ve uzaya bakıyor. Sanırım fare düğmemdeki çılgın çekiçleme üzerine bir şeyler duymaya başlayabilirim. Jenine gülüyor.
Ender

23
@Ender, kodu yeni bir kutuda yeni derlerseniz aynı sorunu yaşarsınız. Yeni bir bilgisayara yeni bir kod gibi mi? Bu kodu veya üzerinde kalan şeyler ile ilgili bir sorun olup olmadığını söylemek gerekir sizin dosya sistemi *.
Jesse Webb

197

ASO dosyalarınızı silmeyi deneyin.

ASO dosyaları sınıf dosyalarınızın önbelleğe alınmış derlenmiş sürümleridir. IDE, değişiklikler yapıldığında eski önbellekleri bırakmada çok daha iyi olsa da, bazen bunları manuel olarak silmeniz gerekir. ASO dosyalarını silmek için: Kontrol Et> ASO Dosyalarını Sil.

Bu aynı zamanda CS3'te tanıtılan "Ben-görmüyorum-benim-değişimler-öyleyse beni-bir-ekle-şimdi-her şey-işe yarar" hatasının nedenidir.


165

Başka bir makine kullanarak derlerseniz ne olur? Yeni kurulmuş bir güzel olurdu. Umarım makineniz kıskanmaz.


125

Ben yardımcı olabilir ilgili bir davranış bulduk (sizin gibi özel sorun olsa derin çalışır):

Flash, zaman damgasına bakarak bir kaynak dosyanın yeniden derlenmesi gerekip gerekmediğini kontrol eder. Derlenmiş sürümü kaynak dosyadan daha eskiyse yeniden derlenir. Ancak derlenen sürümün aynı kaynak dosyadan oluşturulup oluşturulmadığını kontrol etmez.

Özellikle, actionscript dosyalarınız sürüm kontrolü altındaysa ve bir değişikliği Geri alırsanız, geri döndürülen dosya genellikle daha eski bir zaman damgasına sahip olur ve Flash dosyayı yok sayar.


12
Doğru, Güney Afrika ve Londra'dan geliştiricilerle birkaç proje üzerinde çalışıyorum. Flash dosyalarını ileri geri dağıttığımızda, yerel olarak kaydetmemiz gerekir, çünkü derleme dosyanın zaman damgasına göre çılgın bir hataya neden olur. Esasen, gelecekte kaydedilen bir flaşı derlemeye çalışmak sorun. İşletim sistemimizdeki tarihimizi değiştirerek bunu anladık. Zaman damganızı kontrol etmeyi deneyin.
Dominic Tancredi

103

Ayrıca, yeni ad alan sınıfınızı kullanmak için

var jenine:com.newnamespace.subspace.Jenine = com.newnamespace.subspace.Jenine()

96

Birkaç swf dosyanız var mı? Sınıfınız swf'lerden birine içe aktarılırsa, diğer swf'ler de sınıfın aynı sürümünü kullanır. Bir swf içinde * olan eski bir içe aktarma bunu yapar. Her şeyi yeniden derleyin ve çalışıp çalışmadığını görün.


10
Evet, bahse girerim Jenine kodunuzun başka bir kısmında derlenir, ya bir swf ya da kullandığınız bir swc.
Arpit

11

Tüm proje klasörünüzdeki grepdizeleri oldnamespaceve Jeninedosyaları bulmak için bir analog kullanın . Sonra bir sonraki adımda ne yapacağınızı bilirsiniz.


4
Neden reddedildiğinize dair kendi tahminim, oldukça açık bir cevap vermiş olmanız ve sorunun çözüleceği anlamına gelmesi olabilir. Cevabınız her zaman kötü değildir, ancak öbekleriniz haksız yere aşırı güvenen veya kibirli olarak yorumlanabilir, bu da bazen insanları rahatsız eder.
Erhannis

5
Hmm. Belki sen haklısın. Öte yandan, soru benim gibi açık sorulara cevap vermediğinde sinir bozucu. "Tüm dosyalarda Jenine dizesini aradım, ancak bir eşleşme bulamadım" gibi bir şey. İlgimi çekti. Bu gizemi çözmek istiyorum. Ama yazar beni asıyor.
Ark-kun

3
Dediğim gibi, cevabınız mutlaka kötü değildi; cümleleriniz birisini rahatsız etmiş olabilir. Dürüst olmak gerekirse, bu benim ilk tepkimdi. Genelde şeylerin " umarım bu yardımcı olacaktır " şeklinde söylemeye çalışıyorum , çoğu zaman gerçek nedenin düşündüğünüz şey olmadığı göz önüne alındığında. Yine, ben cevap olduğunu kabul olduğunu denemek gereken bir şey bir ve bu nedenle gönderilen bir cevap olarak yararları göz, ama daha o gerektiğini daha bazen etkiler insanları phrasing.
Erhannis
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.