Comunidad de diseño web y desarrollo en internet online

ZINC - ¿Como hacer debug? No me carga un xml, o eso parece

Citar            
MensajeEscrito el 29 Dic 2009 11:09 pm
Hola a todos

Hoy mismo he empezado a usar Zinc y he incorporado unas cosas a mi projecto... y ya no va :lol:

Lo curioso es que lo que he incorporado de Zinc ni siquiera se ha llegado a ejecutar. En mi programa cargo un xml con una lista de clientes, y los muestro en un datagrid. A partir de ahí se selcciona uno y se pueden hacer cosas (que incluye lo de zinc en una de ellas).

La carga del xml es con flash puro (sin zinc code): cargaXML.load("clientes.xml");

El caso es que en Flash el xml se carga ok, y en el propio Builder de Zinc funciona (en la previsualización dentro del programa), pero cuando genero el ejecutable... nada... en el datagrid no se muestra nada.
No se como hacer debug y ver si realmente se cargado el xml y lo que falla es otra cosa, le he dado a una opción que hay al compilar, pero aparentemente genera el exe como si fuera 'normal'.
Los trace de flash no salen por ningún lado, así que no se que está pasando.

Por daniel69

78 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Dic 2009 11:10 pm
Perdón, es una List, no un datagrid.

Por daniel69

78 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Dic 2009 01:47 am
Nunca lograrás cargar un XML en Zinc con ese código, le falta el "Zinc Path", ya que cuando crear un player de MDM Zinc, debes tener en cuenta necesita los path absolutos. Para evitar este problema, Zinc ha creado una función útil:

Código ActionScript :

mdm.Application.path


Un buen tip que dan los de Zinc, es que para que no te lies desarrollando hagas lo siguiente:

Código ActionScript :

_global._path = (mdm.Application.path != undefined) ? mdm.Application.path : "";


De esta forma, funcionará en Flash y en Zinc. O sea en tu caso escribe esto:

Código ActionScript :

cargaXML.load(_global._path+"clientes.xml");


Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 30 Dic 2009 10:26 am
Hola Hernan

Había probado a hacer

cargaXML.load(mdm.Application.path+"clientes.xml");

pero Flash se ponía a llorar cada vez que intentaba compilar.

Voy a probar lo que me has dicho...

Funciona!! Ni Flash protesta ni da errores, pero me pasa en otras partes del projecto (cargo otros XML), así que lo tendré que añadir en cada sitio. No entiendo porqué no encuentra los ficheros si están en la misma carpeta que el ejecutable, pero bueno, si sólo es añadir esa línea, bien está.

En fin, de momento voy a seguir probándolo :)

Por daniel69

78 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Ene 2010 05:59 am
Hola Hernan, Daniel69..
estoy en un problema muy similar.. la verdad es que estoy desesperada ya que es algo que debo resolver urgente y me estoy desesperado bastante.. Estuve viendo que saben de este tema por eso me decidi a postearlo con toda la esperanza del mundo.

Tengo un codigo que me han pasado para poder hacer un buscador y en la ventana de Zinc se ve funcionar perfecto pero la realidad que el xml no se conecta con el flash cuando cargo el cd final. Por favor ayudenme..
Incorpore el codigo que decía Hernan y no funciono.. Por favor.. ayudenme a ver que es lo que me esta faltando.

La pelicula tiene un componente List (my_list) y un componente textArea (text_ta) en el escenario () donde trae la info de mi xml llamada desde los frames.

En el primer frame tengo el siguiente codigo:

Código ActionScript :

stop();
//arranged the aplhabets in an order//////
var chare = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
xpos = 345;
ypos = 240;
var doArrange:Array = new Array();
doArrange = chare.split(",");
for ($=0; $<doArrange.length; $++) {
   attachMovie("ga",doArrange[$],$);
   eval(doArrange[$]).name_txt.text = doArrange[$].toUpperCase();
   eval(doArrange[$])._x = xpos+(eval(doArrange[$])._x+20)*$;
   eval(doArrange[$])._y = ypos;
   eval(doArrange[$]).name_txt.textColor = "0x888888";
   eval(doArrange[$])._alpha = 50;
   if ($ == 50) {
      ypos = ypos+20; xpos = -95;
   }
   if ($ == 110) {
      ypos = ypos+25; xpos = -215;
   }
   if ($ == 170) {
      ypos = ypos+25; xpos = -335;
   }
   if ($ == 500) {
      ypos = ypos+25; xpos = -455;
   }
}
///////////////////////////////XML Load function/////////////////////////
XML.prototype.ignoreWhite = true;
var alphabets:Array = new Array();
my_list.setPropertiesAt(2,{backgroundColor:0xFF0000, icon:"file"});
my_xml = new XML();
cargaXML.load(_global._path+"diccionario.xml");
my_xml.load("diccionario.xml");
my_xml.onLoad = function(success) {
   if (success) {
      alphabets = this.firstChild.attributes.alphabets.split(":");
      for ($=0; $<this.firstChild.childNodes.length; $++) {
         my_list.addItem({data:this.firstChild.childNodes[$].firstChild.firstChild, label:this.firstChild.childNodes[$].attributes.Name});
      }
   }
   nextFrame();
};
////////////////////////// XML data was pushed to list component////////
var my_list:mx.controls.List;
my_list.hScrollPolicy = "on";
my_list.maxHPosition = 50;
/////////////////data retrieved from list component/////////
var listListener:Object = new Object();
listListener.change = function(evt_obj:Object) {
   text_ta.text = evt_obj.target.value;
};
my_list.addEventListener("change",listListener);
///////////////////////XML load function recalled here////////[/code]

