DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions de gestion des fenêtres
  • Paramètres passés à la fenêtre à ouvrir
  • Mode d'ouverture de la fenêtre
  • Limitations
  • Fermeture d'une fenêtre
  • Titre de la fenêtre à ouvrir
  • Application en arrière-plan : Spécificité à partir de Android 10
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
Ouvre une fenêtre dans une application mobile.
Remarques :
  • Cette fonction remplace la fonction OuvreFille utilisée pour ouvrir des fenêtres dans une application mobile. Dans cette page de documentation, seul l'aspect mobile est détaillé. Pour plus de détails, consultez OuvreFille.
  • La fonction OuvreFenêtreMobile est disponible dans tous les produits pour permettre l'écriture d'un code multi-produits. Des fonctions ou procédures utilisant la fonction OuvreFenêtreMobile peuvent être partagées entre plusieurs produits, sans que des erreurs de compilation soient générées.
WEBDEV - Code ServeurWindowsLinux Cette fonction est disponible uniquement pour simplifier la Webisation de projets WINDEV/WINDEV Mobile. Dans un site WEBDEV, cette fonction se comporte comme la fonction PageAffiche.
Exemple
OuvreFenêtreMobile(FEN_CommandeEdition, gnIDCommande)
Syntaxe
OuvreFenêtreMobile(<Fenêtre> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Fenêtre> : Nom de fenêtre
  • Nom de la fenêtre mobile à ouvrir.
  • Nom et chemin complet de la fenêtre (fichier ".WDW") à ouvrir.
    Android Il n'est pas possible d'indiquer le nom complet du fichier à ouvrir (fichier ".WDW").
<Paramètre 1> : Type de la valeur envoyée à la fenêtre (optionnel)
Premier paramètre à passer à l'événement "Déclarations globales" de la fenêtre à ouvrir. Ce paramètre est passé par valeur et il est considéré comme une variable globale à la fenêtre.
Ce paramètre ne peut pas correspondre à une variable de type tableau (les tableaux peuvent uniquement être passés par référence).
<Paramètre N> : Type de la valeur envoyée à la fenêtre (optionnel)
Nième paramètre à passer à l'événement "Déclarations globales" de la fenêtre à ouvrir. Ce paramètre est passé par valeur et il est considéré comme une variable globale à la fenêtre.
Ce paramètre ne peut pas correspondre à une variable de type tableau (les tableaux peuvent uniquement être passés par référence).
Remarques

Paramètres passés à la fenêtre à ouvrir

Les paramètres sont récupérés dans l'événement "Déclarations globales" associé à la fenêtre. La première ligne de code de cet événement doit correspondre à la ligne suivante :
PROCEDURE <Fenêtre> (<Paramètre 1> [, ... [, <Paramètre N>]])
où :
  • <Fenêtre > correspond au nom de la fenêtre.
  • <Paramètre N> correspond aux paramètres attendus. Attention : Ces paramètres sont passés par valeur et non par référence.
Pour plus de détails, consultez Fenêtre paramétrée.

Mode d'ouverture de la fenêtre

L'ouverture de la fenêtre est non modale :
  • la fenêtre ouverte devient la fenêtre en cours.
  • après l'ouverture de la fenêtre, les traitements suivants l'appel de la fonction OuvreFenêtreMobile dans la fenêtre mère sont exécutés.
  • l'utilisateur pourra cliquer dans l'une des fenêtres parentes de la fenêtre ouverte.
    AndroidiPhone/iPad Les champs des fenêtres parentes ne sont pas accessibles par l'utilisateur tant qu'une fenêtre fille est ouverte.

Limitations

  • La fonction OuvreFenêtreMobile ne doit pas être appelée dans l'événement "Initialisation" associé au projet.
  • Universal Windows 10 App La fonction OuvreFenêtreMobile ne doit pas être appelée dans l'événement "Fermeture" d'une fenêtre fille.

Fermeture d'une fenêtre

Une fenêtre ouverte avec la fonction OuvreFenêtreMobile peut être fermée avec la fonction Ferme (sans paramètre) à partir de n'importe quel événement de la fenêtre ou d'un champ de la fenêtre.

Titre de la fenêtre à ouvrir

Par défaut, le titre de la fenêtre est celui défini sous l'éditeur (dans l'onglet "Général" de la fenêtre de description).
Pour modifier le titre de la fenêtre, utilisez les fonctions TitreSuivant ou TitreEnCours.
Android

Application en arrière-plan : Spécificité à partir de Android 10

A partir de Android 10, il n'est plus possible d'ouvrir une fenêtre lorsque l'application est en arrière-plan.
La fonction OuvreFenêtreMobile peut provoquer l'ouverture d'une fenêtre. Si cette fonction est utilisée alors que l'application est en arrière-plan, une erreur fatale sera générée.
Conseils :
  • Il est possible de savoir si l'application est en arrière-plan grâce à la fonction EnModeArrièrePlan.
  • Si une application a besoin d'interagir avec l'utilisateur alors qu'elle se trouve en arrière-plan, la solution consiste à afficher une notification (via le type Notification). Lors du clic sur la notification, l'application sera remise au premier plan si la propriété ActiveApplication est à Vrai. Il est également possible d'ouvrir une fenêtre depuis la procédure passée à la propriété ActionClic.
Classification Métier / UI : Code UI
Composante : wd290obj.dll
Version minimum requise
  • Version 19
Documentation également disponible pour…
Commentaires
OuvreFenêtreMobile() dans l'évènement de Fermeture d'une fenêtre fille
Attention si vous appelez cette fonction dans le code de fermeture d'une fenêtre fille sous iOS votre application plantera sans rien afficher.

Problème uniquement présent sous iOS, sous Android fonctionne parfaitement.
Nathan RENAULT
03 jan. 2023
Fermeture intempestive de la fenêtre
Bonjour,

A l'appel de la fonction, si la fenêtre s'ouvre puis l'application se ferme aussitôt, vous devez modifier un réglage sur l'appareil.

- Menu paramètres
- Options pour les développeurs
- Désactiver le "Ne pas conserver activités"

J'ai rencontré le problème avec une tablette avec Android 6.0
La fenêtre ouverte avec la fonction était vierge et ne comportait aucun code susceptible de faire planter l'application. La tablette était en débogage USB activé.
Karl RETIERE
16 juil. 2018

Dernière modification : 25/05/2022

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