Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
894 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Auteur Sujet :

Utilisation de javax.comm (accès au port série, //, ...) + DEPRECATE

n°250427
korben
Posté le 21-11-2002 à 09:56:56  profilanswer
 

Reprise du message précédent :
Oui, sauf que là c'est une application propriétaire, qui marche avec n'importe quel PC. C'est pas un gros analyseur de trame...

mood
Publicité
Posté le 21-11-2002 à 09:56:56  profilanswer
 

n°250469
korben
Posté le 21-11-2002 à 11:22:30  profilanswer
 

Je viens de faire un essai avec une version antérieure (1.3.1_06). Le problème reste le meme... meme deprecate. Sinon, j'ai discuté avec un spécialiste Java qui pensait que les deprecate ne devaient pas etre l source du problème mais...
Alors si qqn arrive à me donner un coup de main...
A+

n°250515
darklord
You're welcome
Posté le 21-11-2002 à 12:02:55  profilanswer
 

:pfff:  
 
tu sais on te donne le genre de conseils qui correspond à ce que tu veux bien nous donner comme info. Si la raison qu'on te donne ne te convainct pas, il suffit de donner plus d'infos sur ton problème. Reposter en disant qu'un spécialiste t'a dit que ca n'était pas ca ne va pas nous aider à t'aider mieux.
 
Parce que dire, ca marchait en 1.0.8 et ca marche plus en 1.4 ou en 1.3.1 et j'ai pleins de depreacted ... N'importe qui de censé te dira de d'abord résoudre ces deprecated et d'avoir un code à jour avant de chercher tout autre chose ...
 


---------------
Just because you feel good does not make you right
n°250520
korben
Posté le 21-11-2002 à 12:09:01  profilanswer
 

OK. On se comprend mal. J'apprécie sérieusement bcp votre aide (voir qq post plus haut). Je comprends votre volonté d'avoir un code propre. Ce que je ne comprends pas, c'est que selon la définition et les différents avis que j'ai demandé, une méthode deprecate est censée toujours fonctionner mais va bientot etre abandonnée (dans une version SDK future). D'où ma question, pourquoi pensez vous que je doive absolument m'occuper des qq deprecate qu'il reste et pas chercher ailleurs l'erreur?
 
Parce ce que je dois corriger n'est pas très simple ni rapide. Supprimer tout les .stop() et .resume() sur des threads... de même que la conversion de handleevent(event) qui change son type de retour...
 
Merci et désolé si l'on s'est mal compris...

n°250522
darklord
You're welcome
Posté le 21-11-2002 à 12:13:33  profilanswer
 

c'est toi qui m'as mal compris. Ce que je voulais dire c'est que je suis d'accord avec toi sur le fond. Mais pas sur la forme.
 
En d'autres termes, je ne peux strictement pas t'aider avec ce que tu nous donnes comme info. Parce que je n'ai pas le code, parce que je ne sais pas ce qu'il fait et parce que je ne vois pas le genre d'erreurs qui est généré.
 
Donc la seule chose que je peux te dire c'est de mettre ton code à jour. Chose qui est loin d'etre stupide d'ailleurs puisque ca résulte de bug et dérappage de la JVM dans certains cas (si elles sont déconseillées c'est pas pour rien non plus).
 
Donc oui en théorie ca devrait toujours plus ou moins fonctionner mais avec les détails que j'ai, je me refuse à me creuser la tête tant que ton code n'est pas à jour ou tant que je n'ai pas une info qui me permette de savoir ce qui va pas ...


---------------
Just because you feel good does not make you right
n°250523
--greg--
Posté le 21-11-2002 à 12:14:33  profilanswer
 

:non: ne pas dire à darklord qu'il n'est pas un specialiste java, ça le blesse :o
 
 
:D
 
 
non, sinon, les deprecated, je me repete, des fois c'est des "trucs"  dont le comportement n'est plus garanti (genre les thread.stop) donc ça aidera pê à trouver ton problème...
y'a pas de solution magique non plus hein, surtout qu'on connait pas ton appli...  
et pis faut écouter les conseils de son gentil compilateur :D c'est comme si tu voulais absolument améliorer une appli qui utilise une API dont une classe ne compile pas :o


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°250526
darklord
You're welcome
Posté le 21-11-2002 à 12:16:57  profilanswer
 

--greg-- a écrit a écrit :

:non: ne pas dire à darklord qu'il n'est pas un specialiste java, ça le blesse :o




 
:o


