Soru - Cevap Bölümü
/ Kategori: Programlama
26/09/2005 - 09:23:13 cevap (1) Okunma : 4390 Bu yazıyı 0 kişi tuttu.
Toplevel actionscript problem
Dün AS ile uğraşan bir şahsın blog unda enteresan bir şeye rastladım. Aşağıdaki kod enteresan sonuçlara yol açıyor :
trace(toplevel)
[code]output :
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 6: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic var _focusRect:Boolean;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 7: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic var _global:Object;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 8: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic var _highquality:Number;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 9: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic var _quality:String;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 10: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic var _root:MovieClip;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 11: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic var _soundbuftime:Number;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 13: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic var $version:Number;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 15: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic var Infinity:Number;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 16: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic var NaN:Number;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 18: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function call(frame:Object):Void; // param 1 can be String or Number
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 19: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function clearInterval(id:Number):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 20: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function duplicateMovieClip(target:String, newName:String, depth:Number):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 21: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function escape(value:String):String;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 22: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function eval(expr:String):Object;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 23: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function fscommand(command:String, parameters:String):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 24: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function getProperty(movieClip:Object, property:Object):Object;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 25: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function getTimer():Number;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 26: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function getURL(url:String, window:String, method:String):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 27: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function getVersion():String;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 28: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function gotoAndPlay(sceneOrFrame:Object, frame:Object):Void; // parameters can be different types
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 29: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function gotoAndStop():Void; // parameters can be different types
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 30: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function int(num:Number):Number;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 31: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function isFinite(value:Object):Boolean;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 32: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function isNaN(value:Object):Boolean;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 33: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function loadMovie(url:String, target:Object, method:String):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 34: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function loadMovieNum(url:String, level:Number, method:String):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 35: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function loadVariables(url:String, target:Object, method:String):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 36: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function loadVariablesNum(url:String, level:Number, method:String):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 37: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function nextFrame():Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 38: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function nextScene():Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 39: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function parseFloat(value:String):Number;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 40: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function parseInt(value:String,radix:Number):Number;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 41: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function play():Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 42: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function prevFrame():Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 43: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function prevScene():Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 44: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function profile(enable:Boolean):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 45: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function print(target:Object, boundingBox:String):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 46: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function printAsBitmap(target:Object, boundingBox:String):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 47: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function printAsBitmapNum(level:Number, boundingBox:String):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 48: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function printNum(level:Number, boundingBox:String):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 49: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function random(num:Number):Number;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 50: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function removeMovieClip(target:Object):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 51: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function setInterval():Number;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 52: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function setProperty(movieClip:Object, property:Object, value:Object):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 53: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function showRedrawRegions(enable:Boolean):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 54: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function startDrag(target:Object, lockCenter:Boolean, left:Number, top:Number, right:Number, bottom:Number):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 55: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function stop():Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 56: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function stopAllSounds():Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 57: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function stopDrag():Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 58: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function targetPath(mc:MovieClip):String;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 59: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function toggleHighQuality():Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 60: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function trace(value:String):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 61: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function unescape(value:String):String;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 62: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function unloadMovie(target):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 63: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function unloadMovieNum(level:Number):Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 64: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function updateAfterEvent():Void;
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 66: ActionScript 2.0 class scripts may only define class or interface constructs.
intrinsic function MMExecute(expr:String);
**Error** D:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\toplevel.as: Line 68: #initclip/#endinitclip only allowed on frame 1 of Movie Clip symbols.
#endinitclip
Total ActionScript Errors: 58 Reported Errors: 58
"toplevel.as" dosyasını normal bir kurulumda "C:\Program Files\Macromedia\Flash 8\en\First Run\Classes" klasöründe bulabilirsiniz :
//***********************
// ActionScript Standard Library
// Top-level functions
//***********************
intrinsic var _focusRect:Boolean;
intrinsic var _global:Object;
intrinsic var _highquality:Number;
intrinsic var _quality:String;
intrinsic var _root:MovieClip;
intrinsic var _soundbuftime:Number;
intrinsic var $version:Number;
intrinsic var Infinity:Number;
intrinsic var NaN:Number;
intrinsic function call(frame:Object):Void; // param 1 can be String or Number
intrinsic function clearInterval(id:Number):Void;
intrinsic function duplicateMovieClip(target:String, newName:String, depth:Number):Void;
intrinsic function escape(value:String):String;
intrinsic function eval(expr:String):Object;
intrinsic function fscommand(command:String, parameters:String):Void;
intrinsic function getProperty(movieClip:Object, property:Object):Object;
intrinsic function getTimer():Number;
intrinsic function getURL(url:String, window:String, method:String):Void;
intrinsic function getVersion():String;
intrinsic function gotoAndPlay(sceneOrFrame:Object, frame:Object):Void; // parameters can be different types
intrinsic function gotoAndStop():Void; // parameters can be different types
intrinsic function int(num:Number):Number;
intrinsic function isFinite(value:Object):Boolean;
intrinsic function isNaN(value:Object):Boolean;
intrinsic function loadMovie(url:String, target:Object, method:String):Void;
intrinsic function loadMovieNum(url:String, level:Number, method:String):Void;
intrinsic function loadVariables(url:String, target:Object, method:String):Void;
intrinsic function loadVariablesNum(url:String, level:Number, method:String):Void;
intrinsic function nextFrame():Void;
intrinsic function nextScene():Void;
intrinsic function parseFloat(value:String):Number;
intrinsic function parseInt(value:String,radix:Number):Number;
intrinsic function play():Void;
intrinsic function prevFrame():Void;
intrinsic function prevScene():Void;
intrinsic function profile(enable:Boolean):Void;
intrinsic function print(target:Object, boundingBox:String):Void;
intrinsic function printAsBitmap(target:Object, boundingBox:String):Void;
intrinsic function printAsBitmapNum(level:Number, boundingBox:String):Void;
intrinsic function printNum(level:Number, boundingBox:String):Void;
intrinsic function random(num:Number):Number;
intrinsic function removeMovieClip(target:Object):Void;
intrinsic function setInterval():Number;
intrinsic function setProperty(movieClip:Object, property:Object, value:Object):Void;
intrinsic function showRedrawRegions(enable:Boolean):Void;
intrinsic function startDrag(target:Object, lockCenter:Boolean, left:Number, top:Number, right:Number, bottom:Number):Void;
intrinsic function stop():Void;
intrinsic function stopAllSounds():Void;
intrinsic function stopDrag():Void;
intrinsic function targetPath(mc:MovieClip):String;
intrinsic function toggleHighQuality():Void;
intrinsic function trace(value:String):Void;
intrinsic function unescape(value:String):String;
intrinsic function unloadMovie(target):Void;
intrinsic function unloadMovieNum(level:Number):Void;
intrinsic function updateAfterEvent():Void;
intrinsic function MMExecute(expr:String);
#endinitclip
toplevel bir sınıf veya nesne değil. Sadece tip tanımı dosyası. Bu dosya flash swf yi derlerken kullanılıyor. Tabi olayın trace ile bir ilgisi yok.
şu da aynı hatayı veriyor :
var x = toplevel
intrinsic anahtar kelimesi, AS1 sınıf ve metodlarını, AS2 yapısında tip tanımlarına uygun olarak kullanabilmek için gerekli bir çözüm. Fakat bu hatayı vermesi için uygun bir gerekçe değil aslında. Flash, acaba "toplevel" ı bir sınıf olarak algılıyor damı bu hatayı veriyor ? Nedir ? Üstüne, buna kafa yorarken son satırdaki #endinitclip kodunu gördüm.
Kafam biraz daha karıştı :?:
acaba bu end in başlangıcı olan #initclip derlenirken nerden alınmakta ?
Cevaplar
( Faydalı Cevapları Göster )
Etkinlikler
Konferans
2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08
2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08
2.Ulusal Yazılım Mimarisi Konferansı (UYMK’08), 11 – 12 Eylül 2008 tarihlerinde Ege Üniversitesi Bilgisayar Mühendisliği Bölümü ev sah...
Kategori:
Konferans
MMIstanbul Adobe UG
ColdFusion, Flex, AIR, Flash , PDF, Dreamweaver, Fireworks, Photoshop, Illustrator, INdesign, Connect, Premiere, Soundbooth, Contribute, Lightroom, InCopy, JRun, LiveCycle, Acrobat, AfteEffects, Resmi Adobe Kullanıcı Grubu.
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 219 (0 kayıtlı, 219 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
500 Hatası Hakkında!
merhaba arkadaşlar, bir önceki yazıda bahsettiğimiz üzere sunucunun ram ihtiyacını yavaş yavaş gidermeye başladık. An itibariyle 2 Giga d ...
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız
MMIstanbul Online Seminerlerine Nasıl Katılabilirim?




Bu flash uygulamasında initclip görmek mümkün değil çünkü macromedia bahsettiğin uygulamada dosya türünü swf mantığından biraz uzaklaştırmış.
Şöyle bir örnek vereyim eyer C yada C# gibi exe dosyası üreten çalıştıralıbilir uygulamalar üreten yazılımlar içinde program yazarsanız compile edip exe haline getirdiğinizde atıyorum boyutu 300 KB gibi bir boyuta ulaştığını düşünelim.
Ancak bir çok exe dosyası çok küçük boyutlara sahip olabilmekte (örneğin crack dosyaları) neden?
çünkü executable library sıkıştırılmış ve program açıldığı anda executable library tekrar açılarak komut satırları işlemlerini yapıyor bu sayede dosya boyutu küçülüyor.
Ne alaka diyebilirsiniz ancak bu örnektede söz konusu olan şey aynı.Dosya (exe olmamasına rağmen) executable moda geçtiği anda kendini extract ettiği için biz initclip modunu göremiyoruz.
örneğin eğer bi swf dosyasını swf encrypt gibi bir programla değiştirisen ve swf decompilerla açarsan hiç bir kod göremezsin çünkü o da initcip leri ortadan kaldırarak swf nin çalışma anında kodları dışarıdan extract moduyla alır.
.umarım açıklayıcı olmuştur kolay gelsin.