Envoyé par : Utilisateur anonyme
Date : 16/12/2004 11:47
je suis en train de lire le tutoriel, et suis à la partie XPCOM (bravo les traducteurs et merci pour ce travail) bref je cherche à tester l'exemple de suppression/déplacement d'un fichier txt. J’ai donc créé un fichier xul avec un simple bouton et un autre avec le javascript faisant appel au composant XPCOM comme décrit dans l’exemple, bien sur j’ai lié le fichier js avec le xul et posé ceux-ci dans un répertoire à la racine de chrome de firefox.
chrome --> montest (dir) ----> montest.xul ----> montest.js ----> montest.rdf
Le bouton fonctionne bien mais c’est l’appel au composant qui me renvoi Une erreur. Erreur : uncaught exception: Permission refusée d'obtenir la propriété UnnamedClass.classes
1ere question est : est ce la bonne méthode pour testé une Appli xul et y a t-il des erreurs dans les chemins?
2eme question : ci-dessous le code du xul et js y a t-il des erreurs dans le code?
3eme question: y a t-il quelque chose que je n'ais pas pigé et que je ne voi pas?
//////////////// montest.xul
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="copier-window" title="Recherche de fichiers" orient="horizontal" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script src="montest.js" /> <button id="copier-button" label="Copier fichier" default="true" onclick="copyFile('C:/testfile.txt','C:/PerfLogs');" /> </window>
////////////////// montest.js
function copyFile(sourcefile,destdir) { //alert(sourcefile); pour verifier l'appel a la fonction // récupérer un composant pour le fichier à copier var aFile = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); if (!aFile) return false; // récupérer un composant pour le répertoire où la copie va // s'effectuer. var aDir = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); if (!aDir) return false; // ensuite, on initialise les chemins aFile.initWithPath(sourcefile); aDir.initWithPath(destdir); // Au final, on copie le fichier sans le renommer aFile.copyTo(aDir,null); }
/////////////// montest.rdf
<?xml version="1.0"?> <RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:chrome="http://www.mozilla.org/rdf/chrome#"> <RDF:Seq RDF:about="urn:mozilla:package:root"> <RDF:li RDF:resource="urn:mozilla:package:montest"/> </RDF:Seq> <RDF:Description RDF:about="urn:mozilla:package:montest" chrome:displayName="Application XPCOM" chrome:author="macgile" chrome:name="montest" chrome:extension="true"/> </RDF:RDF>
merci de votre aide
macgile
Envoyé par : Utilisateur anonyme
Date : 18/12/2004 16:27
Es-tu certain d'etre dans un chrome ? Tu load ton appli via chrome:// ou file:// ?
Si tu es dans un file utilises les netscape.security: netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.