Toon posts:

[Flash MX] Functie weigert dienst

Pagina: 1
Acties:

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
RemoveProf = function(){
    removeData = new LoadVars();
    removeData.onLoad = function (success) {
                if(success){
                    Names.removeItemAt(Names.getSelectedIndex());
                    Btn_ClearProf._visible=false;
                    *}
    }
    removeData.load("http://127.0.0.1/Profielen/RemID.php?RemID=" + Names.getSelectedItem().data);  
}


Het removeData.load gedeelte werkt wel, maar het success gedeelte weigert dienst (alle variabelen zijn gecontroleerd en deze zijn volledig overeenkomstig met die in de functie)

Verwijderd

waar geef je een waarde aan de variabele success?

Verwijderd

Topicstarter
success is een standaardwaarde die bij onLoad hoort (zie actionscript reference) die aangeeft of de load gelukt is, ik heb in mijn .fla nog 4 van deze functies zitten, 3 werken naar behoren en 2 niet (dit is 1 van die 2, maar ik verwacht dat ze beiden met hetzelfde probleem kampen).

Verwijderd

mijn bazen willen alles flash5 compatible hebben :( dus ik ken de specifieke mx functies niet goed. ik neem aan dat je de paden van Names en Btn_ClearProf hebt gecheckt?

Verwijderd

Topicstarter
yups zowel deze code als de Btn_ClearProf en Names (Listbox component) staan in de _root.

Eerlijk is eerlijk Flash MX is een hele vooruitgang vergeleken met 5 eens je eraan gewend bent. Nu alleen nog hopen dat er in de volgende versie een echte object-inspector komt en een soort van integratie met screenweaver :)

[ Voor 57% gewijzigd door Verwijderd op 09-05-2003 09:26 ]


  • hopakee
  • Registratie: December 2001
  • Laatst online: 25-01-2023
heeel dom misschien maar wat doet dat sterretje in je if statement?
code:
1
2
3
4
if(success){
    Names.removeItemAt(Names.getSelectedIndex());
    Btn_ClearProf._visible=false;
    --------->  *}


aan de andere kant, werkt dit misschien

if(success == True) i.p.v. if(success)

[ Voor 7% gewijzigd door hopakee op 09-05-2003 09:26 ]


  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

Maar wat is nou precies het probleem? Wat loopt er mis?

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

Topicstarter
Oops sterretje stond er nog in van een testje van net (ff wat code gecommentariseerd), maar het exacte probleem is dat het php-script wel word uitgevoerd, maar uit de Listbox word de waarde niet verwijderd en ook de verwijderknop word niet ontzichtbaar.

Het success==true meegeven heb ik ook net geprobeerd maar helaas zonder resultaat.

[ Voor 15% gewijzigd door Verwijderd op 09-05-2003 09:30 ]


  • hopakee
  • Registratie: December 2001
  • Laatst online: 25-01-2023
wordt de functie removeData.onLoad wel aangeroepen?
plaats dan eens een trace op success

Verwijderd

Topicstarter
hopakee schreef op 09 May 2003 @ 09:32:
wordt de functie removeData.onLoad wel aangeroepen?
plaats dan eens een trace op success
Ok nu zie ik ook iets jah, success komt nergens voor

Variable _level0.removeData = [object #279, class 'LoadVars'] {
onLoad:[function 'onLoad']
}

Verwijderd

kijkt de functie niet naar instances die op de tijdlijn van het object waar de functie aan vasthangt ipv op de root (zoals onClipEvent in flash5)?
(dus dat hij dit ziet als removeData.Btn_ClearProf._visible=false;)

/me *juaron hoop dat hij nu niet hele domme dingen zegt

Verwijderd

Topicstarter
Maar deze code werkt bijvoorbeeld wel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
getDetail = function(){
    Detail = "Bezig met ophalen van profiel";
    detailData = new LoadVars();
    detailData.onLoad = function (success) {
                if(success){
                    DetailTxt.htmlText=this.Detail;
                    Detail = this.Detail
                    _global.SelUsr=Names.getSelectedItem().data;
                    Btn_ClearProf._visible=true;
                    }
    }
    detailData.load("http://127.0.0.1/Profielen/getDetail.php?GetID=" + Names.getSelectedItem().data);  
}


juaron, je bracht me op het idee de variabelen in de functie _root.varnaam mee te geven, maar wederom geen verschil.....

[ Voor 14% gewijzigd door Verwijderd op 09-05-2003 09:48 ]


  • hopakee
  • Registratie: December 2001
  • Laatst online: 25-01-2023
Als je binnen het blok, if(success) een trace("SUCCESS!!!"); zet ?

heb het namelijk even na gemaakt en zou goed moeten werken.

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

Verwijderd schreef op 09 May 2003 @ 09:42:
Variable _level0.removeData = [object #279, class 'LoadVars'] {
onLoad:[function 'onLoad']
}
Je laat hier een var dump zien. Om te debuggen is echter de trace()-functie ook erg handig om te zien tot waar je code loopt en of vars/objecten bestaan. Vis zo eens uit welke code werkelijk wordt uitgevoerd en welke objecten bestaan.

Wij onderbreken deze thread voor reclame:
http://kalders.be


  • hopakee
  • Registratie: December 2001
  • Laatst online: 25-01-2023
juist, met een trace kun je namelijk makkelijk zien of het blok if(success) wel wordt uitgevoerd, wordt dit uitgevoerd dan zit het probleem helemaal niet in je load functie maar in het verwijderen van items uit je listbox

Verwijderd

Topicstarter
Ok ik zal maar ff de source vrijgeven, misschien dat jullie er meer inzicht in hebben (zo erg ervaren actionscripter ben ik helaas nog niet)
De betreffende code staat op de onderste layer

http://members.lycos.nl/lovepuppy82/Profielen.fla

Verwijderd

Probeer eens wat te doen aan je scoping, ik weet het niet zeker, maar dat zou het wel eens kunnen zijn;

Flash ActionScript:
1
2
3
4
5
6
7
8
9
10
this.RemoveProf = function(){
    this.removeData = new LoadVars();
    this.removeData.owner = this;
    this.removeData.onLoad = function (success) {
    if(success){
          this.owner.Names.removeItemAt(this.owner.Names.getSelectedIndex());
          this.owner.Btn_ClearProf._visible=false;
    }
    this.removeData.load("http://127.0.0.1/Profielen/RemID.php?RemID=" +  this.Names.getSelectedItem().data);   
}


Dit gaat er dus wel vanuit dat het object die de functie removeprof uitvoert Names, btn_clearprof 'bezit'.

Verwijderd

Topicstarter
Helaas het helpt er niet aan

  • hopakee
  • Registratie: December 2001
  • Laatst online: 25-01-2023
eeehhh, heb het ff geprobeerd, url'tjes vervangen ivm met load
maar werkt perfect hierzo

  • hopakee
  • Registratie: December 2001
  • Laatst online: 25-01-2023
Geeft de RemID.php pagina wel tekst terug?
het zou misschien wel eens kunnen zijn dat de load functie text terug verwacht.

Aangezien het een delete pagina is, is het logisch dat je je DB record weggooid en verder niets, maar flash verwacht variabelen terug die hij niet krijgt.

Probeer eens je php pagina na het verwijderen iets terug te laten geven.

heb bij testen namelijk de pagina vervangen door "http://www.yahoo.com/index.html" en dan werkt alles goed.

[ Voor 5% gewijzigd door hopakee op 09-05-2003 10:34 ]


Verwijderd

Topicstarter
hopakee schreef op 09 May 2003 @ 10:33:
Geeft de RemID.php pagina wel tekst terug?
het zou misschien wel eens kunnen zijn dat de load functie text terug verwacht.

Aangezien het een delete pagina is, is het logisch dat je je DB record weggooid en verder niets, maar flash verwacht variabelen terug die hij niet krijgt.

Probeer eens je php pagina na het verwijderen iets terug te laten geven.

heb bij testen namelijk de pagina vervangen door "http://www.yahoo.com/index.html" en dan werkt alles goed.
ok ik ga me nu ff heel dom voelen, want dit werkt dus werkelijk perfect!
Iedereen hardstikke bedankt voor de tijd en moeite en hopakee, you're my hero of the day! :D
Pagina: 1