Italian [B4J]Comportamento anomalo...

Discussion in 'Italian Forum' started by stefanoxjx, Feb 10, 2015.

  1. stefanoxjx

    stefanoxjx Active Member Licensed User

    Ciao a tutti, ho dei comportamenti anomali con un programma scritto in B4J e volevo capire se voi avete una qualche idea su quali possano essere i motivi.
    Anomialia N. 1:
    Questo è il programma in esecuzione tramite B4J:
    upload_2015-2-10_15-50-13.png
    e questo è il programma in esecuzione direttamente dal pacchetto JAR (notare i numeri che non appaiono):
    upload_2015-2-10_15-51-6.png
    Anomalia N. 2:
    Il programma se fatto girare tramite B4J funziona perfettamente e senza dare nessuna segnalazione di errore, mentre se fatto girare in runtime, a circa 3/4 dell'operazione che dovrebbe fare si blocca.

    Ovviamente tutto questo sempre sullo stesso PC (con windows 7), ma ho fatto delle prove anche su altri 2 PC (uno con windows XP e uno con Linux) e i problemi sono gli stessi.

    Avete qualche idea sulle possibili cause?
    Grazie.
    Ciao.
     
  2. maxware

    maxware Well-Known Member Licensed User

    Ciao Stefano
    sicuro che nella path hai la cartella corretta di java
    se lo esegui da b4j usa la java presente in path
    ma puo' essere che eseguindola esternamente usi la version java installata
    Mamo

    ..... ricontrollando pero il javac.exe e' unico quindi non penso
     
    Last edited: Feb 10, 2015
    stefanoxjx likes this.
  3. stefanoxjx

    stefanoxjx Active Member Licensed User

    Ciao Max e grazie della risposta.
    Effettivamente hai ragione, su B4J ho impostato come percorso per java: C:\Program Files\Java\jdk1.7.0_71\bin\javac.exe
    e invece quando vado ad eseguire il jar si va a prendere la versione 1.8.0.31.
    Ho visto che si va a prendere comunque la versione 1.8.0.31 anche se ho modificato il path in modo che punti alla cartella jdk1.7.0_71...
    Per ovviare a questo problema ho creato un file batch che lancia java dalla cartella corretta.
    E' il modo giusto per risolvere o ci sono strade migliori?
    Non ho ancora provato a vedere se funziona al 100% perchè al momento sono impossibilitato, domani faccio comunque una prova.
     
  4. udg

    udg Expert Licensed User

    Ciao,
    guarda tra le variabili d'ambiente. Potrebbe esserci una JAVA_HOME che punta alla versione 1.8 e magari questa prevale sulle altre impostazioni.
     
    stefanoxjx likes this.
  5. stefanoxjx

    stefanoxjx Active Member Licensed User

    Gia' fatto e anche modificato il percorso.
    Sulle variabili d'ambiente c'era un path che portava ad una cartella javapath dove c'erano dei link simbolici che puntavano a java.exe javaw.exe ecc. della versione 1.8.
    Ho modificato il path sulle variabili d'ambiente, ma continuava a lanciare la versione 1.8 di java.
    Allora ho rifatto i link simbolici in modo che puntassero alla versione di java che voglio io, ma niente.
    Non so dove si vada a trovare i percorsi della versione 1.8 ma continua a lanciare quella versione.
    L'unico modo che ho trovato finora per risolvere è quello del file batch, però tutto questo sul pc dove ho sviluppato il programma.
    Come risolvo sugli altri PC dove c'è solo l'ultima versione installata?
     
  6. udg

    udg Expert Licensed User

    Rileggendo il thread direi che il problema principale sia sempre il fatto che con due versioni diverse di java ottieni risultati diversi. E siccome non puoi sapere in anticipo quale versione sarà presente sui vari PC (o se ci saranno più versioni) il guaio è grosso (a meno di non obbligare tutti gli utenti a caricare una specifica versione di java)
    Possibile che la versione di JavaFX Builder abbia a che fare con il problema?
    Personalmente ho utilizzato B4J solo come back-end silenzioso, senza UI, quindi non saprei se allineando tutto l'ambiente di sviluppo (Java, B4J e JavaFX) alle ultime versioni possa aiutare o meno; non vorrei che il problema possa nascere dal mix di versioni più o meno aggiornate (e dovuto ovviamente a cattiva o incompleta compatibilità con versioni precedenti).
    Se mi dovesse venire in mente altro, ti farò sapere.
     
    Last edited: Feb 11, 2015
  7. stefanoxjx

    stefanoxjx Active Member Licensed User

    Una volta, parlando con un ragazzo che fa informatica all'università, mi diceva che java ha proprio il problema che basta un cambio di versione per vedersi il software non girare più.
    Li per li non gli ho dato peso, ma solo perchè non era mia intenzione sviluppare in java.
    Purtroppo, come si dice, tutti i nodi arrivano al pettine :(
    Provo a chiedere anche a Erel, vediamo se mi può aiutare.
     
  8. magoandroid

    magoandroid Member Licensed User

    Buongiorno a tutti.

    @stefanoxjx, è in parte vero quello che ti è stato riferito.
    Tempo fa, mi sono trovato con una applicazione scritta in B4J (jdk1.7.0_51), che su alcuni PC aziendali non funzionava, perchè presente una ver. 1.6.
    Questa vecchia versione non poteva/doveva essere aggiornata, perchè alcuni importanti programmi in uso avrebbero smesso di funzionare.
    Usa soluzione l'ho trovata utilizzando Launch4j (Cross-platform Java executable wrapper).

    Un cordiale saluto.
    MAgo
     
  9. stefanoxjx

    stefanoxjx Active Member Licensed User

    Ciao magoandroid, il problema che hai avuto è abbastanza comprensibile visto che il programma era stato compilato con la versione 1.7 e sui PC c'era una versione meno recente.
    Il mio problema invece è che non funziona con versioni diverse da quella con cui è stato compilato.
    Erel dice che B4J è compatibile anche con Java 8, mi riservo di fare ulteriori verifiche, ma a me non risulta :(
    Launch4j di cui parli è stata discussa direttamente anche da Erel (http://www.b4x.com/android/forum/threads/create-windows-native-executables-exe-files.35863/) e infatti dovevo trovare il tempo di guardarmi anche quella.
    Sarebbe interessante se il file exe inglobasse anche la versione di java voluta in modo da eseguire il programma sempre e solo con quella versione.
    Probabilmente lo fa, ma devo ancora adare a vedere.
     
  10. maxware

    maxware Well-Known Member Licensed User

    Ciao Stefano
    ci sono novita' ? ho dei problemi simili alla tua Anomalia al punto 2
     
  11. stefanoxjx

    stefanoxjx Active Member Licensed User

    Ciao Max,
    l'unica novità è che ho risolto installando la versione 7 di java nei pc dove deve girare questo programma, ed ho inpachettato il tutto con Launch4J dando i limiti di versione utilizzabili.
    Erel insiste a dire che java 7 è compatibile con java 8 anche se da vari test e debug effettuati a me non risulta proprio.
    Tra l'altro, un errore sul codice ci può stare, anche se non è questo il caso, ma la non compatibilità si vede già da subito dall'interfaccia grafica dove di codice mio non ce ne ma fa tutto il designer.
     
  12. maxware

    maxware Well-Known Member Licensed User

    pensa se uso alfadeskpc dall'ambiante di sviluppo tutto ok
    se lo eseguo da fuori in alcune funzioni crash
    quindi vedo di rimuovere java 8 e poi ti faccio sapere
    strana sta cosa....
     
  13. maxware

    maxware Well-Known Member Licensed User

    confermo disinstallato java8 update va come un treno
     
  14. stefanoxjx

    stefanoxjx Active Member Licensed User

    Magari scrivilo anche a Erel così capisce che forse non c'è tutta questa compatibilità tra java 7 e 8.
     
  15. maxware

    maxware Well-Known Member Licensed User

    appena rientro lo faccio...e magari gli dico che puo' fare le prove con alfadeskpc
     
  16. maxware

    maxware Well-Known Member Licensed User

    fatto
    scritto anche che se ha bisogno gli mando i sorgenti di alfadeskpc
     
  17. maxware

    maxware Well-Known Member Licensed User

    impostando il Lounch in questo modo sembra funzionare

    upload_2015-2-23_9-57-3.png
     
  18. stefanoxjx

    stefanoxjx Active Member Licensed User

    Si, ho risolto anch'io allo stesso modo.
    Ovviamente nel pc dovrà esserci installata anche la versione 7 di java, altrimenti dirà solo che non trova la versione.
     
  19. maxware

    maxware Well-Known Member Licensed User

    post creato sul forum b4j
    link
     
  20. stefanoxjx

    stefanoxjx Active Member Licensed User

    Bene, ho accodato anche il mio post, così forse Erel prenderà più in considerazione la cosa.
    Ho visto che hai scritto in Italiano; ma ti rispondono lo stesso anche se in italiano con traduzione in inglese fatta con google?
    Io ho sempre scritto tutto in inglese (sicuramente con molti strafalcioni) perchè immaginavo che altrimenti non sarebbero mai arrivate risposte.
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice