PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Présentation
  • Créer un assemblage .NET à partir d'un projet WINDEV
  • Génération des classes C# à partir de classes WINDEV
  • Conseils pour optimiser le code des classes
  • Types des paramètres et des valeurs de retour
  • Paramètres en "Entrée / Sortie"
  • Conséquence : un code d'utilisation de l'assemblage plus simple
  • Créer le programme d'installation d'un assemblage .NET
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Présentation
Avant de créer un assemblage .NET, il est nécessaire de vérifier la configuration du poste de développement.
Créer un assemblage .NET à partir d'un projet WINDEV
Pour créer un assemblage .NET :
  1. Ouvrez le projet WINDEV à partir duquel l'assemblage .NET doit être créé.
    Ce projet doit contenir tous les éléments nécessaires à l'assemblage .NET. Ce projet peut par exemple contenir une ou plusieurs procédures globales ou/et classes, contenant diverses méthodes. Ces méthodes et / ou procédures seront les points d'entrées de l'assemblage.
    Remarque : Lorsque vous créez des assemblages .NET destinés à être utilisés sous d'autres environnements, il est conseillé de les documenter. Cette documentation est automatiquement générée par WINDEV.
  2. Sélectionnez l'option "Atelier .. .NET .. Générer une DLL assemblage .NET".
    Remarque : Si vous n'avez pas créé de configuration de projet spécifique à la création d'un assemblage .NET, l'assistant de création d'une configuration de projet se lance. Pour optimiser l'organisation de vos projets, il est conseillé d'utiliser les configurations de projet. Pour plus de détails, consultez Configuration de projet.
    Dans ce cas, l'assistant demande :
    Parmi les boutons d'accès rapide, sélectionnez le mode de génération "Générer un assemblage .NET" :

    Remarque : Si vous n'avez pas créé de configuration de projet spécifique à la création d'un assemblage .NET, l'assistant de création d'une configuration de projet se lance. Pour optimiser l'organisation de vos projets, il est conseillé d'utiliser les configurations de projet. Pour plus de détails, consultez Configuration de projet.
    Dans ce cas, l'assistant demande :
    • le nom et la description de la configuration de projet.
    • les éléments intégrés dans la configuration de projet.
      L'assistant de génération d'un exécutable .NET se lance ensuite.
  3. L'assistant de création d'un assemblage .NET se lance.
  4. Indiquez les propriétés de l'assemblage .NET que vous allez créer : nom du ficher, société, description, copyright, ...
    Le bouton "Avancé" reprend les propriétés indiquées et permet de définir des propriétés supplémentaires spécifiques à l'assemblage .NET.
  5. Indiquez le numéro de version. Deux formats de numéro de version sont disponibles :
    • Format standard. Ce format est le format standard géré par Windows. Ce format correspond à un ensemble de 4 nombres séparés par des points.
      • Le premier groupe de 4 chiffres correspond au nombre de changements majeurs effectués dans l'application.
      • Le second groupe de 4 chiffres correspond au nombre de changements mineurs effectués dans l'application.
      • Le troisième groupe de 4 chiffres correspond au numéro de génération.
        Il est conseillé d'incrémenter automatiquement ce numéro à chaque génération. Cette incrémentation est réalisée automatiquement si l'option "Incrémentation automatique de la version à chaque génération" est cochée.
      • Le dernier groupe de 4 chiffres correspond au nombre de révisions (branches dans le GDS par exemple).
        Il est conseillé d'incrémenter automatiquement ce numéro à chaque génération. Cette incrémentation est réalisée automatiquement si l'option "Incrémentation automatique de la version à chaque génération" est cochée.
    • Format pour compatibilité. Ce format était utilisé jusqu'à la version 12 par défaut pour les applications WINDEV.
      Remarque : Tous les caractères (chiffre et lettre) sont autorisés. Par exemple : "1.01A".
      Si l'option "Incrémentation automatique de la version à chaque génération" est cochée, le numéro de version sera modifié à chaque génération : le numéro de version "1.01A" deviendra "1.01B" et le numéro de version "A14Z" deviendra "A15A".
  6. Sélectionnez les différents éléments WINDEV (projet, fenêtres, classes, ...) à intégrer dans l'assemblage .NET.
    • Le bouton "Ajouter" permet d'ajouter un élément à l'assemblage .NET : images, fichiers texte, ...
    • Le bouton "Enlever" permet de supprimer un élément de l'assemblage .NET. Les fichiers correspondants et leurs dépendances ne seront pas intégrés dans l'assemblage .NET.
    • Le bouton "WDU" permet d'afficher les éléments présents dans une bibliothèque précédemment créée.
      Remarque : Si le projet WINDEV (fichier ".WDP") est sélectionné :
      • l'analyse du projet sera associée à l'assemblage .NET.
      • le traitement d'initialisation du projet sera exécuté à l'initialisation de l'assemblage .NET.
      • le traitement de terminaison du projet sera exécuté à la fermeture de l'assemblage .NET.
  7. Sélectionnez les classes (fichiers ".WDC") et les collections de procédures (fichiers ".WDG") WINDEV à rendre accessibles. Ces classes et ces collections de procédures pourront être manipulées depuis l'application qui utilisera l'assemblage .NET.
    Une classe publique de l'assemblage doit posséder un constructeur sans paramètre (ou avoir tous ses paramètres optionnels).
    Toutes les classes qui sont instanciées dans une classe publique de l'assemblage doivent aussi être publiques.
    Remarque : Une classe .NET est générée avec le nom de la collection de procédures. Cette classe .NET contient :
    • une fonction statique correspondant à chaque fonction de la collection de procédures.
    • un membre statique correspondant à chaque variable de la collection de procédures WINDEV.
  8. Sélectionnez la version du Framework .NET à utiliser ainsi que le Framework WINDEV (32 bits ou 64 bits) à livrer avec l'assemblage .NET. Sélectionnez ensuite les librairies du Framework WINDEV nécessaires au fonctionnement de votre assemblage.

    Remarques :
    • Les librairies du Framework WINDEV correspondant à .NET (par exemple wdxxxnetx.dll) ne peuvent pas être renommées.
    • Si le même projet doit permettre de générer plusieurs versions du même assemblage, il est nécessaire d'utiliser des configurations de projet.
    • Si un assemblage .NET doit fonctionner en 32 bits et en 64 bits, il est nécessaire de générer 2 assemblages .NET en WINDEV. Le même assemblage ne peut pas fonctionner en 32 bits et en 64 bits.
  9. Paramétrez si nécessaire le message d'erreur. Ce message sera affiché en cas d'erreur lors de l'utilisation de l'assemblage .NET.
    Le bouton "Défaut" permet de paramétrer un message d'erreur par défaut.
  10. Sélectionnez les options spécifiques de l'assemblage :
    • Le bouton "Options de compilation" permet de sélectionner un compilateur C# spécifique et d'indiquer des options de compilations supplémentaires.
    • Le bouton "Propriétés avancées" permet de définir si l'assemblage .NET doit être accessible par un programme utilisant la technologie COM. Pour plus de détails, consultez Créer un assemblage .NET accessible par COM.
  11. Validez.
L'assemblage .Net est généré dans le répertoire EXE du projet ainsi qu'un document XML contenant la documentation de l'assemblage.
Remarques :
  • Les assemblages générés avec WINDEV s'utilisent comme n'importe quel autre assemblage .NET. Cependant, le framework WINDEV doit se trouver dans le même répertoire que l'assemblage.
  • Limitation : Les états et les requêtes ne fonctionnent pas dans les assemblages .NET.
  • Les assemblages .Net générés avec WINDEV ont un seul contexte d'exécution : ils ne peuvent donc être exécutés que par un seul thread.
Génération des classes C# à partir de classes WINDEV

Conseils pour optimiser le code des classes

Voici quelques conseils pour optimiser le code des classes générées. Dans vos classes WINDEV :
  • Typez les paramètres des méthodes et les valeurs de retour.
  • Utilisez le mot-clé "LOCAL" afin que les paramètres des méthodes ne soient pas de type "Entrée / Sortie".
  • Remplacez les mots réservés du C#.
  • Eliminez les héritages multiples.
Versions 23 et supérieures

Types des paramètres et des valeurs de retour

Les types disponibles sont ceux du WLangage.
Si les types des paramètres ne sont pas spécifiés dans le prototype de la méthode, ils sont déterminés automatiquement par WINDEV. Dans ce cas, le générateur d'assemblage .NET utilise le type "Object".
Nouveauté 23

Types des paramètres et des valeurs de retour

Les types disponibles sont ceux du WLangage.
Si les types des paramètres ne sont pas spécifiés dans le prototype de la méthode, ils sont déterminés automatiquement par WINDEV. Dans ce cas, le générateur d'assemblage .NET utilise le type "Object".

Types des paramètres et des valeurs de retour

Les types disponibles sont ceux du WLangage.
Si les types des paramètres ne sont pas spécifiés dans le prototype de la méthode, ils sont déterminés automatiquement par WINDEV. Dans ce cas, le générateur d'assemblage .NET utilise le type "Object".

Paramètres en "Entrée / Sortie"

Si le mot-clé LOCAL n'est pas utilisé dans la déclaration du paramètre dans le prototype de la fonction, le paramètre est considéré en "Entrée / Sortie" (Le générateur d'assemblage utilise le mot-clé "ref").

Conséquence : un code d'utilisation de l'assemblage plus simple

Lors de l'exportation d'une classe WLangage classique, tous les paramètres sont non typés et en Entrée / Sortie.
Si les optimisations décrites ci-dessus ne sont pas réalisées, le générateur d'assemblage génère des fonctions prenant des paramètres du type "ref object", ce qui rend plus complexe l'écriture du programme utilisant l'assemblage.
En effet, pour passer un paramètre de type "ref object" à une fonction (par exemple en C#), il faut :
  1. Créer un "Object".
  2. Recopier dans cet "object" la variable type du C#.
  3. Passer par référence un "Object" en paramètre à la méthode de la classe WLangage.
Créer le programme d'installation d'un assemblage .NET
La création du programme d'installation d'un assemblage .NET est identique à la création du programme d'installation d'une application WINDEV classique.
Pour créer le programme d'installation d'un assemblage .NET :
  1. Sélectionnez l'option "Atelier .. .NET .. Créer la procédure d'installation d'un assemblage .NET".Parmi les boutons d'accès rapide, sélectionnez le mode de génération "Créer la procédure d'installation de l'assemblage" :
  2. Suivez les instructions des différents écrans de l'assistant.
Remarque : Les assemblages générés avec WINDEV s'utilisent comme n'importe quel autre assemblage .NET. Cependant, le framework WINDEV doit se trouver dans le même répertoire que l'assemblage.
Liste des exemples associés :
WD Utilisation de DOTNET Exemples didactiques (WINDEV) : WD Utilisation de DOTNET
[ + ] Cet exemple permet de convertir des devises dans d'autres devises.
La base de ce projet (la classe cEuro) est utilisée pour créer un assemblage DOTNET
WD Utilisation de DOTNET est présenté :
1/ Sous forme d'un projet WINDEV et d'un assemblage (le tout fonctionne sans DOTNET, en mode test)
2/ Sous forme d'un projet DOTNET écrit en C# et d'un exécutable DOTNET
Résumé de l'exemple livré avec WINDEV  :
Il est désormais possible dans WINDEV d'utiliser des asssemblages DOTNET et inversement, il est également possible de générer des assemblages DOTNET depuis WINDEV !
Version minimum requise
  • Version 9
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire