Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-04-2007, 19:22   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 139
LoadVars - Fehler?

liebe Leute, hier schon gepostet auf Flash Compile-Fehler ??? weil ich dachte es ist ein Fehler beim Kompilieren, nun aber sehr seltsame Lösung:

meine 1. Version zeigt eben nur im SWF bei Selbstöffnen den geladenen Text an:

PHP-Code:
var lorem_lv:LoadVars = new LoadVars();
lorem_lv.onData = function (src:String):Void {
    if (
src == undefined) {
        
trace("Error loading content.");
        return;
    } 
    
inhalt_txt.text src;
};

lorem_lv.load("web_rk.txt"); 
nun die Flash-Hilfe durchforstet und eine 2.Version gefunden unter LoadVars bei onData mit 3 (!) Parameter... leider keine Erklärung dazu gefunden... habt ihr ne Ahnung?

PHP-Code:
my_lv.load("content.txt"my_lv"GET"); 
jetzt kommt das lustigste, wenn ich bei mir das einfüg geht es auch, obwohl mein LoadVars-Objekt "lorem_lv" heißt und ich kein my_lv habe !!! wie geht das? ich hab dann weiterprobiert und kann auch michi oder test als 2. Paramenter reinschreiben, buxtihudi aber nicht siehe hier:

PHP-Code:
var lorem_lv:LoadVars = new LoadVars();
lorem_lv.onData = function (src:String):Void {
    if (
src == undefined) {
        
trace("Error loading content.");
        return;
    } 
    
inhalt_txt.text src;
};

lorem_lv.load("web_rk.txt"my_lv"GET"); 
ich würd gern das Ganze verstehen und bedank mich schon im Voraus...

//edit: nun geht es auch nicht mehr mit den 3. Parametern, also wenn das kein Flashbug is weiß ich auch nicht

lg,
m
Angehängte Grafiken
Dateityp: jpg Unbenannt-1.jpg (42,6 KB, 7x aufgerufen)

Geändert von skamarkus (23-04-2007 um 19:38 Uhr)
skamarkus ist offline   Mit Zitat antworten
Alt 24-04-2007, 09:11   #2 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
so 100% versteh ich das Problem nicht, aber ich würde dir raten anstatt "onData" lieber "onLoad" zu verwenden. Das ist tendentiell sicherer und du hast direkt noch eine Boolsche Variable die dir sagt ob die Abfrege erfolgreich war oder nicht.
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 24-04-2007, 09:51   #3 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
leider keine Erklärung dazu gefunden.
Bei der LoadVars.load-Methode wird nur die URL als Parameter genutzt. Wenn du auch noch Variablen mit an den Request hängen willst, solltest du die sendAndLoad-Methode nutzen, bei der der zweite Parameter die LoadVars-Instanz ist, an die du die Variablen gehängt hast. Der dritte Parameter ist dann optional und bezeichnet die HTTP-Übertragungsmethode GET oder POST.

Und wenn du einen möglichen Response auswerten willst, solltest du immer wie von readme.txt vorgeschlagen, den onLoad-Callback statt des onData-Callbacks verwenden.
  Mit Zitat antworten
Alt 24-04-2007, 15:41   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 139
so ich hab versucht das nachzuvollziehen, nur check ich nicht wie ich nun die vars ausm lader_lv herausbekomm nach dem Übergeben?

lg,
m

PHP-Code:
var hinlader_lv:LoadVars = new LoadVars();
var 
lader_lv:LoadVars = new LoadVars();

lader_lv.onData = function(src:String):Void  {
    if (
src == undefined) {
        
trace("Error loading content.");
        return;
    } else {
        
trace("WHO_ "+_lader_lv.who);
        
trace("HOW_ "lader_lv.wie);
        
trace("SRC_ "+src);
        
_root.Cweb_mc[_global.who].text src;
        
_root.Cweb_mc[_global.who].setTextFormat(my_fmt12);
    }
};
//
getStuff = function (iam:Stringwho:Stringhow:String) {
    
trace("getStuff iam:  "+iam);
    
trace("getStuff who:  "+who);
    
trace("getStuff how:  "+how);
    
trace("--------------------");
    
hinlader_lv.wer who;
    
hinlader_lv.wie how;
    
hinlader_lv.sendAndLoad(iamlader_lv);
};



getStuff("web_rk.txt""inhalt_txt""my_fmt12");
getStuff("test.txt""titel_txt""my_fmt22"); 
Ausgabe:
********** BILD 10 ****************
getStuff iam: web_rk.txt
getStuff who: inhalt_txt
getStuff how: my_fmt12
--------------------
getStuff iam: test.txt
getStuff who: titel_txt
getStuff how: my_fmt22
--------------------
WHO_ undefined
HOW_ undefined
SRC_ RK DIENSTLISTE


//btw: wie ich die Vars bei onLoad rausbekommen soll dann is mir auch ein Rätsel (kenn ich nur bei XML wenn man die Childs anspricht)

Geändert von skamarkus (24-04-2007 um 15:46 Uhr)
skamarkus ist offline   Mit Zitat antworten
Alt 24-04-2007, 17:01   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Eine LoadVars-Instanz sollte reichen und den zweiten Request würde ich erst starten, wenn der Response vom ersten da ist, sonst überschreibst du dir dein LoadVars-Objekt gleich wieder. Mal als Ansatz:
PHP-Code:
function geladen(erfolgreich) {
        if(
erfolgreich) {
             
trace("this.who="+this.who);//wenn im Textfile ein Eintrag mit &who=irgendeinEintrag& steht
             
trace("this.wie="+this.wie);

             
//dann den nächsten Aufruf starten
             //_level0.getStuff(...
        
}
        else {
                
trace("Fehler beim Laden");
        }
}
lv = new LoadVars();//Instanz erstellen
lv.onLoad geladen;//Callback setzen

getStuff = function (iam:Stringwho:Stringhow:String) {
    
trace("getStuff iam:  "+iam);
    
trace("getStuff who:  "+who);
    
trace("getStuff how:  "+how);
    
trace("--------------------");
    
lv.wer who;
    
lv.wie how;
    
lv.sendAndLoad(iamlv);
};



getStuff("web_rk.txt""inhalt_txt""my_fmt12"); 
  Mit Zitat antworten
Alt 24-04-2007, 17:41   #6 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 139
lieber Holger,

in der Textdatei ist nur Text (ohne Vars, ohne HTML) !!! die Vars "who" and "how" kommen vom Aufruf der getStuff-Funktion... (siehe Code)

vielleicht sollt ich mal erklären was ich will ?

habe 2 Textfelder (titel_txt und inhalt_txt) die mit Content befüllt werden sollen
aus 2 Textdateien (wüsste leider nicht wie man das aus einer rausfischt), und unterschiedlich ausschauen sollen, daher die 3 Parameter bei der "getStuff" - Textdateipfad, Textfeldname, Textformatierungsname... und die sollen nun quasi nacheinander befüllt werden - soweit meine Intention davon...

um eben diese 3 Parameter zu übergeben hab ich es nun mit der sendandload-methode probiert, aber scheinbar funzt das anders wenn du Vars meinst die in der Textdatei sind.

hmmm das Brett vorm Kopf wird nicht kleiner
skamarkus ist offline   Mit Zitat antworten
Alt 25-04-2007, 06:36   #7 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Textfiles oder XML-Files nutzt man dann, wenn man dynamisch Inhalte im Flashfilm austauschen will, ohne jedes Mal den Film neu veröffentlichen zu müssen. Die Texte in den Textfiles sollten dann aber auch für die URL-Codierung mit Namen-/Wertepaaren aufbereitet sein, also bspw.:
Code:
&nick=agedoubleju&
&forum=flashforum.de&
Du kannst diese Variablen dann wie schon erwähnt auslesen:
PHP-Code:
function geladen(erfolgreich) {
        if(
erfolgreich) {
             
trace("this.nick="+this.nick);
             
trace("this.forum="+this.forum);
        }
        else {
                
trace("Fehler beim Laden");
        }
}
lv = new LoadVars();//Instanz erstellen
lv.onLoad geladen;//Callback setzen
lv.load("meinText.txt"); 
Du kannst auch mehrere Werte in eine Variable setzen und dann mit einem String.split in ein Array schieben. Im Textfile kann das dann so aussehen:
Code:
&meineWerte=10,20,100&
Und im Flashfilm:

PHP-Code:
function geladen(erfolgreich) {
        if(
erfolgreich) {
             
trace("this.meineWerte="+this.meineWerte);
             
werteliste this.meineWerte.split(",");//die Liste an den Komma-Zeichen in ein Array splitten
             
var len werteliste.length;
             
trace("Länge des Arrays: "+len);
             for(var 
i=0;i<len;i++){
                
trace("werteliste["+i+"]="+werteliste[i]);//alle Werte einzeln ausgeben lassen
             
}
        }
        else {
                
trace("Fehler beim Laden");
        }
}
lv = new LoadVars();//Instanz erstellen
lv.onLoad geladen;//Callback setzen
lv.load("meinText.txt"); 
  Mit Zitat antworten
Alt 25-04-2007, 08:05   #8 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 139
alright alles klar,
bin gestern noch bis 2 gesessen und hab das nun (wie in vorherigen Projekten) mit XML gelöst, werd dann eine 2 . funktion mit deinem Material hier bauen und schaun, ob das realtime XML-Auslesen wirklich sichtbar Performance-lastiger ist... bzw alles vielleicht beim Start in Arrays zu laden.

danke für die Mühen

lg,
m

Geändert von skamarkus (25-04-2007 um 08:11 Uhr)
skamarkus ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 21:44 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele