19. juli 2007 - 14:35Der er
13 kommentarer og 1 løsning
Prototyper i eksterne filer
Hej eksperter Jeg har siddet med et problem lidt tid. Jeg vil gerne have mig en ekstern fil med ekstra prototyper til fx string.
Jeg kan ikke få det til at fungere helt, og er heller ikke helt sikker på jeg er i den rigtige retning. Jeg vil gerne kunne tilføje fx en replace funktion, og det går fint hvis man bruger: String.prototype.replace = function... inde i selve fla filen, men hvordan får jeg den flyttet ud i en ekstern fil?
Hov ja det kan jeg da godt se. Kan det tænkes, String måske ikke er dynamic? Jeg ved ikke helt, om det har noget at sige, men måske... Ej jeg skal vidst bare tie stille.
Det gør det også, men sidstnævnte er bare for at komme rundt om compilerfejlmeddelelser i strict mode. Men du har ret i at fejlen ikke ville opstå hvis String var dynamisk.
men er der nogen af jer der ved hvorfor det skal gøres anderledes hvis det er i eksterne filer? String.prototype.m = function(s:String):Void { trace(s); } virker jo fint hvis det er inde i fla'en man gør det?
hmf...ok...nu er jeg forvirret... Laver jeg: String.prototype.replace = function (pattern, replacement) { trace("test here"); return this.split(pattern).join(replacement); }
i en ekstern fil og inkludere den med #include i en hel ny og ren fil: #include "Test.as"
var a:String = "asssdasd"; a = a.replace("d","__"); trace(a);
Det hele virker fint... omdøber jeg funktionen til: String.prototype.replacer = function (pattern, replacement) { trace("test here"); return this.split(pattern).join(replacement); }
og laver ændringen i fla filen (eller opretter en hel ny flash fil og forsøger) Får jeg at vide funktionen ikke eksistere???
Opretter jeg en hel ny .as fil med koden: String.prototype.replacer = function (pattern, replacement) { trace("test here"); return this.split(pattern).join(replacement); }
og inkludere den i en hel ny fla fil...får jeg igen at vide funktionen ikke eksistere?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.