Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Hiric
    Registrato dal
    Aug 2007
    Messaggi
    10

    [F9] [AS3] Enumerazione Proprietà/Oggetti nascosti/non documentati (ASSetPropFlags?)

    Salve a tutti, e grazie per la disponibilità dimostrata su questo forum
    ...stavolta prometto di essere meno prolisso, schematizzo un pochino il problema, così almeno si legge meglio

    Premessa
    Stavo cercando di estendere le funzionalità della classe TextField, per realizzare una classe che permettesse una maggiore versatilità circa il riconoscimento dei fogli di stile CSS2 (estendendo la classe StyleSheet) e maggior controllo circa i componenti aggiunti dal TextField.

    Sono riuscito ad intercettare il caricamento delle singole immagini e relativi loader nel momento in cui si setta la proprietà htmlText. Tutti questi oggetti hanno come parent il mio componente, ma non sono accessibili in alcun modo, essendo -probabilmente- dei campi privati.
    E qui arrivo al


    Problema
    Durante la ricerca mi sono imbattuto in questo metodo Actionscript 1.0 [2.0?]: ASSetPropFlags

    Pare che con esso si potessero modificare in massa i flag di tutti i metodi/proprietà/oggetti nascosti di un certo oggetto, e "sproteggere" una classe, rivelando anche funzioni non documentate, ed enumerandole (in un ipotetico codice AS3) così semplicemente:

    Codice PHP:
    global.ASSetPropFlags(thisnull61);
    for (var 
    z in this)
        
    trace(z); 
    ...peccato che secondo quanto ho letto e provato sinora, l'implementazione dell' AS3 non dovrebbe permettere niente di simile... o almeno così credo.

    Domanda
    Esiste un qualche sistema per scoprire proprietà/metodi/funzioni non documentate di una data classe/oggetto?
    E' possibile enumerare queste informazioni estrapolandole da una classe (utilizzo alternativo: esplorare l'interfaccia di una classe senza alcuna documentazione)?


    Grazie per l'attenzione e eventuali risposte/considerazioni

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    allora, in AS3 lo sviluppo è OOP al 100% e non è possibile accedere a metodi o proprietà private tramite trucchetti tipici di AS1/2, il fatto è che in AS2 una funzione o una proprietà priva in effetti non era protetta e ci si poteva accedere ugualmente
    in AS3 quando una proprietà risulta privata, lo è davvero e non ci si può accedere
    quello che non comprendo della tua domanda è cosa te ne fai, una volta che scopri un metodo privato della classe TextField o StyleSheet, dell'informazione

  3. #3
    Utente di HTML.it L'avatar di Hiric
    Registrato dal
    Aug 2007
    Messaggi
    10
    Ammetto che in effetti rendere pubblici oggetti privati sia come minare le fondamenta dell'OOP

    Il motivo di tutto questo è che ipotizzavo mi avrebbe permesso di comprendere meglio il funzionamento interno della TextField, e dato la possibilità di intercettare la creazione di eventuali variabili/oggetti di appoggio della classe, consentendomi un maggiore controllo dell'applicazione degli stili e della formattazione della TextField, senza per questo andare a riscrivere l'intera classe che a parer mio potevano lasciare un pò più "scoperta".

    Un altro motivo è - perchè sono uno smanettone curioso

    Inoltre, contavo di implementare l'attributo CSS "style"e mi preoccupavo di come implementare le misure espresse in percentuale/ems/exs. Se ad esempio avessi un'immagine flottante affiancata da una colonna di testo che si adatta ai suoi contorni, e la dimensione dell'immagine fosse espressa in uno dei modi accennati, mi sarebbe piaciuto poter ridimensionare non solo l'immagine (e questo è possibile) ma di riflesso anche la colonna di testo al suo lato.

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    la questione è interessante, ma credo che ci sia poco da fare considerando che non puoi assegnare una unità di misura per il textfield, ma le misure in flash vengono sempre considerate in pixel, al massimo puoi crearti una funzione di conversione per gestire la scelta della misura in em, ti fai una classe che estenda la classe TextField (in modo da non doverla riscrivere daccapo come dicevi) e gli aggiungi il metodo che ti interessa per la conversione in em

  5. #5
    Utente di HTML.it L'avatar di Hiric
    Registrato dal
    Aug 2007
    Messaggi
    10
    Beh, si, temo mi dovrò limitare a questo, anche se è un pò sconfortante trovare muri in ogni dove. Tra l'altro, mentre frugavo per l'ennesima volta nella documentazione ufficiale ho trovato:

    In the past, advanced ActionScript programmers could directly manipulate the prototype chain with special built-in language elements. Now that the language provides a more mature implementation of a class-based programming interface, many of these special language elements, such as __proto__ and __resolve, are no longer part of the language. Moreover, optimizations of the internal inheritance mechanism that provide significant Flash Player performance improvements preclude direct access to the inheritance mechanism.

    quindi mi sa proprio che da questo punto di vista mi metterò l'anima in pace

    Grazie per le risposte!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.