Toon posts:

[mx2004] fscommand exec werkend krijgen in een extension

Pagina: 1
Acties:

Verwijderd

Topicstarter
Inleidende zut
Ik ben bezig met het maken van een extension voor de UI van Flash MX2004, 't geval neemt de vorm aan van een nieuw panel. Ik ben een verbetering aan het maken op FlashGuru's Auto Save extension.
Hiertoe heb ik fscommand exec nodig om een *.bat (of een *.exe) te draaien vanuit dit nieuwe panel dat ik maak.

Het Probleem
Ik krijg bovenstaande niet aan de praat. Als ik mn extension als projector publish, en een mapje fscommand aanmaak met daarin de .bat file, dan werkt t wel, echter, als ik de .swf publish en die los open in flash player, dan weigert hij dezelfde .bat file te openen. En dit zou wel moeten werken, volgens de manual:
...The following table shows the values you can specify for the command and parameters parameters of the fscommand action to control a SWF file playing in Flash Player (including projectors):
...
The exec command runs in the subdirectory fscommand only. In other words, if you use the fscommand exec command to call an application, the application must reside in a subdirectory named fscommand. ...
Hij werkt dus ook niet in de interface van flash.

De Vragen
- Waar moet de map fscommand staan als je een .swf opent in flashplayer? Is dat bij de map in waar ook de swf staat? of moet het juist bij de flashplayer.exe file instaan?
- Hoe worden de SWF bestanden ingeladen in de panelen in de Flash GUI? Is dat via flashplayer? En waar moet ik de fscommand map plaatsen?
- Kan fscommand uberhaupt gebruikt worden in extensions? Zijn daar limitaties voor?

Ik hoop dat er iemand is die kan helpen, in ruil daarvoor beloof ik mn extension gpl te maken :+

edit:
Even de oplossing hieronder gepost, voor mensen die op hetzelfde probleem stuiten :)


De Oplossing

Als je een fscommand wilt uitvoeren vanaf een gedubbelklikte SWF (of op een andere manier ingeladen - op html na - SWF bestand), dan moet je de bekende map fscommand niet relatief aan het SWF bestand zelf neerzetten, maar relatief aan de player die de SWF uitvoert (Als je SWF's gekoppeld hebt aan de meegeleverde player bij Flash MX2004 betekend dit dus dat je hem in de Players map onder de map waar je Flash hebt geïnstalleerd moet neerzetten. (Standaard is dit dus C:\Program Files\Macromedia\Flash MX 2004\Players)

Wil je, zoals in mijn geval, het exec commando vanuit een panel in de Flash GUI draaiend hebben, dan moet je de fscommand map in de map waar je Flash hebt geïnstalleerd moet neerzetten. (Standaard is dit dus C:\Program Files\Macromedia\Flash MX 2004\)

Vervolgens al je .bat, .exe of .fluffybunny bestandjes in die fscommand map gooien, ze aanroepen met fscommand ("exec", "blaat.bat"), en alles draait als een tierelier :)

[ Voor 25% gewijzigd door Verwijderd op 23-10-2003 01:36 ]


Verwijderd

Naar mijn weten wordt het fscommand exec command officieel niet meer ondersteund in de MX versies. In Flash 5 nog wel.

