[*script] časově náročné smyčky a repaint
Dělám skript, který ve smyčce zpracovává množství dat. Problém je v tom, že bych chtěl během toho informovat o průběhu, ale když na stránce něco změním, stejně se to projeví až po předání řízení kdy se provede repaint. Existuje nějaká možnost, že bych mohl ovlivňovat vzhled stránky během zpracování smyčky?
Díkes.
"V normálních" aplikacích se na to používají vlákna.
Není uvedeno jaké technologie se problém vlastně týká.
JScriptu, a skriptovací jazyky právě nepodporují multithreading. Leda bych umístil smyčku do jiného souboru a spustil jí v jiném cscript procesu. To by mi ale moc nepomohlo, původní skript by neměl o zpracovávaných datech žádné informace.
Aha. Tak to nevím. Já programovat neumím. Možná by to mohl vědět los až dojde.
Laickým řešením by ale mohlo být rozdělit si to mezi dvě funkce s tím, že
po určitém počtu cyklů (bylo by tam počítadlo) by se to třeba přeplo na jinou funkci s tím, že ta funkce by měla v těle settimeout (časovač).
Zadala by se v něm nějaká směšná prodleva (třeba 200ms) a v tom čase by se mělo předat řízení pro uživatelské vykreslení.
Tím by se to možná mohlo opticky jevit tak jak je požadováno.
Se setTimeOut jsem si hrál ale buď jsem to implementoval blbě nebo se řízení nepředá. Jediný co zaručeně pomohlo bylo vyvolání dialogového okna ale to není moc šťastný řešení
Nevím kde je chyba.Mě to funguje dobře.
Jo tydle vidle, no to je vcelku divoký, ale co se dá dělat. Dík
EDIT: Blbý je že se ty funkce neukončujou tak si to v každym kroku bere další paměť.
Napada mi jedinej nesmysl - udelani apletu - java multithraditn podporuje a ma podporu javascriptu - bohužel až od verze 6 a na to lidi nemaj JRE ještě.
Konkrétně tenhle skript má fungovat v době instalace Windows, takže by ani nebyl nainstalován virtual machine. A přestože skriptuju v JScriptu tak s Javou nejsem moc kamarád. To bych napsal radši .NET assemblinu a použil COM wrapper Ale nápad je to zajímavej. Díky.