DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion de Windows / Fonctions Java
  • Appel de la fonction JavaCharge
  • Erreur
  • Paramètres à passer à la fonction Java
  • Note
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
JavaExécuteFonction (Fonction)
En anglais : JavaExecuteFunction
Lance une fonction statique spécifique d'une classe Java donnée.
Attention :
  • Le chemin de la classe à exécuter doit être spécifié avec la fonction JavaCharge.
  • La classe Java lancée doit implémenter la méthode "static public <Type de retour> <NomFonction>".
Exemple
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindowsJavaAjax
// Chemins dans lesquels les classes vont être recherchées
// Note : Indiquez les noms de dossiers/répertoires et les noms de .jar ou de .zip
// (et non seulement le nom des .class)
sCheminClassJava est une chaîne = fRepExe()
SI JavaCharge(sCheminClassJava) ALORS
// Classe Java à utiliser
// Note : Si la classe est dans un sous-dossier du .Jar,
// il faut préciser le dossier. Par exemple : "singlejar/Application"
sClasseJava est une chaîne = "Application"
// Fonction de la classe
sFonctionJava est une chaîne = "somme"
Res est un réel
Res = JavaExécuteFonction(sClasseJava, sFonctionJava, javaRéelDouble, 1.55, 2.35)
Info(Res)
SINON
Erreur("Emplacements Java incorrects", ErreurInfo())
FIN
// Code JAVA
import java.awt.*;
import java.awt.event.*;

public class Application {
   public static double somme (double a, double b) {
       return a + b;
Syntaxe
JavaExécuteFonction(<Nom de la classe> , <Nom de la fonction> , <Type de retour> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Nom de la classe> : Chaîne de caractères
Nom de la classe contenant la fonction à exécuter. Ce paramètre est sensible à la casse : il doit correspondre exactement au nom indiqué dans la classe. Si la classe est contenue dans un ou des packages, il faut spécifier le chemin complet de cette classe avec le caractère "/" comme séparateur. Exemple : "MonPackage/MonSousPackage/MaClasse".
<Nom de la fonction> : Chaîne de caractères
Nom de la fonction Java à exécuter. Ce paramètre est sensible à la casse : il doit correspondre exactement au nom indiqué dans la classe.
<Type de retour> : Constante de type Entier
Type de retour de la fonction Java parmi les valeurs suivantes :
javaBooléenValeur de retour de type Booléen.
javaCaractèreValeur de retour de type Caractère.
javaChaîneValeur de retour de type Chaîne.
javaChaîneUnicodeValeur de retour de type Chaîne Unicode.
javaChaîneUTF8Valeur de retour de type Chaîne au format UTF8.
javaEntierValeur de retour de type Entier.
javaEntierCourtValeur de retour de type Entier court.
javaEntierLongValeur de retour de type Entier long.
javaOctetValeur de retour de type Octet.
javaRéelValeur de retour de type Réel.
javaRéelDoubleValeur de retour de type Réel Double.
javaVoidValeur de retour de type Void.
<Paramètre 1> : Type correspondant à chaque paramètre
Paramètres attendus par la fonction Java. Ces paramètres doivent être du même type que les paramètres attendus par la fonction Java. Seuls les types simples sont utilisables (voir Remarques).
<Paramètre N> : Type correspondant à chaque paramètre
Paramètres attendus par la fonction Java. Ces paramètres doivent être du même type que les paramètres attendus par la fonction Java. Seuls les types simples sont utilisables (voir Remarques).
Remarques

Appel de la fonction JavaCharge

  • Un seul appel à la fonction JavaCharge doit être effectué dans une application WINDEV ou un site WEBDEV.
    Java La fonction JavaCharge peut être appelée autant de fois que nécessaire.
  • Il est nécessaire d'utiliser une version 1.1, 1.2 (ou sous version), 1.3 (ou sous version), 1.4 ou 1.5 ou 6 de la machine virtuelle Java de SUN.

Erreur

  • Si une erreur intervient lors de l'exécution de la classe spécifiée, le message d'erreur correspondant apparaît dans une boîte de message et l'application WINDEV (ou le site WEBDEV) est arrêtée.
  • Causes possibles de problèmes (par exemple classe non trouvée) :
    • mauvaise syntaxe dans le nom de la classe (mauvaise casse utilisée, classe contenue dans un package et chemin complet non indiqué, ...)
    • classe compilée avec une certaine version de la machine virtuelle Java de SUN et exécutée avec un JRE de version inférieure, ...

Paramètres à passer à la fonction Java

Seuls les types "simples" sont utilisables : entier, réel, chaîne, booléen. L'utilisation d'un autre type WLangage provoque une erreur du WLangage.
Il est donc impossible d'appeler une fonction java ayant des paramètres de type "byte" ou "short". Pour appeler cette fonction Java à l'aide de la fonction JavaExécuteFonction, il est nécessaire de passer les paramètres de type "byte" ou "short" de la fonction Java en type "int".

Note

Le fichier ".class" est le résultat de la compilation d'un ou plusieurs fichiers contenant du code Java. Il ne contient pas le code source de l'application mais un format intermédiaire (le "bytecode") destiné à être interprété par la machine virtuelle Java (la JVM).
Liste des exemples associés :
WD Appels JAVA Exemples didactiques (WINDEV) : WD Appels JAVA
[ + ] WD Appels Java est un projet exemple contenant 2 configurations de projet :
- Une configuration "Application Windows" qui permet de créer l'exécutable de l'application
- Une configuration "Application Java" qui permet de créer l'archive Java (.JAR) de l'application
Cet exemple est livré avec une archive JAR "FonctionJava" externe à l'application.
Il illustre l'appel aux méthodes des classes de cette archive JAR grâce à la fonction WLangage JavaExécuteFonction.
Cet exemple montre également le remplissage d'une table mémoire (identique en mode Java et en mode Windows)
Composante : wd290jav.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale