Avatar billede hoppe11 Nybegynder
23. juli 2007 - 11:01 Der er 7 kommentarer og
1 løsning

The property being referenced does not have the static attribute.

hvad er der galt her?

import TextField.StyleSheet;
class clss_loadStyles
{
    var CSS;
    var style_obj = {};
   
    function clss_loadStyles()
    {
        CSS = new StyleSheet();
        var tmp = new StyleSheet();

        // ...
    }
}
Avatar billede mat Nybegynder
23. juli 2007 - 11:32 #1
Det compiler fint her?

mvh mat
Avatar billede hoppe11 Nybegynder
23. juli 2007 - 18:51 #2
Hmm.. Her er hele class'en

Noget andet er at jeg tror den kan reduceres fra at oprette to stylesheets (tmp, CSS) til bare en?

new clss_loadStyles();
CSS = clss_loadStyles.CSS;
style_obj = clss_loadStyles.style_obj;

clss_loadStyles:
----------------
import TextField.StyleSheet;
class clss_loadStyles
{
    var CSS;
    var style_obj = {};
   
    function clss_loadStyles()
    {
        CSS = new StyleSheet();
        var tmp = new StyleSheet();
        tmp.load('req/styles.css');
        tmp.onLoad = function()
        {
            var styleName_arr = tmp.getStyleNames();
            if(styleName_arr)
            {
                var accept_arr = [
                              '*',
                              '.marked',
                              'input',
                              '.swf_top',
                              '.swf_top_a',
                              '.swf_top_a:hover'
                              ];
               
                for(var i=0; i<styleName_arr.length; i++)
                {
                    for(var j=0; j<accept_arr.length; j++)
                    {
                        if(styleName_arr[i] == accept_arr[j])
                        {
                            var tmp_obj = tmp.getStyle(styleName_arr[i]);
                           
                            if(styleName_arr[i] == '*') styleName_arr[i] = 'p';
                            else if(styleName_arr[i] == 'input') styleName_arr[i] = '.input';
                           
                            style_obj[styleName_arr[i]] = tmp_obj;
                            CSS.setStyle(styleName_arr[i], tmp_obj);
                           
//                            trace(styleName_arr[i]); for(var key in tmp_obj) trace('\t'+key+' = '+tmp_obj[key]);
                        }
                    }
                }
            }
            delete tmp;
        }
       
        this.style_obj = style_obj;
        this.CSS = CSS;
    }
}
Avatar billede mat Nybegynder
23. juli 2007 - 20:36 #3
Ændr

new clss_loadStyles();
CSS = clss_loadStyles.CSS;
style_obj = clss_loadStyles.style_obj;

Til

var c:clss_loadStyles = new clss_loadStyles();
CSS = c.CSS;
style_obj = c.style_obj;

mvh mat
Avatar billede hoppe11 Nybegynder
24. juli 2007 - 00:10 #4
åhh ja! :)

smid et svar
Avatar billede hoppe11 Nybegynder
24. juli 2007 - 00:40 #5
men lige en anden ting.. hvordan kan jeg kalde en ekstern funktion i min class?

var CSS;
var style_obj;

function _cnstr(i)
{
    if(i == 0)
    {
        var clss = new clss_loadStyles();
        CSS = clss.CSS;
        style_obj = clss.style_obj;
       
        _cnstrCase++;
    }
    else if(i == 1)
    {
        trace('hej');
       
        _cnstrCase++;
    }
}
var _cnstrCase = 0;
_cnstr(_cnstrCase);

jeg vil så gerne i min class kalde:

_cnstr(_cnstrCase);
Avatar billede mat Nybegynder
24. juli 2007 - 07:16 #6
Du kalder en metode på et objekt med dot notation;

class A {
public function someMethod (s:String) {
trace("someMethod " + s);
}
}

var a:A = new A();
a.someMethod(" says hi");

mvh mat
Avatar billede hoppe11 Nybegynder
25. juli 2007 - 12:24 #7
Jeg har prøvet lidt frem og tilbage.. Både at tildele class'er dynamic statements osv.

Jeg har flere swf'er som gerne skulle virke lidt dynamiske og vil derfor gerne og så vidt muligt bygge dem op af class'er.. Men min class som loader stylesheetet ind skal helst være loaded helt færdigt før resten loades

Jeg synes simpelthen ikke lige jeg kan få det til at virke.. Har du tid til at lave et udførligt eksempel? :)
Avatar billede hoppe11 Nybegynder
25. juli 2007 - 12:25 #8
- jeg ved heller ikke om det er den mest optimale måde jeg gør det på via min _cnstr() funktion? Måske findes der en anden og mere oplagt metode?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester