Autor Zpráva
tygl
Profil
Mam takovy mensi problem a nevim jak ho spravne resit (tj. neochcavat ruznejma matrjoskama).

V movieClipu mam 4 TextFieldy, kazdy ma sve ID. Hodnoty do nich tedy posilam jako ID.text = 'neco'. V tomto pripade jde o fieldy ktere obsahuji cas, jeden obsahuje datum, druhy cas, treti nazev dne v tydnu a ctvrty jmeniny. Mam vytvorenou tridu "TimeController" s metodou update(), ktera po spusteni zajisti automatickou aktualizaci (pres setInterval).

Problemem je to, ze mi z nejakeho duvodu nefunguje toto:

field_Cas.prototype = new TimeController();

Dle popisu, bych ocekaval ze prototype bude obsahovat instanci TimeController, ale bohuzel se tak nestane. Po spusteni field_Cas.update() se vubec nic nestane (v update mam i trace() takze spusteni bych zaznamenal).

Pouzivam flash 8, AS 2.

Diky za kazde nakopnuti spravnym smerem.

P.S.: Pokud provedu prototype takto:
TextField.prototype = new TimeController() tak se metoda update() spusti. Problem je v tom, ze pak tuto metodu, ziskaji vsechny vytvorene textFieldy, coz prave nechci, potreboval bych nadefinovat metodu update pouze u tech 4 fieldu. Otazkou je jak, myslel jsem, ze diky prototype mohu jiz hotove instanci "podsunout" dalsi metody.
Hanz
Profil
tygl
řekl bych, že je to tím, že pomocí prototype přidáváš vlastnosti třídám, ale field_cas není třída, kdežto TextField je třída, která slouží k vytváření pole.
Takže ti sice neporadím jak to co chceš vytřešit, ale řekl bych, že tak jak to děláš to nepůjde.
tygl
Profil
Hanz

Jop, prave sem si na to sednul a ujasnil si jeden svuj zasadni omyl, kterej sem si nejak zafixoval. Bral jsem prototype jako neco co "vlozi" instanci pod soucasny objekt, ale prototype ve sve podstate ukazuje na rodice. Do rodice tedy muzes vlozit metody, ale tridu uz tezko.
Toto téma je uzamčeno. Odpověď nelze zaslat.