Empezando a usar XPCOM

Este foro trata del uso de las herramientas disponibles en mozilla, creadas para Mozilla o compatibles con él
Q.

Empezando a usar XPCOM

Mensajepor Q. » Dom Ene 11, 2009 4:26 pm

Hola, muy buenas, hace poco que he empezado a hacer extensiones para firefox y ahora mismo estoy intentando empezar a utilizar los componentes XPCOM y sus interfaces. Por el momento sólo he intentado una prueba para copiar un archivo de un directorio a otro y no hay forma de que me funcione. El código desde el que llamo a XPCOM es el siguiente:

var unArchivo = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
unArchivo.initWithPath("C:\prueba.txt");
unArchivo.create(nsIFile::NORMAL_FILE_TYPE, null);
var unDirectorio = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
unDirectorio.initWithPath("C:\directorioprueba");

No sé qué pasa pero no funciona, he probado a meter el código dentro de una consola javascript que lleva incrustada la extensión XPCOMWiever, y el mensaje que me sale es el siguiente:

NS_ERROR_FILE_NOT_FOUND on line 5: Component returned failure code: 0x80520012(NS_ERROR_FILE_NOT_FOUND)[nsILocalFile.copyTo]

Evidentemente, tanto prueba.txt como directorioprueba existen, si no, no os preguntaría por qué me ocurre ésto, XDD. Es como si no los reconociese, no sé, es muy raro.... :-(

Para terminar, me gustaría saber si hay algún sitio que proporcione una API de los componentes y las interfaces de XPCOM más o menos completa, y si podría encontrar algún manual en castellano y para tontos sobre cómo crear componentes XPCOM. Muchas gracias a todos por adelantado.

Q.

Re: Empezando a usar XPCOM

Mensajepor Q. » Dom Ene 11, 2009 4:28 pm

Perdonad, pero sin querer me he dejado sin pegar la última línea de código:

unArchivo.copyTo(unDirectorio,"");

Ahí es precisamente donde falla, cuando intento copiar el archivo dentro del directorio.

q.

Re: Empezando a usar XPCOM

Mensajepor q. » Dom Ene 11, 2009 4:32 pm

JJJJODER!

Esta linea en mitad del código sobraba:

unArchivo.create(nsIFile::NORMAL_FILE_TYPE, null);

Os vuelvo a poner el bloque de código entero, esta vez bien:


var unArchivo = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
unArchivo.initWithPath("C:\prueba.txt");
var unDirectorio = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
unDirectorio.initWithPath("C:\directorioprueba");
unArchivo.copyTo(unDirectorio,"");

Eso es...

disculpad, pero es que llevo ya dos horas haciendo pruebas con unas cosas y otras y ya no sé ni lo que copio y lo que pego.


Volver a “Herramientas (DOM Inspector, Venkman, aplicaciones XUL...)”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados