Question

J'ai écrit un code dans Matlab qui modulent et démoduler des signaux. Je les déployer à l'aide deploytool et .jar fonctionne dans une application sans interface graphique, mais me donne l'Undefined variable "modem" or class "modem.pskmod". dans une application avec une interface graphique.

En fait, ce que je veux savoir ce qui provoque cette erreur de se produire comme je l'ai un oeil, je ne trouve pas beaucoup de documentation sur cette erreur.

Comme je ne comprends pas pourquoi il fonctionne dans une application, mais échoue dans un autre quand est presque similaire le code que je l'utilise lorsque vous appelez la méthode.

Était-ce utile?

La solution

Ok, après beaucoup d'essais et de comparer la différence entre une application sans interface graphique et une application avec une interface graphique. J'ai trouvé une solution à mon problème.

Comme application sans exécution de l'interface graphique d'initialisation du procédé à partir du début de l'application (il n'y a qu'un seul fil)
import matlabFunction.*;
public static void main(String[] args) {
matlabFunction test = new matlabFunction(); test.runFunction(1, lstABC.toArray());
}

Mais dans mon code avec GUI je lance la méthode d'initialisation à partir du (contient mon code d'initialisation principal ()) JFrame qui se trouve dans l'EDT

public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() {

        public void run() {
            try {

                new main();
            } catch (Exception p) {
            }
        }
    });
}  

L'erreur se produit de la façon ci-dessus pour initialiser le procédé de MATLAB. Mais si je change façon d'appeler la méthode d'initialisation comme ci-dessous, l'erreur est à résoudre.

public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() {

        public void run() {
            try {
                matlabFunction test = new matlabFunction();
                new main(test);
            } catch (Exception p) {
            }
        }
    });
} 

Alors, je crois que la raison de mon problème ne demande pas la méthode d'initialisation du thread « première » qui commence l'application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top