Envoyé par : tonio
Date : 04/01/2006 12:06
Bonjour,
j'ai un petit problème de passage de la version 1.8 vers 1.9 de Xulrunner.
En 1.8, je manipulais des datasources de type 'inmememory' sans problème. L'ajout via Assert se faisait normalement.
En 1.9, l'ajout via Assert ne fonctionne plus et aucune exception n'est levée lors de l'appel :(
Si quelqu'un pouvait éclairer ma lanterne, ca serait bien sympa :)
Un peu de code:
Initilialisation
this.tree = tree; this.RDF = Components.classes['@mozilla.org/rdf/rdf-service;1'].getService(Components.interfaces.nsIRDFService); this.RDFC = Components.classes['@mozilla.org/rdf/container;1'].getService(Components.interfaces.nsIRDFContainer); this.RDFCUtils = Components.classes['@mozilla.org/rdf/container-utils;1'].getService(); this.RDFCUtils = this.RDFCUtils.QueryInterface(Components.interfaces.nsIRDFContainerUtils); if (this.ds != null) { this.tree.database.RemoveDataSource(this.ds); } this.ds = Components.classes["@mozilla.org/rdf/datasource;1?name=in-memory-datasource"].createInstance(); this.ds = this.ds.QueryInterface(Components.interfaces.nsIRDFDataSource); var rootNode = this.RDF.GetResource("urn:root"); var seqNode = this.RDF.GetResource("urn:root:seq"); this.ds.Assert(rootNode, this.RDF.GetResource("http://dummy/RDF#racine"), seqNode, true); this.RDFCUtils.MakeSeq(this.ds, seqNode); this.RDFC.Init(this.ds, seqNode); this.tree.database.AddDataSource(this.ds);
Ajout d'un element:
this.ds.Assert(this.RDF.GetResource(entry_name), this.RDF.GetResource("http://dummy/RDF#" + field_name), this.RDF.GetLiteral(field_value), true);
Envoyé par : laurentj
Date : 04/01/2006 13:12
Si quelqu'un pouvait éclairer ma lanterne, ca serait bien sympa :)
version 1.9 = Tu utilises une version instable de gecko. Donc tout s'explique ;-)
Mise à part ça, ils ont peut être fait des modifications dans l'api, ou des optimisations, d'où probablement ce bug.
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.