Ik had zelf laatst ook wat problemen hiermee en werd doorverwezen naar deze 3rd party tool: MDM Flash Studio Pro (http://www.multidmedia.com). Wellicht dat je hiermee beter uit de voeten komt...

Verwijderd

Topicstarter
Mjah, Flash Studio Pro is alleen voor als je er projectors mee wilt maken van een swf, dan krijg je een hoop extra functionaliteit... Maar als projector werkt het dus al, ik wil juist dat het als .swf werkt. (of hoe t dan ook gedraaid wordt binnen de Flash UI)

En het is nog wel ondersteund in de mx versies, het werkt alleen iets stricter dan in 5 (je moet nu alle files die je wilt uitvoeren in een subdir genaamd fscommand zetten...)
En t staat ook nog steeds in de manual (zonder "deprecated" derbij), dus ik mag er vanuit gaan dat het nog steeds werkt (niet in de laatste plaats omdat het tenslotte ook werkt vanuit de projector :P)

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Verwijderd schreef op 21 October 2003 @ 13:49:
De Vragen
- Waar moet de map fscommand staan als je een .swf opent in flashplayer? Is dat bij de map in waar ook de swf staat? of moet het juist bij de flashplayer.exe file instaan?
- Hoe worden de SWF bestanden ingeladen in de panelen in de Flash GUI? Is dat via flashplayer? En waar moet ik de fscommand map plaatsen?
- Kan fscommand uberhaupt gebruikt worden in extensions? Zijn daar limitaties voor?
- in dezelfde map als waar je SWF wordt geladen ( zie hieronder )
- via de Flash GUI ( ingebouwde Flash OCX ). Bestanden moeten staan in C:\Documents and Settings\[USER]\Local Settings\Application Data\Macromedia\Flash MX2004\[LANGUAGE CODE]\First Run\WindowSWF
- Ja dat kan

HTH

"You're only as good, as what you did last week."


Verwijderd

Topicstarter
oh,when? schreef op 22 oktober 2003 @ 20:17:
[...]
- via de Flash GUI ( ingebouwde Flash OCX ). Bestanden moeten staan in C:\Documents and Settings\[USER]\Local Settings\Application Data\Macromedia\Flash MX2004\[LANGUAGE CODE]\First Run\WindowSWF
In die map [LANGUAGE CODE] staat geen first run, alleen een configuration, ik neem aan dat je die bedoeld? (das de map waar alles vanuit de c:\program files\macromedia\...\first run naartoe gekopieerd wordt zodra je opstart ben ik achter gekomen)
Daar had ik dus al die fscommand map instaan (althans, ik had hem in program files\...\first run geplaatst, en hij werd automagisch mee gekopieerd...)

Probleem is dus, hij weigert die fscommand te runnen, zowel vanuit de UI, als wanneer ik de swf gewoon dubbelklik en uit laat voeren in de flash player.

Verwijderd

Topicstarter
Nog een keer alle mogelijke settings die ik kon vinden afgegaan, en nog steeds geen verklaring gevonden...
Als ik in een willekeurige map een blaat.swf heb staan met alleen maar
code:
1
fscommand ("exec", "blaat.bat")
erin, en ik in diezelfde map een submap fscommand heb staan, met daarin blaat.bat met daarin:
code:
1
2
echo Blaat!
pause
, dan gebeurt er niks als ik die swf opstart, terwijl zodra ik diezelfde swf via de flashplayer converteer naar een projector (blaat.exe), dan runt ie de .bat file prima...
Ben ik nou gewoon gek aan het worden? :(
Heb bovenstaande getest op 2 systemen...
Ook als ik het geheel als Flash MX (6) & AS 1 exporteer, dan weigert ie t nog steeds te doen. Is de manual fout? Is dit een bug? Ik snap er echt geen #$%^ meer van... :'(

Verwijderd

Topicstarter
Raaaah, iets waar ik al lang aan gedacht had, maar wat ik een beetje afgedaan had als "nee, dat kan het echt niet zijn", en toch blijkt het daar aan te liggen:

De oplossing voor het probleem is dus dat die fscommand dir niet relatief aan de .swf moet staan, maar relatief aan de player die de .swf uitvoert. In het geval van het dubbelklikken moet hij dus in C:\Program Files\Macromedia\Flash MX 2004\Players\ staan.
Daar een map aanmaken met fscommand, er vervolgens de bat file in gooien, .swf dubbelklikken uit een compleet andere map, et voila, hij opent de batch file...

Nou nog even uitzoeken waar de Flash GUI zn swf's vandaan inlaad, en we kunnen aan de slag :D

edit:
Uitgeprobeerd, en gevonden: gewoon in C:\Program Files\Macromedia\Flash MX 2004\ Zie startpost voor complete oplossing samengevat


Enfin, ik ga het geval nu afmaken, en ik post hier wel een download linkje naar de extension + source als t af is ofzo...
(Mag dit eigenlijk van de modjes? Of valt dat onder spam? Tis wel een vrij nuttige tool voor Flash, en we hebben geen algemeen Flash topic waar we tuts en tools als dit kunnen posten :P)

[ Voor 30% gewijzigd door Verwijderd op 23-10-2003 01:41 ]


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

in de categorie "ik-snap-de-ballen-niet-van-wat-je-bedoelt" deze 2 tips/vragen:

• Dat is geen map [LANGUAGE CODE] maar een 2-cijferige code van de versie die je gebruikt van Flash, hoogstwaarschijnlijk is dat voor jou 'en' maar dat kan ook 'de', 'fr', 'sp' of 'jp' zijn, respectievelijk duits, frans, spaans en japans ( als ik het goed heb )
• Ik weet niet waar je dat vandaan hebt, maar om het commando 'fscommand' te gebruiken, heb je totaal geen (sub)map nodig die ook fscommand heet. Had je 2 dagen klote gescheeld.. ;)

"You're only as good, as what you did last week."


Verwijderd

Topicstarter
- Ik weet dat die map [LANGUAGE CODE] niet bestaat, sorry, tikte die reply ff verkeerd (was ff met mn gedachten ergens anders :+), ik had het over "C:\Documents and Settings\mijnusernaam\Local Settings\Application Data\Macromedia\Flash MX2004\en\First Run\WindowSWF" -> die bestaat niet, er is alleen een "Configuration" map, de "en\First Run" map bestaat alleen in de "flash mx 2004" map in je "program files", waar je hem geïnstalleerd hebt :) Dus waarschijnlijk een typo oid van jouw kant (net zoiets als dat ik vervolgens [LANGUAGE CODE] ipv First Run intikte in mn reply...)

- Erm, sinds Flash MX (of was t 5 al?) is het verplicht om alle programma's / bestanden die je uit wilt voeren in een submap fscommand te plaatsen, ten opzichte van je flash player.
Uit de help:
...
The exec command runs in the subdirectory fscommand only. In other words, if you use the fscommand exec command to call an application, the application must reside in a subdirectory named fscommand.
...
Niet dat ik t niet geprobeerd heb om relatief aan de swf of zelfs gewoon met t absolute path (C:\blaat.bat) een fscommand te draaien (laatste keer dat ik ermee werkte kon t namelijk nog wel gewoon), zelfs lopen kloten met (dubbele) back/forward slashes, maar no dice, je moet het echt per sé in die submap fscommand gooien...

Hoop dat ik zo iets duidelijker ben? :)

[ Voor 5% gewijzigd door Verwijderd op 23-10-2003 03:22 ]


  • Justice
  • Registratie: Maart 2001
  • Laatst online: 07-08-2025
zelfs de installer van studio mx 2004 (die draait in de flash player) haalt de installatie bestanden uit een FSCOMMAND submap. :)

Human Bobby


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Verwijderd schreef op 23 October 2003 @ 03:18:
die bestaat niet, er is alleen een "Configuration" map, de "en\First Run" map bestaat alleen in de "flash mx 2004" map in je "program files", waar je hem geïnstalleerd hebt :) Dus waarschijnlijk een typo oid van jouw kant.
Nope, geen typo. In alle officiele installaties die ik heb van MX04 en MX04Pro ( en geloof me...dat zijn er veel ) worden deze bestanden geinstalleerd, in een van de volgende directories:

• Windows 2000, Windows XP
C:\Documents and Settings\[USER]\Local Settings\Application Data\Macromedia\Flash MX2004\[LANGUAGE CODE]\First Run\
• Windows 98
C:\Windows\Application Data\Macromedia\Flash MX 2004\[LANGUAGE CODE]\First Run\
• Macintosh OS X
Hard Drive/Users/[USER]/Library/Application Support/Macromedia/Flash MX 2004/[LANGUAGE CODE]/First Run/
Verwijderd schreef op 23 October 2003 @ 03:18:
- Erm, sinds Flash MX (of was t 5 al?) is het verplicht om alle programma's / bestanden die je uit wilt voeren in een submap fscommand te plaatsen, ten opzichte van je flash player.
Mijn fout, had niet gezien dat je een programma ( exec ) wilde uitvoeren. Je hebt helemaal gelijk. :)

"You're only as good, as what you did last week."


Verwijderd

Topicstarter
Thuis draai ik op dit moment de trial, totdat ik via school een goedkope licentie kan krijgen (zou vrij snel moeten zijn, zeggen ze), misschien dat het daar aan ligt?
Ik heb in ieder geval alleen een configuration map in mn application data, en alleen een first run in mn program files (WinXP). Het geheel doet waarschijnlijk hetzelfde (troep wordt bij opstarten gekopieerd van first run naar configuration)

Tjah, wou inderdaad een programma uitvoeren :) Maar goed, het geheel werkt nu, en nu kan ik eindlijk een van de grootste gebreken (voor mij dan) in Flash rechtzetten :)
Pagina: 1