Soru Flash CS4 gitmeyi reddetti


Bir Flash projem var ve birçok kaynak dosya var. Oldukça yoğun kullanılan bir dersim var, ona Jenine deyin. Son zamanlarda (ve belki de, kutsal olarak) Jenine'i bir isimden diğerine taşıdım. Hazır olduğumuzu düşünmüştüm - zamanın geldiğini düşündüm. Yeni Jenine her şekilde daha iyiydi - bazı kod bloğunu yitirmişti, birkaç tane körelmiş sınıf ilişkisinden kopmuştu ve sonunda kalbinin her zaman gizlice bildiği isim uzayına gelmişti. ye ait. O kendi türündeydi.

Ne yazık ki, Flash bunlardan hiçbirine sahip olamazdı. Belki de bir ek oluşturmuştu. Belki de yapmadı istemek Jenin ayrıştırılacak. Her iki şekilde de, 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, ortak arayüzlerini unutmaya çalıştı. Bunun yerine, inşa ettiği her Jenine örneği, her zaman eski versiyonun bir kopyasıydı, sınıf yoluna doğru:

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ı şeylerden gurur duymuyorum. Sonunda, öfke dolu bir şekilde, Jenine'nin tüm referanslarını tamamen sildim. Tamamen sistemden tamamen silinmişti. İmleç, tabutun soğuk kapağı gibi "Boş Çöp Kutusu" menü seçeneğinin üzerine düştü.

Flash'ın hiç iyileşmediğini sanmıyorum. Bugüne kadar hala Jenine'nin anısına yapışıyor. Onun eski, kusurlu tanımları hala projemde terkedilmiş hayaletler gibi görünüyor. Flash'ı derlemek için zorladığım zaman, onu hala filmime sokuyor, tanımını diğerinin arasına yerleştiriyor, küçük bir türbe gibi yaşayan sınıflar. Onu görebileceklerini merak ediyorum.

Flash ve ben artık konuşmuyoruz. Kodumu yazarım, derler. Oldukça Jenine'e benzeyen Summer adında yeni bir kız var, sanki birileri yeni bir sınıfa yeni bir sınıfa kopyalamış gibi, ama Flash hiç ilgi göstermedi. Çoğu gün sadece etrafta dolaşıyor ve bakmadığımı düşündüğüm zaman yorumlarda kötü şiir yazıyor.

Umarım hiç kimsenin benzer bir deneyimi olmamıştır, bu sadece Flash kod tabanındaki korkunç karanlık lagünün tekil, acılı bir dalgasıdır. Eğer bazı tesadüfen şansınız varsa veya derleyicinin kullandığı herhangi bir önbelleği nasıl sileceğiniz hakkında bir fikriniz varsa lütfen yardım edin.


2694
2018-02-03 17:32


Menşei




Cevaplar:


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

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

Mac'te dizin yapısı benzer /Users/username/Library/Application Support/ 


Bu dosyaları el ile kaldırabilir veya Flash’da seçebilirsiniz. Control->Delete ASO files onları kaldırmak için.


694
2018-02-03 18:49



Aşağıdan kopyalandı: Bu ve diğer, çok benzer bir cevap tam olarak aradığım şeydi, ama maalesef sorunu çözmüyor gibi görünüyor. Bunu Adobe hata eğlenceli tiem'e kadar yazacağım. Ancak, bunu çözülmüş olarak işaretleyeceğim. - Ender
Not: Menü öğesini tekrar tekrar tıkladım. Sonunda Jenine'nin son yankılarını içeren dosyaları genişletmek için bir dosya yapısına derinlemesine girdim. Orada değiller. Onlar hakkında soru sorduğumda, Flash sadece bir şeyi tutarsızlaştırır ve uzaya bakar. Sanırım fare tuşumun çılgınca dövülmesiyle ilgili bir şey duymaya başlayabilirim. Jenine gülüyor. - Ender
@Ender, yeni bir kutuda kodu yeni derlerseniz aynı sorunu yaşarsınız. Kodun yeni bir bilgisayardaki yeni bir çıkışı gibi mi? Bu, kodda ya da üzerinde kalan şeyler ile ilgili bir sorun olup olmadığını size bildirmelidir sizin dosya sistemi*. - Jesse Webb


ASO dosyalarınızı silmeyi deneyin.

ASO dosyaları, sınıf dosyalarınızın derlenmiş sürümlerini önbelleğe alır. IDE, değişiklik yapıldığında eski önbelleklerin bırakılmasına çok daha iyi olmasına rağmen, 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örmeme-değiştir-beni-şimdi-her şeyi-izleme-şimdi-her şey-iş-çalış” hatasının da sebebidir.


198
2018-02-03 18:40





Ya başka bir makine kullanarak derlerseniz? Yeni kurulmuş bir kişi hoş olurdu. umuyorum senin makinen kıskanç değildir.


164
2018-02-03 20:25





Ben yardımcı olabilecek bir ilgili davranış buldum (belirli sorun olsa daha derin çalışır gibi geliyor):

Flash, bir kaynak dosyanın zaman damgalarına bakılarak yeniden derlenmesi gerektiğini kontrol eder. Derlenmiş sürümü ise daha eski Kaynak dosyadan daha sonra yeniden derlenecek. Ancak derlenmiş sürümün aynı kaynak dosyadan oluşturulup oluşturulmadığını kontrol etmez.

Özellikle, actioncript dosyalarınızın sürüm kontrolü altında olması ve bir değişikliği geri almanız durumunda, geri alınan dosyanın genellikle eski bir zaman damgası olur ve Flash bunu göz ardı eder.


125
2018-02-03 18:04



Doğru, Güney Afrika ve Londra'dan geliştiriciler ile çeşitli projeler üzerinde çalışıyorum. Flash dosyalarını ileri ve geri verdiğimizde, derleme, dosyanın zaman damgasını temel alan bir hataya neden olacağından, onu yerel olarak kaydetmeliyiz. Esasen, gelecekte kaydedilen bir flaşı derlemeye çalışmak sorun. İşletim sistemimizdeki tarihimizi değiştirerek anladık. Zaman damgasını kontrol etmeyi dene. - Dominic Tancredi


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

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

102
2018-02-05 16:55





Birkaç swf dosyanız var mı? Sınıfınız swf'lerden birinde içe aktarılıyorsa, diğer swf'ler de sınıfın aynı sürümünü kullanır. Bir swf ile * eski bir ithalat yapacak. Her şeyi yeniden derleyin ve işe yarayıp yaramadığını görün.


96
2018-02-04 04:26



Evet, bahse girerim Jenine, kullandığınız swf veya swc kodunuzun başka bir parçasına derlenmiştir. - Arpit


Kullanın grep dizeleri bulmak için analog oldnamespace ve Jenine Tüm proje klasörünüzdeki dosyaların içinde. O zaman ne yapacağını biliyorsun.


10
2017-07-02 01:41



Bana neden düştüğünüzü tahmin etmek, oldukça açık bir cevap vermiş olmanız ve problemi çözeceğine kuvvetle ima etmiş olmanızdır. Cevabınız mutlaka kötü değildir, ancak ifadeleriniz haksızlık, aşırı derecede rahatsız edici veya kibirli olarak yorumlanabilir, ki bu bazen insanları rahatsız eder. - Erhannis
Hmm. Belki sen haklısın. Öte yandan, soru benimki gibi açık sorulara cevap vermediğinde sinir bozucu. "Tüm dosyalarda Jenine dizesini aradım ama bir eşleşme bulamadım" gibi bir şey. İlgileniyorum. Bu gizemi çözmek istiyorum. Ama yazar beni asılı bırakıyor. - Ark-kun
Dediğim gibi, cevabınız mutlaka kötü değildi; Sadece ifadeleriniz birisini rahatsız etmiş olabilir. Dürüst olmak gerekirse, ilk tepkim buydu. Genelde "şeyleri bir şekilde söylemeye çalışıyorum"inşallah Bu, “Sık sık işlerin gerçek sebebinin, düşündüğünüz şey olmadığı göz önüne alındığında yardımcı olacaktır.” Yine, cevabınızı kabul ediyorum. olduğu Birisi denemesi gereken bir şeydir ve bu nedenle verilen bir cevap olarak düşünmeyi hak eder, ancak kelime öbeği bazen insanlara gerekenden daha fazla etki eder. - Erhannis