Envoyé par : skowalski
Date : 03/12/2009 16:04
Bonjour à tous,
Dans une extension de Thunderbird, je lance un thread qui sauvegarde des messages.
Des fonctions de ce thread font appel à des listener.
Le code fonctionnait sans thread ( mais freeze de TB ) mais ne fonctionne plus avec le thread. Il n'y a pas de message d'erreur et le listener n'est pas exécuté.
La structure du thread ressemble à çà:
Au niveau de la fenêtre principale de TB,
VariableGlobale.sauvegarde = function () { var aThread = null; var saveThread = function () {}; saveThread.prototype = new myThread(); // Structure d'un thread saveThread.prototype.execute = function () { listener = this.myUrlListener(); listener.parent = this; listener.folderLabel = this.folderLabel; listener.fromMsgFolder = fromMsgFolder; listener.toMsgFolder = toMsgFolder; fromMsgFolder.downloadAllForOffline(listener, msgWindow); } saveThread.prototype.myUrlListener = function () { var listener = { parent : null, folderLabel : null, fromMsgFolder : null, toMsgFolder : null, QueryInterface : function(iid) { if (iid.equals(Components.interfaces.nsIUrlListener) || iid.equals(Components.interfaces.nsISupports)) return this; throw Components.results.NS_NOINTERFACE; return 0; }, OnStartRunningUrl: function (url) { }, OnStopRunningUrl : function (url, exitCode) { this.parent.getMessages(this.fromMsgFolder, this.toMsgFolder, this.folderLabel); } } return listener; }; aThread = new saveThread(); aThread.start(); }
Merci pour votre aide, Stéphane.
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.