IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Comment caster un objet .NET avec Windev ?


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Par défaut Comment caster un objet .NET avec Windev ?
    Dans un programme cartographique, j'utilise un assemblage .NET, qui permet de sélectionner des objets présents dans une carte au moins d'un fonction qui créée un objet ....

    La sélection en C# passe par une fonction de sélection qui créée un objet Result qui est ensuite "casté" vers un array de int :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    object result = null;
    if (sf.SelectShapes(ext, 0.0, SelectMode.INTERSECTION, ref result))
                {
                    int[] shapes = result as int[];
                    for (int i = 0; i < shapes.Length; i++)
                    {
                        sf.set_ShapeSelected(shapes[i], true);
                    }
                }
    Je bute sur " int[] shapes = result as int[];" ...!!! ??? Comment traduire cela en WD ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    clREsultSelect est un 'Object'
    tabShapes est un tableau  dynamique d'entiers
    bRes_selection = sf.SelectShapes(clExt, 0.0, MapWinGIS.SelectMode.INTERSECTION,  clREsultSelect)
     
    	SI bRes_selection ALORS
    		tabShapes = clREsultSelect .???????
    	FIN

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 303
    Par défaut
    Bonjour !

    Ici (bibliothèque .NET MapWinGIS) le paramètre 'result' est un objet de type system.array.

    Dans l'exemple C#, je ne suis pas certain qu'il était absolument nécessaire de caster 'result' vers le tableau 'shapes'.
    Je le vois plus comme un apport pédagogique, pour mieux comprendre le but du code.

    Alors peut être que les développeurs du WLangage ont prévu de gérer le casting de type automatiquement dans les appels aux méthodes d'objets .NET ?...
    Ici il s'agit de faire correspondre un objet .NET Array avec un tableau WLangage.

    D'ailleurs c'est déjà comme ça que ça fonctionne pour les objets Automation lors du passage de paramètres à une méthode, en particulier pour les paramètres de type tableau.

    Donc, essaie de passer directement le tableau en paramètres, peut-être que le WLangage gère automatiquement le "casting".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tabShapes est un tableau  d'entiers
    bRes_selection = sf.SelectShapes(clExt, 0.0, MapWinGIS.SelectMode.INTERSECTION, tabShapes)

    Sinon plan B:

    Depuis Windev 15, l'instruction POUR TOUT du WLangage implémente l'énumération des éléments d'un tableau .NET.

Discussions similaires

  1. Collection d'objets .net et windev
    Par cbordin dans le forum WinDev
    Réponses: 3
    Dernier message: 09/06/2009, 20h33
  2. Réponses: 3
    Dernier message: 31/10/2008, 14h17
  3. comment utiliser des objets java avec ireport
    Par Invité dans le forum iReport
    Réponses: 0
    Dernier message: 28/07/2007, 23h18
  4. [WD10] gérer un evenement .NET avec windev
    Par pagodas dans le forum WinDev
    Réponses: 2
    Dernier message: 26/07/2007, 14h13
  5. Réponses: 9
    Dernier message: 21/04/2006, 16h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo