En verdad le aconsejo que no use esto demasiado ... es muy caro. Adobe necesita crear una función nativa para devolvernos esto.
Pero, por ahora ... intente esto:
Usted tendrá que hacer una coerción explícita para conseguirlo! Porque cuando se hace explícita y la coacción se obtiene un error como este:
TypeError: Error #1034:
Type Coercion failed: cannot convert [email protected] to flash.utils.ByteArray.
Nótese que en este error se obtiene lo que quiere ... el @ 1c49d31. Este hash es como una identificación en la asignación de memoria.
Hice un montón de pruebas. Este hash simplemente cambia cuando se llama "nuevo" (en C idiomas es equivalente a [[... alloc] init]) y para funciones estáticas y propiedades estáticas, la asignación ocurre un poco diferente ... de todos modos ...
Respaldo a Flash, el problema es que no tenemos una manera directa de obtener este hash sin un error.
Pero este no es un gran problema. Todo lo que necesitas es utilizar un poco de "tratar" y "captura" De esta manera:
try
{
ByteArray(anyObjectToKnowItAllocationHash);
}
catch (e:Error)
{
trace(e);
}
y listo! ¡Obtendrá el hash sin resultado en un error! Después de esto lo hice de una manera más refinated ... Prueba esto:
var memoryHash:String;
try
{
FakeClass(anyObjectToKnowItAllocationHash);
}
catch (e:Error)
{
memoryHash = String(e).replace(/.*([@|\$].*?) to .*$/gi, '$1');
}
internal final class FakeClass { }
Un poco de explicar esto: El fakeClass es estar seguro de esto generará un error. RegularExpression captura los últimos @ ... que aparecen. Porque los Objetos y las Funciones generan diferentes mensajes en este Error. Y el $ es para atrapar los objetos estáticos, la clase y las funciones, ya que no tienen una "@" en su memoria hash y diferentes zonas en la memoria.
¡Este pequeño código funciona tan bien para mí! Ahora puedo terminar algunos grandes motores que estoy haciendo que funcionen con la administración de memoria, las referencias débiles y la identificación basada en la memoria.
Espero que esto pueda ayudarlo.
¡Adiós, y buena suerte, amigo!
se Puede echar un vistazo a esto: http://stackoverflow.com/questions/1151627/object-reference-as-string/1153833#1153833, que q uite lo que Branden propuso ... :) – back2dos
¡Ah, se ve bien, gracias! –