[ascoders] AW: AW: Probleme beim Laden von XML!

  • From: "Peter Oliver Geller" <nc-gellerpe@xxxxxxxxxxxxx>
  • To: <ascoders@xxxxxxxxxxxxx>
  • Date: Mon, 19 Jan 2004 11:55:59 +0100

Hi Timo,

hier ist der komplette Code vom Frame allerdings wird auch erst wieder
der Code geladen und nach 
darstellung wird auch erst der Clip zurückgegeben.

Äh komischerweise sind beim pasten die Sternchen für die Kommentare
verschwunden,
naja zwischen den Titeln steht der jeweilige Code!

PS. Alleine wenn ich schon in der ersten Zeile der Textformatierung der
Beschreibungstexte den Befehl
xml_load_mc._visible = true; eingebe wird dieser erst nachdem
initialisieren der Anzeige benutzt.
//======================================================================
==============================================================
// Textformatierung der Beschreibungstexte
//======================================================================
==============================================================
textbox_txt.html = true;
textbox_txt.embedFonts = true;
startindex = 0;
endindex = 0;
headlineFormat = new TextFormat();
headlineFormat.size = 8;
headlineFormat.color = 0x7A1E1A;
headlineFormat.font = "Scrixel8 Bold";
headlineFormat.leading = 0;
contentFormat = new TextFormat();
contentFormat.size = 8;
contentFormat.color = 0x000000;
contentFormat.font = "kroeger 05_56";
contentFormat.leading = 3;
// Laden des XML Files!
xmlDatenHolen(["xmlfiles/reviews"+title+".xml"]);
//======================================================================
==============================================================
// XML-Funktionen zum Laden und Vorverarbeiten der daten
//======================================================================
==============================================================
function xmlDatenHolen(dateiName) {
        trace(xml_load_mc);
        xml_load_mc._visible = true;
        ladenXML = new XML();
        ladenXML.ignoreWhite = true;
        ladenXML.onData = function(src) {
                src =
src.split("\r").join("").split("\n").join("").split("\t").join("");
                if (src == undefined) {
                        this.onLoad(false);
                } else {
                        this.parseXML(src);
                        this.loaded = true;
                        this.onLoad(true);
                }
        };
        ladenXML.onLoad = xmlGeladen;
        ladenXML.load(dateiName, ladenXML);
}
function xmlGeladen(ok) {
        if (ok) {
                var knoten = this.firstChild;
                while (knoten != null) {
                        if (knoten.nodeName == "DATABASE") {
                                db = new
Datenbank(knoten.attributes.name);
                                tabellenEinfuegen(db, knoten);
                        }
                        knoten = knoten.nextSibling;
                }
        }
        anzeigeInitializieren();
}
function anzeigeInitializieren() {
        // Blendet Lade Symbol aus!
        //xml_load_mc._visible = false;
        // Startet die Einblendefunktion der Streifen von 0-100% Alpha
        streifen_mc.onEnterFrame = einblenden;
        // Titel Format Anfang erste Zeile
        textbox_txt.htmlText = db.tabellen[0].felder[0].titel;
        var startindex = endindex;
        var endindex = startindex+db.tabellen[0].felder[0].titel.length;
        textbox_txt.setTextFormat(startindex, endindex, headlineFormat);
        // Content Format
        textbox_txt.htmlText += "<br>"+db.tabellen[0].felder[0].content;
        var startindex = endindex;
        var endindex =
startindex+db.tabellen[0].felder[0].content.length+2;
        textbox_txt.setTextFormat(startindex, endindex, contentFormat);
        for (var i = 1; i<db.tabellen[0].felder.length; i++) {
                // Titel Format für <br> 2 mehr
                textbox_txt.htmlText +=
"<br>"+db.tabellen[0].felder[i].titel;
                var startindex = endindex;
                var endindex =
startindex+db.tabellen[0].felder[i].titel.length+2;
                textbox_txt.setTextFormat(startindex, endindex,
headlineFormat);
                // Content Format
                textbox_txt.htmlText +=
"<br>"+db.tabellen[0].felder[i].content;
                var startindex = endindex;
                var endindex =
startindex+db.tabellen[0].felder[i].content.length+2;
                textbox_txt.setTextFormat(startindex, endindex,
contentFormat);
        }
}
function tabellenEinfuegen(db, xmlDatenbank) {
        var knoten = xmlDatenbank.firstChild;
        while (knoten != null) {
                if (knoten.nodeName == "TABLE") {
                        var tab = db.neueTabelle(knoten.attributes.name,
knoten.attributes.typ, knoten.attributes.rows,
knoten.attributes.comment);
                        felderEinfuegen(tab, knoten);
                }
                knoten = knoten.nextSibling;
        }
}
function felderEinfuegen(tab, xmlTabelle) {
        var knoten = xmlTabelle.firstChild;
        while (knoten != null) {
                if (knoten.nodeName == "FIELD") {
                        tab.neuesFeld(knoten.attributes.titel,
knoten.attributes.content);
                }
                knoten = knoten.nextSibling;
        }
}
//======================================================================
==============================================================
// Konstruktor und Methoden für das Datenbank-Objekt
//======================================================================
==============================================================
function Datenbank(name) {
        this.name = name;
        this.tabellen = new Array();
}
DBO = Datenbank.prototype;
DBO.anzahlTabellen = function() {
        return (this.tabellen.length);
};
DBO.neueTabelle = function(name, typ, anzahlDatensaetze, beschreibung) {
        this.tabellen.push(new Tabelle(name, typ, anzahlDatensaetze,
beschreibung));
        return (this.tabellen[this.anzahlTabellen()-1]);
};
//======================================================================
==============================================================
// Konstruktor und Methoden für das Tabellen-Objekt
//======================================================================
==============================================================
function Tabelle(name, typ, anzahlDatensaetze, beschreibung) {
        this.name = name;
        this.typ = typ;
        this.anzahlDatensaetze = anzahlDatensaetze;
        this.beschreibung = beschreibung;
        this.felder = new Array();
}
TB = Tabelle.prototype;
TB.anzahlFelder = function() {
        return (this.felder.length);
};
TB.neuesFeld = function(titel, content) {
        this.felder.push(new Feld(titel, content));
        return (this.felder.length);
};
//======================================================================
==============================================================
// Konstruktor und Methoden für das Feld-Objekt
//======================================================================
==============================================================
function Feld(titel, content) {
        this.titel = titel;
        this.content = content;
}


-----Ursprüngliche Nachricht-----
Von: ascoders-bounce@xxxxxxxxxxxxx
[mailto:ascoders-bounce@xxxxxxxxxxxxx] Im Auftrag von Timo Hölzer
Gesendet: Montag, 19. Januar 2004 11:27
An: ascoders@xxxxxxxxxxxxx
Betreff: [ascoders] AW: Probleme beim Laden von XML!


Hi Peter

laß dir doch mal den Clip ausgeben.

function xmlDatenHolen(dateiName) {

        trace(xml_load_mc)
        //xml_load_mc._visible = true;
        ladenXML = new XML();

...}

wenn du ein "undefined" bekommst, stimmt
entweder scoping auf den Clip nicht, oder
er ist zum Zeitpunkt des Aufrufs noch nicht
initialisiert.




Grüße

Timo Hölzer
> project manager, flashproducer <
> t.hoelzer@xxxxxxxxx <

·····················
netz98 new media gmbh
Gleiwitzer Str. 5b
55131 Mainz

fon: 06131-250536-7
fax: 06131-250536-1

www.netz98.de
www.mailenstein.de


-----Ursprüngliche Nachricht-----
Von: ascoders-bounce@xxxxxxxxxxxxx
[mailto:ascoders-bounce@xxxxxxxxxxxxx]Im Auftrag von Peter Oliver Geller
Gesendet: Montag, 19. Januar 2004 10:37
An: ascoders@xxxxxxxxxxxxx
Betreff: [ascoders] AW: AW: Probleme beim Laden von XML!


Hi Timo,

Also ich arbeite mit Flash 7 und hier ist auch ein kleiner Codeschnipsel
von mir :

In der Funktion der ersten Zeile wird der MC Sichtbar geschaltet und
dann das XML Objekt erstellt. Aber der MC bleibt invisible.

function xmlDatenHolen(dateiName) {

        xml_load_mc._visible = true;           <--- Erste Zeile müsste
doch auch zuerst bearbeitet werden?!

        ladenXML = new XML();
        ladenXML.ignoreWhite = true;
        ladenXML.onData = function(src) {
                src =
src.split("\r").join("").split("\n").join("").split("\t").join("");
                if (src == undefined) {
                        this.onLoad(false);
                } else {
                        this.parseXML(src);
                        this.loaded = true;
                        this.onLoad(true);
                }
        };
        ladenXML.onLoad = xmlGeladen;
        ladenXML.load(dateiName, ladenXML);
}

Selbst wenn ich vor dem Aufruf der Funktion den MC Sichtbarschalten
möchte wird trotzdem erst die Funktion aufgerufen, .... ich könnte
brechen.

z.B.

xml_load_mc._visible = true;
xmlDatenHolen(["xmlfiles/reviews"+title+".xml"]);

Sobald ich xmlDatenHolen nicht ausführe wird alles dargestellt was ich
vorher definiert habe, Hätte ja auch sein können das der MC gar nicht
ansprechbar ist.

Tja ich werde jetzt mal etwas weiter testen.

Gruß

Peter

::::::::::::::::::::::::::::::::::::::::::::::::::
Peter Oliver Geller
(design / development)

Mozartstr.7 50674 Cologne
0221 - 92 44 8 31 telephone
0221 - 92 44 8 51 telefax
0160 - 20 11 848 mobil

www.pixel-gallery.com
info@xxxxxxxxxxxxxxxxx
::::::::::::::::::::::::::::::::::::::::::::::::::


-----Ursprüngliche Nachricht-----
Von: ascoders-bounce@xxxxxxxxxxxxx
[mailto:ascoders-bounce@xxxxxxxxxxxxx] Im Auftrag von Timo Hölzer
Gesendet: Montag, 19. Januar 2004 06:11
An: ascoders@xxxxxxxxxxxxx
Betreff: [ascoders] AW: Probleme beim Laden von XML!


Hallo Peter,

erstmal was allgemeines:

-> Flash6 (MX)?
-> Anderer Player in der Entwicklungsumgebung als im Browser?


Facts:

-> Flash arbeitet den Code zeilenweise ab
-> Größe: ich hab schon mit 1,5 MB großen Files gearbeitet



Tipps:

-> XML.load() nicht in den ersten Frame (oder zumindest ein delay
-> setzten) Keine Ausgaben des XML über .toString() tracen bzw. in ein 
-> TextFeld
drücken
   (killt die Performance!!!!)


Ansonsten müsstest Du dich vieleicht mal durchringen, ein Codeschnipsel
zu posten....


Lieben Gruß

Timo Hölzer
> project manager, flashproducer <
> t.hoelzer@xxxxxxxxx <

·····················
netz98 new media gmbh
Gleiwitzer Str. 5b
55131 Mainz

fon: 06131-250536-7
fax: 06131-250536-1

www.netz98.de
www.mailenstein.de


-----Ursprüngliche Nachricht-----
Von: ascoders-bounce@xxxxxxxxxxxxx
[mailto:ascoders-bounce@xxxxxxxxxxxxx]Im Auftrag von Peter Oliver Geller
Gesendet: Sonntag, 18. Januar 2004 19:12
An: ascoders@xxxxxxxxxxxxx
Betreff: [ascoders] Probleme beim Laden von XML!


Hi Liste,

ich habe eine Grafik die darstellen soll das momentan ein XML Objekt
geladen wird, allerdings wird diese Grafik im Browser nicht dargestellt
und beim Testen der Datei schon.

Es handelt sich hierbei um ein etwas größeres XML File und dummerweise
stoppt der Player alles an animationen und scripten sobald er anfängt
die XML Struktur zu lesen.

Was mich allerdings ärgert ist das der Code für die Sichtbarkeit der
Grafik auf true vor dem laden des XML Objekts steht und normalerweise
erst vorher aufgerufen werden sollte, wird aber komischerweise erst nach
dem laden aufgerufen?!?

Jetzt würde ich gerne mal wissen wieviel Zeilen Code, Flash aufeinmal
verarbeitet eigentlich gehe ich davon aus das wie bei allen anderen
Sprachen der Code Zeile für Zeile abgearbeitet und ausgeführt wird.

Beim Testen in der Entwicklungsumgebung ist auch alles bestens, nur im
Browser nicht?

Schönen Gruß

Peter

::::::::::::::::::::::::::::::::::::::::::::::::::
Peter Oliver Geller
(design / development)

Mozartstr.7 50674 Cologne
0221 - 92 44 8 31 telephone
0221 - 92 44 8 51 telefax
0160 - 20 11 848 mobil

www.pixel-gallery.com
info@xxxxxxxxxxxxxxxxx
::::::::::::::::::::::::::::::::::::::::::::::::::


------------------------------------------------------
Archiv   : //www.freelists.org/archives/ascoders/
Optionen : //www.freelists.org/list/ascoders
------------------------------------------------------

------------------------------------------------------
Archiv   : //www.freelists.org/archives/ascoders/
Optionen : //www.freelists.org/list/ascoders
------------------------------------------------------


------------------------------------------------------
Archiv   : //www.freelists.org/archives/ascoders/
Optionen : //www.freelists.org/list/ascoders
------------------------------------------------------

------------------------------------------------------
Archiv   : //www.freelists.org/archives/ascoders/
Optionen : //www.freelists.org/list/ascoders
------------------------------------------------------


------------------------------------------------------
Archiv   : //www.freelists.org/archives/ascoders/
Optionen : //www.freelists.org/list/ascoders
------------------------------------------------------

Other related posts: