DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Composant / Composant Externe
  • Présentation
  • Création du composant externe
  • Développer un composant externe
  • Remarque
  • Options avancées du composant externe
  • Définir et modifier les options avancées du composant
  • Droits d'accès du composant sur le projet client
  • Style : Mode de gestion des gabarits sur les éléments du composant.
  • Générer un composant externe
  • Générer un composant externe
  • Générer un composant externe pour Android
  • Générer un composant externe pour iOS
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
Présentation
La création d'un composant externe se fait en plusieurs étapes :
  1. Création du composant externe.
  2. Développement des éléments du composant externe.
  3. Définition des options avancées du composant externe.
  4. Génération du composant externe.
Le composant externe peut alors être distribué et réutilisé. Pour plus de détails, consultez Distribuer un composant externe et Utiliser un composant externe dans une application.
Création du composant externe
La création d'un composant externe peut être effectuée :
  • soit à partir d'un projet existant, via une configuration de type "Composant externe". Cette configuration permet de regrouper les éléments du projet nécessaires au fonctionnement du composant externe.
  • soit à partir d'un projet de type "Composant externe". Ce projet ne contient par défaut qu'une configuration de type "Composant externe".
Pour créer un composant externe à partir d'un projet existant :
  1. Créez une configuration de projet pour le composant externe : sous le volet "Projet", dans le groupe "Configuration de projet", déroulez "Nouvelle configuration" et sélectionnez "Composant externe (.WDK)".
  2. L'assistant de création d'une configuration de projet se lance et demande :
    • le nom et la description de la configuration de projet.
    • les options de compatibilité de la configuration : sélectionnez les différentes plateformes sur lesquelles le composant externe pourra être utilisé.
      Attention : selon les plateformes sélectionnées, il peut être nécessaire d'utiliser une version intégrée de WINDEV, WEBDEV et WINDEV Mobile.
    • les options de compilation : il est possible d'activer ou non les erreurs de compilation pour la compatibilité 64 bits, Linux ou encore les erreurs de compilation relatives aux sessions prélancées. Les erreurs de compilation relatives au sessions prélancées sont uniquement disponibles pour une utilisation dans une configuration de type Site.
    • les éléments à intégrer dans la configuration de projet.
  3. Terminez l'assistant. La description de la configuration de projet de type "Composant externe" est terminée.
  4. Vous pouvez sélectionner la configuration de projet de type "Composant" dans le volet "Explorateur de projet" et développer le composant externe.
Pour créer un composant externe à partir d'un projet de type "Composant" :
  1. Cliquez sur parmi les boutons d'accès rapide. Dans la fenêtre qui s'affiche, cliquez sur "Projet". L'assistant de création de projet s'ouvre.
  2. Choisissez le type de génération du projet : "Composant". Passez à l'étape suivante.
  3. Indiquez :
    • les différentes plateformes sur lesquelles le composant externe pourra être utilisé.
      Attention : selon les plateformes sélectionnées, il peut être nécessaire d'utiliser une version intégrée de WINDEV, WEBDEV et WINDEV Mobile.
    • les options de compilation : il est possible d'activer ou non les erreurs de compilation pour la compatibilité 64 bits, Linux ou encore les erreurs de compilation relatives aux sessions prélancées (cette dernière option étant uniquement disponible lors de la génération pour une utilisation dans configuration de type Site).
  4. Passez à l'étape suivante.
  5. Spécifiez les différentes options du projet :
    • Le nom et l'emplacement. Ces options ne seront pas modifiables. Le projet correspond à un fichier ".WDP" pour WINDEV. Ce fichier pourra être ouvert avec les produits WEBDEV et WINDEV Mobile. Pour plus de détails, consultez Projet Commun.
      Tous les objets associés au projet seront créés dans le répertoire spécifié.
    • La description résumant l'intérêt du projet. Cette description est utilisée dans le dossier du projet.
  6. Passez à l'étape suivante. Les étapes suivantes correspondent aux différentes étapes de la création d'un projet WINDEV, WEBDEV ou WINDEV Mobile.
  7. Le projet est créé. Ce projet contient une seule configuration de projet. Cette configuration de projet est de type "Composant".
Développer un composant externe
Le développement d'un composant externe se fait comme pour un projet classique WINDEV, WEBDEV ou WINDEV Mobile.
Voici quelques points importants à prendre en compte lors du développement des différents éléments du composant externe :
  1. Eléments du composant externe :
    Pensez pour chaque élément de votre projet à spécifier si cet élément est associé à la configuration de projet "Composant".
    1. Dans le volet "Explorateur de projet", sélectionnez l'élément (fenêtre, état, etc.).
    2. Dans le menu contextuel de l'élément (clic droit), sélectionnez l'option "Configurations".
      Dans le menu qui apparaît :
      • les configurations cochées correspondent aux configurations associées à l'élément.
      • les configurations décochées correspondent aux configurations non associées à l'élément.
      • l'option "Toutes" permet d'associer l'élément à toutes les configurations.
      • l'option "Aucune" permet de ne plus associer l'élément à une configuration.
      • l'option "Multiples" permet de choisir les configurations auxquelles l'élément doit être associé.
  2. Développement d'un composant externe iOS ou Android
    Un composant Android ou iOS peut être créé :
    • soit à partir de WINDEV avec WINDEV Mobile intégré,
    • soit à partir de WINDEV Mobile.
    Lors de la création d'une fenêtre, cette fenêtre est nécessairement une fenêtre Windows. Pour créer une fenêtre Android ou iOS, il est nécessaire de :
    • Créer une configuration Android ou iOS.
    • Créer la fenêtre dans cette configuration. Si la fenêtre existe déjà dans le projet, il est nécessaire de vérifier que cette fenêtre est bien associée à une configuration iOS ou Android.
    • Associer la fenêtre à la configuration du composant.
  3. Commentaires du code
    Lors du développement des éléments du composant externe, n'oubliez pas d'insérer des commentaires dans votre code. En effet, ces commentaires constitueront la documentation de votre composant. C'est à partir de ces commentaires que les utilisateurs de vos composants pourront les utiliser. Pour plus de détails, consultez Documentation automatique des composants.
    Si ces commentaires ne sont pas présents dans votre code, les éléments accessibles du composant seront automatiquement documentés en précisant les paramètres attendus en entrée et en sortie de chaque élément.
    Par exemple :
    Description des paramètres d'entrée/sortie de 'Fenêtre1' :
    Paramètres :
    Param1 : < indiquez ici le rôle de Param1 >
    Valeur de retour :
    Aucune
  4. Déclaration des éléments et visibilité
    Selon le mode de déclaration des éléments (classes, procédures, collections de procédures), les éléments seront plus ou moins accessibles par l'utilisateur du composant externe. Pour plus de détails, consultez Visibilité d'un élément d'un composant externe.
    Remarque : Si un composant externe utilise une analyse et des fichiers de données, par défaut, les fonctions HFSQL manipuleront ces éléments dans un contexte HFSQL indépendant. Ce fonctionnement peut être modifié dans les options avancées du composant.
  5. Pour exécuter depuis le composant externe, une procédure du projet accueillant le composant externe, utilisez la fonction ExécuteTraitement avec la constante trtProcédureProjet.

Remarque

Un composant externe peut comporter des classes dans son interface. Il est possible de dériver ces classes dans le projet hôte, de surcharger les méthodes virtuelles, de faire du polymorphisme. L'héritage entre plusieurs niveaux de composants externes est disponible.
Options avancées du composant externe
Les options avancées du composant externe permettent de définir :
  • les droits d'accès du composant sur les éléments de l'application utilisant le composant.
  • le mode de gestion des gabarits sur les éléments du composant.

Définir et modifier les options avancées du composant

Pour modifier les options avancées du composant :
  1. Affichez la fenêtre de description de la configuration de type "Composant" :
    • Si la configuration en cours est celle du composant : sous le volet "Projet", dans le groupe "Configuration de projet", cliquez sur "Configuration courante".
    • Dans le volet "Explorateur de projet", affichez le menu contextuel de la configuration du composant et sélectionnez l'option "Description".
  2. Sélectionnez le composant.
  3. Dans la fenêtre qui s'affiche, dans l'onglet "Général", cliquez sur "Options du composant".

Droits d'accès du composant sur le projet client

Trois possibilités :
  • Le composant n'accèdera pas aux fichiers de données, fenêtres, pages, états, etc. du projet client.
    Le composant et son application hôte utilisent des contextes indépendants (option par défaut). Le composant ne pourra manipuler ni les fichiers de données, ni les éléments du projet hôte.
    Il est également possible de définir le contexte d'exécution du composant dans le projet hôte. Le contexte d'exécution peut être :
    • global. Dans ce cas, le même contexte sera utilisé si le composant externe est chargé par le projet et par un autre composant externe du projet.
    • isolé (par défaut). Dans ce cas, si le même composant est chargé par le projet et par un composant du projet, chaque composant utilisera un contexte spécifique.
    Si cette option est sélectionnée, l'événement "Initialisation" du projet du composant sera appelé lors du chargement du composant par le projet hôte.
  • Le composant va accéder aux fichiers de données du projet client.
    Le composant est autorisé à manipuler uniquement les fichiers de données de l'application hôte. Dans ce cas, les contextes HFSQL seront identiques.
    Si cette option est sélectionnée, l'événement "Initialisation" du projet du composant sera appelé lors du chargement du composant par le projet hôte.
  • Le composant va accéder aux fichiers de données, fenêtres, pages, états, etc. du projet client.
    Le composant est autorisé à manipuler les fichiers de données de l'application hôte ainsi que ses éléments (fenêtres, états, ...). Dans ce cas, les contextes d'exécution seront identiques.
    Si cette option est sélectionnée, l'événement "Initialisation" du projet du composant ne sera pas appelé lors du chargement du composant par le projet hôte.
Quand autoriser le composant à manipuler les fichiers de données de l'application hôte ?
Par exemple, si l'application livrée est constituée d'une application principale et d'options fournies sous forme de composants. Dans ce cas, les composants manipulent les fichiers de données de l'application principale.
Remarque : Si le composant est autorisé à manipuler les fichiers de données et possède sa propre analyse, l'analyse du composant sera ignorée. Le composant utilisera l'analyse du projet hôte.
Dans notre exemple, lors du développement d'un composant, ce composant peut être associé à l'analyse de l'application principale. Ainsi, l'utilisation des déclarations externes pour manipuler les fichiers de données est inutile. De plus, la complétion sera automatique sous l'éditeur de code.
Pour plus de détails sur les contextes HFSQL, consultez Contexte HFSQL.

Style : Mode de gestion des gabarits sur les éléments du composant.

Par défaut, il est possible d'appliquer le gabarit du projet hôte sur les différents éléments du composant externe. Pour plus de détails sur les gabarits, consultez Gabarits.
Remarques :
  • L'onglet "Style" des options avancées du composant externe permet d'autoriser ou non l'application du gabarit par le projet client.
  • Pour ne pas appliquer le gabarit du projet client sur une fenêtre du composant externe :
    1. Affichez la fenêtre de description de la fenêtre du composant.
    2. Dans l'onglet "Style", dans la zone "Gabarits", cochez l'option "Toujours conserver le style/gabarit d'origine".
    3. Validez.
Générer un composant externe
Un composant externe ne peut être distribué et réutilisé que s'il a été généré. La génération du composant externe permet de créer les fichiers nécessaires à la distribution du composant externe. Cette génération peut être effectuée à tout moment depuis la configuration de projet du composant :
  • sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer".
  • dans les boutons d'accès rapide, cliquez sur l'icône de génération du composant : Générer un composant
Remarque : Si le composant externe a été modifié, il est nécessaire de le re-générer avant de le distribuer à nouveau. Pour plus de détails, consultez Modifier un composant externe.

Générer un composant externe

Pour générer un composant externe :
  1. Affichez la configuration de projet du composant à générer, puis sous le volet "Projet", dans le groupe "Génération", cliquez sur "Générer".
  2. L'assistant de génération du composant externe se lance.
  3. Si nécessaire, cochez l'option "Recompiler le projet avant la génération du composant". Passez à l'étape suivante.
  4. Pour chaque élément du composant externe, indiquez si cet élément doit être accessible depuis le projet utilisant le composant externe. Si l'élément est accessible, le développeur (du projet utilisant le composant externe) pourra utiliser l'élément comme tout autre élément de son projet. Pour plus de détails, consultez Visibilité d'un élément d'un composant externe.
    Remarque : La liste des éléments accessibles proposée correspond aux éléments associés à la configuration de projet du composant en cours.
    Passez à l'étape suivante.
  5. Indiquez si le composant externe peut être traduit lors de son utilisation. Si l'option "Autoriser la traduction du composant" est cochée, sélectionnez dans la liste des éléments du composant les différents éléments qui pourront être traduits. Les éléments cochés dans cette liste pourront être traduits, les éléments non cochés ne seront pas proposés pour la traduction.
    Pour plus de détails, consultez Traduction d'un composant externe.
    Passez à l'étape suivante.
  6. Si des composants sont présents dans le projet, il est possible d'intégrer ces composants dans le composant qui est en cours de génération (cas de composants imbriqués par exemple).
    Passez à l'étape suivante.
  7. Indiquez si un changement du numéro de version du composant externe est nécessaire (cas d'une modification d'un composant externe). Pour plus de détails sur la gestion des différentes versions d'un composant externe, consultez Modifier un composant externe.
    Passez à l'étape suivante.
  8. Indiquez si nécessaire les informations du composant externe : Propriétaire, libellé, copyright, etc. Ces informations seront visibles :
    • lors de l'intégration du composant externe dans un projet WINDEV, WEBDEV ou WINDEV Mobile.
    • dans les propriétés du fichier WDI et WDK sous l'explorateur Windows (onglet "PC SOFT").
    Passez à l'étape suivante.
  9. Sélectionnez l'image du composant externe. Cette image sera utilisée sous l'explorateur Windows.
    Passez à l'étape suivante.
  10. Saisissez la présentation générale du composant externe.
    Cette présentation générale sera automatiquement intégrée à la description du composant externe.
    Passez à l'étape suivante.
  11. L'assistant de génération présente automatiquement la documentation technique associée au composant externe.
    Pour plus de détails sur les règles de création des commentaires, consultez Documentation automatique des composants.
    Passez à l'étape suivante.
  12. Indiquez si un système d'aide (au format CHM) doit être généré. Ce système d'aide sera copié à côté du composant. Ce système d'aide contient toute la documentation technique du composant externe.
    Passez à l'étape suivante.
  13. Indiquez si le composant externe doit être publié dans un répertoire du GDS. Cette option permet de mettre simplement le composant externe à disposition des projets du GDS. Pour plus de détails, consultez composant externe et GDS.
  14. Si le composant généré peut être utilisé par une plateforme Android, l'assistant de génération d'un composant Android se lance. Cet assistant permet de paramétrer les spécificités Android du composant. Pour plus de détails sur les différentes étapes, consultez Génération d'un composant pour Android.
  15. Si le composant généré peut être utilisé par une plateforme iOS, l'assistant de génération d'un composant iOS se lance. Cet assistant permet de paramétrer les spécificités iOS du composant. Pour plus de détails sur les différentes étapes, consultez Génération d'un composant pour iOS.
  16. Indiquez le nom physique du composant externe. Ce nom sera attribué aux fichiers correspondant au composant externe.
  17. Validez. Le composant externe est généré.
Les fichiers suivants sont créés dans le répertoire de génération de la configuration de projet :
<Nom du composant>.WDKCe fichier contient tous les éléments à redistribuer (fenêtres, états, ...).
Ce fichier est nécessaire lors du déploiement des applications utilisant le composant externe.
<Nom du composant>.WDIInterface du composant externe. Ce fichier contient :
  • une aide pour l'utilisation du composant externe lors de sa réintégration.
  • les éléments nécessaires à l'utilisation du composant externe dans le projet (information de compilation, etc.).
<Nom du composant>.WDZCe fichier contient les dépendances du fichier WDK (uniquement pour les composants WEBDEV et WINDEV Mobile). Ces informations sont extraites dans le projet dans lequel le composant est intégré.
  • Dans le cas d'un composant WEBDEV, ce fichier contient par exemple les pages WEBDEV générées, les images, etc.
  • Dans le cas d'un composant Mobile (iOS ou Android), ce fichier contient par exemple les fichiers de génération Android.

Attention : La génération du composant externe peut être relativement longue si le composant externe contient beaucoup d'éléments accessibles.

Générer un composant externe pour Android

Si le composant généré peut être utilisé par une plateforme Android, l'assistant propose les étapes supplémentaires suivantes :
  1. La génération du composant Android nécessite le SDK Android et l'outil Gradle. Vous pouvez :
    • Télécharger et installer automatiquement ces outils. Dans ce cas, WINDEV Mobile télécharge et installe tous les outils nécessaires avec les options voulues. Seule une connexion Internet est nécessaire.
      Cette méthode est recommandée. Attention : Le premier téléchargement peut être relativement long.
    • Utiliser les outils installés automatiquement. Cette option est disponible uniquement si vous avez téléchargé et installé les outils lors d'une précédente génération.
    • Utiliser les outils déjà installés sur votre poste. Dans ce cas, il suffit de préciser les chemins d'installation de Gradle et du SDK Android. Pour plus de détails, consultez Installation du SDK Android.
    Si vous utilisez un proxy pour la connexion Internet, cliquez sur le bouton "Proxy" pour paramétrer ou vérifier la gestion du Proxy. Pour plus de détails, consultez Options générales de WINDEV, WEBDEV, WINDEV Mobile.
  2. Passez à l'étape suivante.
  3. Indiquez le nom du package correspondant au composant. Ce nom permet d'identifier le composant. Par convention, il est composé du nom de la société (ou de son nom de domaine Internet construit à l'envers) suivi du nom du composant. Le nom du composant utilisé correspond au nom dans la langue par défaut du projet.
  4. Passez à l'étape suivante.
  5. Le composant est généré pour une flotte d'appareils. Il est possible de limiter la taille de l'application en sélectionnant une architecture processeur spécifique.
    Note : Si vous possédez un appareil branché au PC, utilisez le bouton "Détecter le matériel automatiquement". Ainsi, lors des prochaines générations, votre type d'appareil sera automatiquement sélectionné.
  6. Passez à l'étape suivante.
  7. La liste des fichiers intégrés au composant est affichée. Cette liste est construite à partir des fichiers présents dans le dossier "Autres" du volet "Explorateur de projet". Il est possible d'intégrer par exemple :
    • des ressources spécifiques : images, ...
    • des fichiers de données HFSQL utilisés par l'application, ...
    Par défaut, les fichiers intégrés dans le composant sont en lecture (option "Lecture" cochée). Ils pourront :
    • être utilisés directement dans le composant en lecture.
      Par exemple, si une image est intégrée au composant Android en lecture, elle pourra être affectée directement à un champ en indiquant uniquement son nom. Par exemple :
      IMG_Image = image1
    • être extraits de l'archive par programmation (fonction fExtraitRessource). Dans ce cas, le fichier pourra ensuite être modifié.
    Il est possible de spécifier le répertoire de destination dans l'APK. Par défaut, l'option "Automatique" est sélectionnée : le fichier est automatiquement placé dans le bon répertoire selon son type. Il est possible de choisir un répertoire spécifique.
    Remarque : Le répertoire "Asset" est également proposé. Si l'option "Ecriture" est cochée :
    • l'extraction du fichier est réalisée automatiquement au lancement de l'application (avant l'exécution du code d'initialisation du projet).
    • il est possible d'indiquer un répertoire d'extraction. Par défaut, les fichiers de données sont extraits dans le répertoire de la base de données (<Répertoire BDD>)
      Attention : si les fichiers en "Ecriture" existent déjà sur le mobile lors de l'installation, ils ne seront pas ré-extraits de l'archive.
  8. Passez à l'étape suivante.
  9. Indiquez si des librairies doivent être intégrés au composant Android. Il est possible d'intégrer :
    • des librairies Java spécifiques (fichiers *.jar ou *.aar).
    • des librairies natives (fichiers SO).
    • la librairie HFSQL.
      Cette librairie est nécessaire si votre composant utilise des fichiers de données HFSQL.
  10. Passez à l'étape suivante.
  11. L'assistant propose d'intégrer les dépendances distantes (JCenter par exemple) dans le composant Android.
    Il est également possible d'indiquer des repositories additionnels (autres que JCenter et Google).
  12. Passez à l'étape suivante.
  13. Sélectionnez les permissions dont le composant a besoin pour fonctionner. Le composant doit indiquer au système d'exploitation Android quels sont les services auxquels il a besoin d'accéder pour fonctionner (accès à Internet, accès à l'appareil photo, etc.). WINDEV Mobile ajoute automatiquement les permissions nécessaires en fonction des instructions utilisées dans le composant.
    Remarques :
    • Si vous avez utilisé des procédures écrites en Java natif, il est nécessaire d'indiquer les permissions correspondantes.
    • A partir de la version 6 d'Android, la demande d'autorisation est effectuée à la première utilisation de la fonctionnalité (auparavant, toutes les demandes étaient regroupées lors de l'installation).
  14. Passez à l'étape suivante.
  15. Si l'application qui utilisera le composant est disponible sur Google Play, il est possible de proposer votre composant uniquement pour les appareils gérant les fonctionnalités utilisées par votre application. Par exemple, si votre composant utilise le scroll inertiel, il pourra être proposé uniquement pour les matériels gérant cette fonctionnalité.
    Vous pouvez au choix ajouter ou retirer des fonctionnalités spécifiques.
  16. Passez à l'étape suivante.
  17. Indiquez les paramètres de configuration.
  18. Le composant est compilé et généré.

Générer un composant externe pour iOS

Si le composant généré peut être utilisé par une plateforme iOS, l'assistant propose les étapes supplémentaires suivantes :
  1. Indiquez si des fichiers doivent être intégrés au composant.
    La liste des fichiers intégrés au composant est affichée. Les fichiers sélectionnés sont surlignés en bleu. Ces fichiers sont les fichiers présents dans le dossier "Autres" du volet "Explorateur de projet". Il est possible d'intégrer par exemple :
    • des ressources spécifiques.
    • des images spécifiques.
    • des fichiers de données.
  2. Spécifiez les options des fichiers :
    • Si les fichiers ont l'option "Ecriture" cochée, ces fichiers seront extraits automatiquement (fichiers à modifier par l'application par exemple). Dans ce cas, spécifiez dans quel répertoire de l'application chaque fichier doit être extrait (répertoire "Documents" ou répertoire "Library").
    • Si les fichiers ont l'option "Ecriture" décochée, ces fichiers pourront ensuite :
      • soit être utilisés directement (fichiers à lire par exemple : fichiers son, image, ...). Ces fichiers sont intégrés à l'application et ne seront pas extraits. La fonction fRepRessource permet d'accéder en lecture à ces fichiers.
      • soit être extraits par programmation avec la fonction fExtraitRessource.
        Attention : le système iOS est sensible à la casse.
  3. Passez à l'étape suivante.
  4. Si vous publiez votre application iOS contenant le composant sur l'App Store, il est nécessaire d'indiquer un texte pour chaque fonctionnalité utilisée. Lors de la première utilisation d'une de ces fonctionnalités par l'utilisateur final, une fenêtre d'autorisation affichera ce texte pour informer l'utilisateur.
  5. Terminez l'assistant. Le composant est compilé et généré.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 12/02/2024

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