tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
1287
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    mmc-scream mmc-scream ist offline Mitglied
    Registriert seit
    Jan 2005
    Beiträge
    13
    Ich habe zwei Komponenten:

    - CMenuItem
    - CMenuList

    In CMenuList ist eine Funktion, die heißt
    Code :
    1
    2
    3
    4
    5
    
    public function addItem(item_text:String, item_parent:Number) {
        if( item_parent == undefined )
            item_parent = 0;
        items.push( new CMenuItem(item_parent, item_text) );
    }
    Beim Kompilieren kriege ich jedoch den Fehler 1142:
    Die Klasse 'classes.CMenuItem' konnte nicht geladen werden.
    Am Anfang der Datei steht jedoch
    Code :
    1
    
    import classes.CMenuItem;
    und das funktioniert auch wunderbar. Daran liegt es also nicht.

    Liegt es vielleicht daran, dass ich nur die Klasse und nicht die komplette Komponente importiere? Aber wie benutze ich dann die komplette Komponente?

    PS: Ich benutze Flash MX 2004
    Geändert von mmc-scream (29.01.05 um 19:55 Uhr) Grund: Flash Version angegeben
     

  2. #2
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    wo genau liegt die Klasse CMenuItem bei Dir (Klassenpfad)?

    die Klasse sollte jedenfalls (so weit ich weiss) in der Klasse CMenuList und nicht in der Filmdatei importiert werden.

    ... ansonsten teste mal import.classes.CMenuItem.*; (wenn es sich um ein Paket mit mehreren Klassen handelt) (Die Fehlermeldung bekommst Du erst beim Instanzieren des Objektes, nicht schon beim Importieren der Klasse)

    Gruß
    .
     

  3. #3
    mmc-scream mmc-scream ist offline Mitglied
    Registriert seit
    Jan 2005
    Beiträge
    13
    Die Klasse wird erfolgreich eingebunden. Wenn ich den Pfad ändere, bekomme ich eine andere Fehlermeldung.
    Die Fehlermeldung
    Die Klasse 'classes.CMenuItem' konnte nicht geladen werden.
    bekomme ich nur, wenn ich die Komponente in der Klasse benutze, wie ich es in der oben gezeigten Funktion tue. Nehme ich die Zeile
    Code :
    1
    
    items.push( new CMenuItem(item_parent, item_text) );
    heraus, so kompiliert er alles (inkl. der swf), ohne zu meckern.
     

  4. #4
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hmm.. auf dei Gefahr, dass ich im Dunkeln tappe (habe grade keine Möglichkeit, das zu testen): Wenn Du eine Klasse in einer anderen Klasse importierst, stimmen dann die Pfadangaben noch? Importierte Pakete werden IMHO mit relativen Pfaden angegeben...

    Könntest Du Dein Paket (fla und as) mal Posten? Dann lässt sich das sicher schnell rausfinden.

    Gruß
    .
     

  5. #5
    mmc-scream mmc-scream ist offline Mitglied
    Registriert seit
    Jan 2005
    Beiträge
    13
    Sehr seltsam.
    Ich habe soeben die Dateien in einen eigenen Ordner kopiert, um alles schön packen zu können, nochmal kurz getestet, dass der Bug auch drin ist, und siehe da: Es funktioniert.

    Er zeichnet zwar die Textlabels nicht, aber ich kriege keine Fehlermeldungen. Ich verstehe das nicht... gleiche fla-Datei, gleiche Ordnerstruktur :|.
    Jedenfalls danke trotzdem. Falls sich der Fehler dennoch meldet, sag ich es. Vielleicht hab ich nur was übersehen!

    *grübel*
    PS: Die ganze letzte Woche hab ich damit verbracht, den Fehler zu finden, und das hier auch schon vor längerer Zeit auf flashhilfe.de gepostet. Ich raffs nicht...
     

  6. #6
    mmc-scream mmc-scream ist offline Mitglied
    Registriert seit
    Jan 2005
    Beiträge
    13
    Sorry wegen Doppelpost, aber ich glaube, er ist gerechtfertigt.

    Er lädt scheinbar die Komponente nicht. Ich hab das mal angehängt, bitte schaut euch das mal an.
    Danke
    Angehängte Dateien Angehängte Dateien
     

  7. #7
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    nun ja, zunächst einmal sprichst Du Deine MenuList nicht über ihren Instanznamen an (sie hat gar keinen), sondern über den Klassennamen...wenn das eine statische Methode sein soll, fehlt aber das entsprechende Schlüsselwort.

    Wenn Du der MenuList einen Instanznamen vergibst, werden zumindest die erforderlichen Klassen importiert (zwei kleine Trace-Aktionen, einmal in der Methode "addItem" und einmal im Konstruktor der Klasse "CMenuItem" konnten mich davon überzeugen). Der Konstruktor von CMenuItem macht allerdings noch nicht viel sichtbares (soweit ich aus dem Überfliegen ersehen konnte; genau bin ich Deinen Code nicht durchgegangen)... ein Importproblem ist es allerdings nicht.

    Gruß
    .
     

  8. #8
    mmc-scream mmc-scream ist offline Mitglied
    Registriert seit
    Jan 2005
    Beiträge
    13
    Oh mann, sone shice .
    Danke fuer den Tipp! Jetzt funktioniert zumindest vorlaeufig alles. Der Text wird zwar immernoch nicht angezeigt, jedoch stimmen nun die Trace Aufrufe und das ist ja die Hauptsache.
    Danke fuer die Hilfe


    PS: Meine dumme Tastatur ist schon wieder auf Englisch gestellt... argh x(
     

Ähnliche Themen

  1. [AS2] Typ einer Komponente erhalten
    Von Blue Effect im Forum Flash Plattform
    Antworten: 0
    Letzter Beitrag: 11.05.10, 08:42
  2. Komponente in ein Bild rendern - auch ohne, dass die Komponente vorher sichtbar ist?
    Von DarthShader im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 22.07.08, 00:47
  3. Bevorzugte größe einer Komponente
    Von xXchrissiXx im Forum Java
    Antworten: 7
    Letzter Beitrag: 16.05.07, 10:28
  4. Bild einer Komponente...
    Von Crai im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 08.09.04, 00:31
  5. [MX] loadMovie mit einer Komponente
    Von philyphil im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 14.08.03, 15:53