---------------
Just because you feel good does not make you right
n°250528
korben
Posté le 21-11-2002 à 12:18:37  profilanswer
 

Ok. Vous avez de bons conseils pour ne plus utiliser .stop et .resume() ?
Merci. Qqch de simple...

n°250535
--greg--
Posté le 21-11-2002 à 12:26:46  profilanswer
 

Ha, les threads, c'est pas à moi qu'il faut demander :o
 
;)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°250538
korben
Posté le 21-11-2002 à 12:28:46  profilanswer
 

:D Pfff... j'en ai marre de ce code de merde...
Je pige vraiment pas pourquoi cela ne marche pas...
A+

mood
Publicité
Posté le 21-11-2002 à 12:28:46  profilanswer
 

n°250539
darklord
You're welcome
Posté le 21-11-2002 à 12:29:23  profilanswer
 

--greg-- a écrit a écrit :

Ha, les threads, c'est pas à moi qu'il faut demander :o
 
;)




 
[:cupra]


---------------
Just because you feel good does not make you right
n°250544
HappyHarry
Posté le 21-11-2002 à 13:01:21  profilanswer
 

korben a écrit a écrit :

Ok. Vous avez de bons conseils pour ne plus utiliser .stop et .resume() ?
Merci. Qqch de simple...
 




 
plutot que stop() tu crées une méthode style pleaseStop() qui va arreter proprement le thread en sortant de la boucle principale par exemple

n°250547
darklord
You're welcome
Posté le 21-11-2002 à 13:03:58  profilanswer
 

HappyHarry a écrit a écrit :

 
 
plutot que stop() tu crées une méthode style pleaseStop() qui va arreter proprement le thread en sortant de la boucle principale par exemple




 
ouais moi je l'appelle kill() ... :D
 
Edit: en parlant de ca, Heintz Kabutz a fait une super newsletter sur le sujet
 
http://www.javaspecialists.co.za/archive/Issue056.html


Message édité par darklord le 21-11-2002 à 13:06:28

---------------
Just because you feel good does not make you right
n°250548
HappyHarry
Posté le 21-11-2002 à 13:04:36  profilanswer
 

DarkLord a écrit a écrit :

 
 
ouais moi je l'appelle kill() ... :D




 
bourrin va :o

n°250569
korben
Posté le 21-11-2002 à 13:41:28  profilanswer
 

HappyHarry a écrit a écrit :

 
 
plutot que stop() tu crées une méthode style pleaseStop() qui va arreter proprement le thread en sortant de la boucle principale par exemple




Et elle fait quoi ta méthode? parce que là, tu ne réponds pas à la question. Juste un truc général.
Merci

n°250577
darklord
You're welcome
Posté le 21-11-2002 à 13:49:37  profilanswer
 

korben a écrit a écrit :

 
Et elle fait quoi ta méthode? parce que là, tu ne réponds pas à la question. Juste un truc général.
Merci




 
bin si il répond à la question ... Qu'est ce que tu veux de plus. Si tu sors de ta méthode run, ta thread s'arrete. Donc tu fais une méthode pleaseStop() qui a pour but d'arreter la boucle ou je ne sais quoi qu'il y a dans la méthode run ....


Message édité par darklord le 21-11-2002 à 14:29:50

---------------
Just because you feel good does not make you right
n°250580
HappyHarry
Posté le 21-11-2002 à 13:56:04  profilanswer
 

korben a écrit a écrit :

 
Et elle fait quoi ta méthode? parce que là, tu ne réponds pas à la question. Juste un truc général.
Merci




 
tu portes mal ton nick toi, t loin d'etre un sauveur [:ddr555]

n°250620
benou
Posté le 21-11-2002 à 14:33:17  profilanswer
 

dans ton run, tu dois avoir un while(true) ou un truc dans le genre. tu le remplace par while(! toStop), tu déclare toStop comme boolean initialisé à false et tu code la méthode public void pleaseStop() { toStrop = true; }

n°250622
HappyHarry
Posté le 21-11-2002 à 14:34:19  profilanswer
 

benou a écrit a écrit :

dans ton run, tu dois avoir un while(true) ou un truc dans le genre. tu le remplace par while(! toStop), tu déclare toStop comme boolean initialisé à false et tu code la méthode public void pleaseStop() { toStrop = true; }




 
 :ouch:  
 
oué ben si faut meme expliquer comment arreter une boucle on n'en sort plus hein

n°250628
darklord
You're welcome
Posté le 21-11-2002 à 14:37:57  profilanswer
 

c pas vraiment juste en plus. Et je signale que j'ai donné un article de Heintz Kabutz qui donne une super méthode pour arreter une thread proprement avec du code. Alors si tu es trop fainéant pour cliquer, on peut pas grand chose pour toi hein :o


---------------
Just because you feel good does not make you right
n°250630
benou
Posté le 21-11-2002 à 14:39:22  profilanswer
 

DarkLord a écrit a écrit :

c pas vraiment juste en plus.



 [:benou] qu'est ce qu'il a de faux mon code ?

n°250634
korben
Posté le 21-11-2002 à 14:42:59  profilanswer
 

C'est bon, j'ai pigé. Merci. je pensais que tu disais cela de manière générale et en fait, c'était déjà la solution. Merci
 
Sinon, comment expliquez vous que le code suivant marchait avant mais plus avec la dernière version de SDK?
 
import java.awt.event.*;
import java.util.Date;
public class ActionArrows implements java.awt.event.KeyListener, java.awt.event.MouseListener
{
    Perso parent;
    boolean touchePresse=false;
    long startTime = 0;
    Date actualDate;
 
 
    public ActionArrows(Perso parent)
    {
        this.parent = parent;
    }
    public void mouseReleased(MouseEvent e)
    {
    }
    public void mousePressed(MouseEvent event)
    {
code XXXXXX
 
    public void mouseExited(MouseEvent e)
    {
    }
    public void mouseEntered(MouseEvent e)
    {
    }
 
    public synchronized void mouseClicked(MouseEvent event)
    {
    }
    public void keyTyped(KeyEvent e)
    {
    }
    public void keyReleased(KeyEvent e)
    {
        touchePresse=false;
    }
    public void keyPressed(KeyEvent event)
    {
        try
        {
        System.out.println("Yahoo appuye sur une touche" );
 
CODE YYYY
 
            }
            catch(Exception e){System.out.println("Error KEY_PRESSED :" + e);}/**/
        }//end if suspendu
        }
        catch(Exception e){System.out.println("Key problem" );}
    }
}
 
Le code XXX est executé lorsque je clique (=>event intercepté) mais pas les touches.
Désolé de vous emmerdez, mais je suis assez stresse, je dois rendre cela avant la fin de la semaine idéalement...
Merci
A+


Message édité par korben le 21-11-2002 à 14:44:44
n°250637
darklord
You're welcome
Posté le 21-11-2002 à 14:44:50  profilanswer
 

benou a écrit a écrit :

 
 [:benou] qu'est ce qu'il a de faux mon code ?




 
bin il est pas spécialement faux mais il ne s'applique pas à tout les cas c'est tout. Quid si il y a un sleep/wait assez conséquent dans la boucle par exemple ?


---------------
Just because you feel good does not make you right
n°250638
HappyHarry
Posté le 21-11-2002 à 14:45:16  profilanswer
 

DarkLord a écrit a écrit :

 
 
bin il est pas spécialement faux mais il ne s'applique pas à tout les cas c'est tout. Quid si il y a un sleep/wait assez conséquent dans la boucle par exemple ?




 
ben t'attends  [:proy]
 
 
ca laisse le temps de  [:zed pocketsworid]  
 
 
(désolé)


Message édité par HappyHarry le 21-11-2002 à 14:45:41
n°250639
korben
Posté le 21-11-2002 à 14:45:36  profilanswer
 

P.S: C'est pas moi qui ait écrit ce code. Je ne fais que le reprendre et le corriger. Là, j'ai rien touché.

n°250640
darklord
You're welcome
Posté le 21-11-2002 à 14:47:01  profilanswer
 

mais tu le fais exprès de montrer tout dans ton code sauf ce qui est intéressant ... a savoir l'enregistrement du listener ...
 
sinon,
 
http://java.sun.com/docs/books/tut [...] tener.html


---------------
Just because you feel good does not make you right
n°250641
korben
Posté le 21-11-2002 à 14:47:34  profilanswer
 

typiquement, pour etre précis:
System.out.println("Yahoo appuye sur une touche" ); n'est jamais executé. On ne rentre donc jamais dans keypressed et je vois vraiment pas pourquoi, sachant que cela marchait avant et que cela marche avec la souris.

n°250642
benou
Posté le 21-11-2002 à 14:48:31  profilanswer
 

DarkLord a écrit a écrit :

 
bin il est pas spécialement faux mais il ne s'applique pas à tout les cas c'est tout. Quid si il y a un sleep/wait assez conséquent dans la boucle par exemple ?




ben quand y a pas de sleep mais un yield, c'est sa solution qui sux !  :kaola:

n°250645
darklord
You're welcome
Posté le 21-11-2002 à 14:50:10  profilanswer
 

korben a écrit a écrit :

typiquement, pour etre précis:
System.out.println("Yahoo appuye sur une touche" ); n'est jamais executé. On ne rentre donc jamais dans keypressed et je vois vraiment pas pourquoi, sachant que cela marchait avant et que cela marche avec la souris.




 
mais tu le fais exprès ou quoi? Tu ne te rends pas compte que ce n'est pas intéressant de nous monter cette partie du code ... Que la méthode keyPressed ne soit jamais exécutée nous suffit mais si tu ne nous montre pas comment tu enregistres ton objet et compagnie et surtout ou tu as la possibilité d'appuyer sur un touche ... montre le code qui ajoute le listener enfin :fou:


---------------
Just because you feel good does not make you right
n°250649
--greg--
Posté le 21-11-2002 à 14:53:55  profilanswer
 

HappyHarry a écrit a écrit :

 
 
ben t'attends  [:proy]
 
 
ca laisse le temps de  [:zed pocketsworid]  
 
 
(désolé)



toi t'es en manque ou je m'y connais pas
(cfr ta blague d'hier :o)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°250651
darklord
You're welcome
Posté le 21-11-2002 à 14:54:19  profilanswer
 

sinon meme avant ca, tu n'as pas touché au code et en 1.0.8 ca fonctionne et pas en 1.4.1 ....
 
Tu es vraiment sur de ca???? (à savoir prendre le meme JAR et executer sur une machine en 1.0.8 et un autre en 1.4 ou 1.3)


---------------
Just because you feel good does not make you right
n°250653
benou
Posté le 21-11-2002 à 14:55:38  profilanswer
 

benou a écrit a écrit :

 
ben quand y a pas de sleep mais un yield, c'est sa solution qui sux !  :kaola:  




ouais en fait, je suis pas sur de ce que je dis ... je vérifie ...

n°250654
korben
Posté le 21-11-2002 à 14:56:29  profilanswer
 

DarkLord a écrit a écrit :

 
 
mais tu le fais exprès ou quoi? Tu ne te rends pas compte que ce n'est pas intéressant de nous monter cette partie du code ... Que la méthode keyPressed ne soit jamais exécutée nous suffit mais si tu ne nous montre pas comment tu enregistres ton objet et compagnie et surtout ou tu as la possibilité d'appuyer sur un touche ... montre le code qui ajoute le listener enfin :fou:




 
Putain c'est taré!
Bon, je m'explique. Le code sur lequel je bosse est assez énorme... et il a été codé il y a 5 ans et ... java il y a 5 ans, dans les écoles/entreprises, c'était pas toujours génial. Alors pour retrouver des méthodes et comprendre le fonctionnement dans le code, c'est pas génial...
Mais darklord, tu as, une fois de plus totalement raison. La première chose à faire aurait été de vérifier que tout les actionlistener ont bien été installé correctement. Et ce n'était pas le cas. Mais ce que je ne pige pas, c'est pourquoi cela marchait avant? Parce quel là, je vais devoir réécrire tout le code si cela continue... putain!
MERCI


Message édité par korben le 21-11-2002 à 14:58:48
n°250655
korben
Posté le 21-11-2002 à 14:58:02  profilanswer
 

benou a écrit a écrit :

 
ouais en fait, je suis pas sur de ce que je dis ... je vérifie ...




euh... tu sors cela d'ou qu'il n'y a pas de sleep mais un yield()????

n°250657
darklord
You're welcome
Posté le 21-11-2002 à 14:59:44  profilanswer
 

korben a écrit a écrit :

 
 
Putain c'est taré!
Bon, je m'explique. Le code sur lequel je bosse est assez énorme... et il a été codé il y a 5 ans et ... java il y a 5 ans, dans les écoles/entreprises, c'était pas toujours génial. Alors pour retrouver des méthodes et comprendre le fonctionnement dans le code, c'est pas génial...
Mais darklord, tu as, une fois de plus totalement raison. La première chose à faire aurait été de vérifier que tout les actionlistener ont bien été installé correctement. Et ce n'était pas le cas. Mais ce que je ne pige pas, c'est pourquoi cela marchait avant? Parce quel là, je suis en train de réécrire tout le code si cela continue... putain!
MERCI




 
Bon déjà première chose ... Ne viens pas nous embrouiller avec ton code qui marche en 1.0.8 et qui ne marche plus en 1.4!! A partir du moment ou tu modifies un fichier, ca peut générer des effets de bord dans tout les sens. Donc nous on peut pas t'aider si tu nous expliques pas tout ...
 
Là il me semble que t'as voulu un peu trop faire le ménage dans les deprecated et que tu as merdé, voilà tout ... Donc je ne vois pas le problème 1.0.8 -> 1.4: reprends le code d'origine que tu as gardé bien sur et fait le tourner sur 1.0.8. Une fois que c'est bon, installe le JAR sur une machine qui a 1.4 et vérifie si c'est toujours bon.  
 
Je ne vois pas ce que je pourrais faire de plus ...


---------------
Just because you feel good does not make you right
n°250658
benou
Posté le 21-11-2002 à 15:02:00  profilanswer
 

benou a écrit a écrit :

 
ouais en fait, je suis pas sur de ce que je dis ... je vérifie ...




c'est bien ce que je croyais !
 

Code :
  1. package test;
  2. public class TestThread extends Thread {
  3.    public void run() {
  4.       while (true) {
  5.          for (int i = 0; i < 80; i++){
  6.             System.out.print("." );
  7.          }
  8.          System.out.println();
  9.          Thread.yield();
  10.       }
  11.    }
  12.    public static void main (String[] args) throws Exception {
  13.       Thread t = new TestThread();
  14.       t.start();
  15.       Thread.sleep(500);
  16.       t.interrupt();
  17.       System.out.println("interrupted !" );     
  18.     }
  19. }


Ca ca s'arrête jamais !
et pourtant, interrupt est bien appelé !


Message édité par benou le 21-11-2002 à 15:16:30
n°250660
benou
Posté le 21-11-2002 à 15:02:44  profilanswer
 

korben a écrit a écrit :

 
euh... tu sors cela d'ou qu'il n'y a pas de sleep mais un yield()????




je parle en général, pas de ton cas. Je commente ca : http://www.javaspecialists.co.za/archive/Issue056.html

n°250663
korben
Posté le 21-11-2002 à 15:05:20  profilanswer
 

Chronologie des évenements:
 
- j'ai fait tourné la version de base avec l'environnement de base (visual café, SDK 1.0.8)
- j'ai corrigé les bugs (venant de l'utilisation d'un nouvelle OS).
- je suis sorti de Visual Café, utilisé 1.4.1 (aucune modif. de fichier). J'ai vu qu'il y a avait des erreurs sur les events (touches).
 
- j'ai enlevé des deprecates
- je viens de rajouter une ligne:  
  myCanvas.addKeyListener(perso.xxxx)
 
donc, le problème ne vient pas de mes changements. Pour une raison que j'ignore, ce code tournant sans addkeylistener dans la version sdk 1.0.8. D'ou ma question...
 
Mais je le rappelle: Le code est mal foutu et merdique à lire...

n°250675
--greg--
Posté le 21-11-2002 à 15:19:57  profilanswer
 

mais je le rappelle, tu as "corrigé des bugs" :o


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°250677
korben
Posté le 21-11-2002 à 15:21:57  profilanswer
 

Rien touché à cela et une fois les bugs corrigés, cela tournait! (C'est le but). C'est juste au passage à 1.4 que j'ai eu de nouveau de la merde...

n°250678
darklord
You're welcome
Posté le 21-11-2002 à 15:22:12  profilanswer
 

--greg-- a écrit a écrit :

mais je le rappelle, tu as "corrigé des bugs" :o




 
et vu ton état d'esprit tu en as probablement ajouté ... Donc j'en reviens à ce que je t'ai dit au début. Avec ce que tu nous as dit on ne pouvait que te conseiller l'histoire des deprecated ... Si tu nous avais dit que tu avait toucher au code on aurait eu un avis tout à fait différent ...


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3

Aller à :
Ajouter une réponse
 

Sujets relatifs
utilisation d un formulaire avec interaction d une base odb[HELP] afficher infos sur un autre PC ( via port serie )
Adressage Port SérieAccès à Access avec PHP
Accèder au port Com (RS232) sous Win2000Probléme d'accés en écriture a une base de donnée sous Win Xp
Accès port série avec Java 
Plus de sujets relatifs à : Utilisation de javax.comm (accès au port série, //, ...) + DEPRECATE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR