PDA

Volledige versie bekijken : browseForOpen > browse for directory


Zwaaikom
%Europe/Berlin %623 %2008, 15:58
Hoi,

ik ben een download programma aan het schrijven in AIR dat eerst een bepaalde file met informatie over de download inleest, en vervolgens de gebruiker vraagt waar hij deze file wil opslaan.

De code is alsvolgt:


public function chooseFile():void{
try {
fileToOpen.browseForOpen("Open", [downloadFilter]);
fileToOpen.addEventListener(Event.SELECT, onFileSelected);
} catch (error:Error) {
trace("Failed: ", error.message)
}
}

private function onFileSelected( e:Event):void{
try {
fileToOpen.browseForDirectory("Selecteer map");
fileToOpen.addEventListener(Event.SELECT, onDirectorySelected);
} catch (error:Error) {
trace("Failed: ", error.message)
}
}


Wanneer ik deze code uitvoer, geeft hij een error. Er mag maar één browse box tegelijk open staan.

Nu dacht ik juist, op het moment dat de tweede functie wordt aangeroepen, is de eerste alweer afgesloten. Blijkbaar niet.

Iemand enig idee hoe ik dit kan oplossen?

bvd Jan

TheDutch
%Europe/Berlin %809 %2008, 20:25
Waarom gebruik je niet de functie FileReference.download() (http://livedocs.adobe.com/flex/2/langref/flash/net/FileReference.html#download()) ipv. FileReference.browse() (http://livedocs.adobe.com/flex/2/langref/flash/net/FileReference.html#browse())? Sowieso heb je het over iets opslaan maar in je code zie ik "fileToOpen".

Zwaaikom
%Europe/Berlin %378 %2008, 10:04
Excuses, de tweede functie, onFileSelected, had ik even gekopieerd n.a.v. de eerste functie. De variabele daar zou directory heten in mijn code.

Er wordt lokaal een bestandje geopend, waar hij bepaalde data als bestandsgrootte en bestandspad op server uitleest. Dat ís al gedwonload vanaf de server. Vandaar dat dat gewoon geopend dient te worden :)

TheDutch
%Europe/Berlin %717 %2008, 18:13
Ok duidelijk :). Probeer eens een delay van een seconde in te bouwen alvorens je de volgende browse dialog opent. Of nog beter probeer het 'complete' event eens kijken of die ook getriggert wordt zodra hij klaar is met selecteren, al denk ik van niet.

Zwaaikom
%Europe/Berlin %577 %2008, 14:52
Okay, thanks. Heb een timer van 100 MS ingebouwd, voor het geval dat :)

nog een vraagje, gerelateerd aan dit onderwerp: Wanneer je op een windows PC werkt, zijn de paden natuurlijk in het formaat van:

C:\map\map\map

iedere keer wanneer ik de gekozen directory in de SQLite DB wil zetten, met navigathePath, dan breekt hij mijn path af bij de backslash (of slash, ik weet het verschil nooit tussen die twee ;)).

Is er een manier om dit te voorkomen, zodat de files zowel op apple's als windows pc's werken?

TheDutch
%Europe/Berlin %672 %2008, 17:08
Gebruik \\ of / :).

\ = Backward slash want hij gaat naar achteren.
/ = Forward slash / slash want hij gaat naar voren.

Zwaaikom
%Europe/Berlin %461 %2008, 12:05
Okay,

dat is duidelijk :)
heb er nu een replace op uitgevoerd, dat hij automatisch in navigathePath de \ in / veranderd

Bedankt!!
Jan