En el segundo frame tengo esto:
[code:1:e5437773a6]stop();
function place(par) {
   my_list.removeAll();
   text_ta.text = "";
   for ($=0; $<my_xml.firstChild.childNodes.length; $++) {
      if ((par).toUpperCase() == my_xml.firstChild.childNodes[$].attributes.Name.charAt(0)) {
         my_list.addItem({data:my_xml.firstChild.childNodes[$].firstChild.firstChild, label:my_xml.firstChild.childNodes[$].attributes.Name});
      }
   }
}
//search word//
search_btn.onRelease = function() {
   search = find_txt.text;
   place(search);
};
add_button.onRelease = function() {
   text_ta.text = "";
   my_list.removeAll();
cargaXML.load(_global._path+"diccionario.xml");
my_xml.load("diccionario.xml");
};
nextFrame();
[/code:1:e5437773a6]

Y en el tercero esto:
[code]find_txt.restrict = "a-z";
find_txt.restrict = "A-Z";
_global.styles.TextArea.setStyle("borderStyle","none");
//_global.styles.List.setStyle("borderStyle", "none");
//_global.styles.List.setStyle("borderStyle", "none");
find_txt.maxChars = 1;
for ($=0; $<alphabets.length; $++) {
   eval(alphabets[$]).name_txt.textColor = "0x333333";
   eval(alphabets[$])._alpha = 100;
   eval(alphabets[$]).onRelease = function() {
      place(this._name);
   };
}
if (Key.isDown(Key.ENTER)) {
   dis_txt.text = "enter";
}
stop();


Mi xml dice esto:

Código XML :

<glossary alphabets="a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z">
<Item Name="Abdomen">
<Description>Es la porción del cuerpo situada entre el tórax y la pelvis, en los mamíferos, que contiene en su interior la cavidad abdominal, separada de la torácica por el diafragma.</Description></Item>
</glossary>



Por favor si saben que debo cambiar al menos en el primer frame podre dilusidar lo siguiente.
Espero sus comentarios..

Por Letslets

16 de clabLevel



 

msie8
Citar            
MensajeEscrito el 07 Ene 2010 06:24 am
buaaa.. estoy probando poner:

Código :

myXML.load(_global._path+"diccionario.xml");


pero sucede lo mismo. En flash se ve completo. En el .exe ya no. No vincula mi flash con el xml

que puedo hacer?

Por Letslets

16 de clabLevel



 

msie8
Citar            
MensajeEscrito el 07 Ene 2010 03:13 pm
Tienes que poner

Código :

_global._path = (mdm.Application.path != undefined) ? mdm.Application.path : "";


antes de poder usar _global._path

Por otro lado, si es AS3 tienes que inicializar en el 1er frame el zinc, con As2 no hace falta.
Se hace con

Código :

mdm.Application.init(this);


de todas formas yo uso AS2, así que de esto último no estoy seguro.

Yo también he tenido algunos problemas con Zinc con fileExists(), no parece funcionar bien, pero lo he dejado para más adelante jeje
Por cierto, ¿has marcado los módulos necesarios antes de generar el EXE?

Por daniel69

78 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Ene 2010 02:30 am
Daniel 69 ante todo.. Muchas gracias!!!! ^^
Te cuento como lo he resuelto un rato antes de que me contestes. Quizas es algo bastante simple pero lo exporte como .exe desde el mismo flash para evitar todos los saltos que genera el zinc y tema resuelto.

De todas formas me agende todo lo que me pasaste ya que es un muy buen consejo!
MIL GRACIAS :D

Por Letslets

16 de clabLevel



 

msie8
Citar            
MensajeEscrito el 09 Ene 2010 03:45 am
Si creas el .exe desde Flash no tiene sentido usar Zinc. Absolutamente ninguno.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.