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

Windows Forms Discussion :

Interface dynamique hybride : VB.Net, .Net, Windev


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 13
    Points
    13
    Par défaut Interface dynamique hybride : VB.Net, .Net, Windev
    Bonjour,...

    J'ai un composant .Net pour VB et C# que j'aimerai utiliser avec Windev. Ce n'est pas possible directement car ce composant utilise un champ d'affichage qui apparait comme un contrôle lorsque l'on charge l'assemblage dans VB.Net par exemple.

    Il n'y a aucun problème pour développer en VB.Net avec ce composant, aussi, j'aimerai savoir si il est possible de "rediriger" l'affichage et les actions du "contrôle" vers un champ Windev.

    Dit comme ça c'est pas très explicite donc je développe :

    J'ai une fenêtre Windev avec un champ (je pense que ce serait un champ image).

    Depuis mon appli Windev, je lance un exe VB qui s'initialise et qui au lieu de linker avec un élement du form, ferait un link sur un champ d'une autre fenêtre, avec un autre handle donc...

    Dites-moi si c'est absurde ou si ce genre de chose existe... car je n'en sais rien du tout...

    Pour moi c'est comme si il s'agissait d'un écran de TV. J'ai un appareil photo qui affiche les apercu etc sur son écran. Est-ce qu'il est possible de brancher un autre écran ? Si non, est-il possible de remplacer l'écran par un autre... enfin voilà j'espère que ma question est claire... si vous voulez m'aider mais que vous ne comprenez pas n'hésitez pas à m'en demander plus.

    Merci d'avance

    //Ajouts :

    Pistes...

    Est-ce qu'il est possible de copier dynamiquement des champs d'une fenetre à une autre en VB ? une fenetre dont on aurait le handle par exemple ?

    Est-ce que c'est envisageable de concevoir deux exécutables qui utilisent une même fenêtre pour leur interface graphique?

    API Windows ?

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    ca ne prendrait pas moins de temps de chercher un controle compatible avec ton langage ou de le réécrire plutot que d'essayer d'interopérabiliser 2 langages pas forcément fait pour ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    pour répondre à votre question... non !

    Le contrôle .Net en question est unique en son genre, et vous pensez bien que je me suis déjà posé cette question...

    Il me faut vraiment donc pouvoir passer par ce dernier.

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    et il fait quoi ce control ?


    à savoir qu'en windows forms, un control c'est un form (enfin l'inverse), il a donc un handle (propriété handle as intptr si mes souvenirs sont bons)
    donc si en windev ca utilise des handles de la meme manière il doit etre possible d'instancier le control, de récupérer son handle et de le poser sur votre form windev

    reste à trouver comment instancier un control .net depuis windev et comment le poser, mais je ne connais pas du tout windev ... peut être demander sur le forum windev conjointement ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Le contrôle gère l'affichage et la manipulation de DXF et de DWG. (formats AutoCAD)

    Il est prévu pour VB.Net ou C#.

    Windev gère les assemblages DotNet de manière douteuse mais en théorie il les gère, de la même manière que les classes, on écrit alors quelque chose du type :

    <Nom Objet> = allouer un <Nom Classe> ([<Paramètres>])

    mais le problème majeur de Windev c'est quil ne crée rien dynamiquement.

    Impossible de faire comme en VB :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Fenetre As New System.Windows.Forms.Form
    Dim LabelA As New System.Windows.Forms.Label
     
    Fenetre.Controls.Add(LabelA)
    LabelA.Text = "toto"
    Fenetre.Show()
    C'est pourquoi je veux savoir si il est possible de créer des contrôles, depuis un autre exe... et là ça serait un exe VB =>

    il faudrait donc pouvoir déclarer un Form par référence à une fenêtre ou...
    Ajouter un contrôle, par référence à une autre fenêtre (via le handle je suppose)

    mais là je suis de loin en territoire inconnu et je ne trouve rien à ce sujet...

    je vais essayer de demander aussi sur le forum Windev.

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    j'ai du mal à croire qu'avec un logiciel comme windev on ne puisse pas instancier des nouveaux controles pendant l'exécution ...

    si vous voulez qu'une application .net vous remplisse une fenetre windev, il faut que comme j'ai dit dans l'autre topic
    pour ce qui de le poser dans une fenetre d'une autre appli faut voir si cette appli fonctionne en mode "fenetres gérées par windows" comme c'est le cas en windows forms
    si c'est le cas de windev, il faudrait démarrer l'exe .net en lui donnant le handle de votre fenetre windev, puis depuis l'exe .net créer le controle autocad et le poser dans le handle de la fenetre founit

    pour ca je pense qu'il faut passer par un appel d'api
    enfin y a ptete quelques méthodes à tester depuis .net
    genre des choses comme System.Windows.forms.Form.FromHandle() mais ca retourne une form .net donc ca risque de crasher quand meme


    http://www.google.fr/#hl=fr&q=contro...dedba51ac8d3e6
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Vous seriez étonné de tout ce qu'il n'est pas possible de faire avec un AGL aussi évolué que Windev...

    La création dynamique chez PCSoft, c'est du clonage de champ déjà existant, grâce à la fonction ChampClone() : rien de plus !

    J'ai par ailleurs téléphoné directement à l'assistance technique PCSoft et la réponse est la suivante : "Non Windev ne gère pas les contrôles .Net... seulement les assemblages et comme des classes..."

    voilà en gros au sujet de Windev et de ses oeufs vides...

    Pour le reste, je vais tester vos suggestions en vous remerciant => Merci !

  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    faut changer de support (ou d'entreprise ...) ^^

    vous êtes sur quelle version de windev ? récente ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Version 15 => La dernière en date !

    C'est un problème qui a toujours existé et PCSoft fonctionne ainsi... en gros on indique une amélioration possible de l'AGL et ils implémentent ensuite comme ils leur chantent.
    La plupart des utilisateurs font sans... mais se plaignent quand même ! Enfin soit...

    Il n'existe pas non plus d'Atelier parfait... ^^ et non je reste ! :p

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Bon j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    returnValue = System.Windows.Forms.Control.FromHandle(handle)
     
            If returnValue Is Nothing Then
                MsgBox("oups")
            Else
                MsgBox(returnValue.Text)
            End If
    et j'ai tout le temps oups !

    Le handle est correct et la fonction marche pour un contrôle de la fenêtre mais pas un contrôle externe. J'ai ajouté ça en début de module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Imports System.IO
    Imports System.Security.Permissions
     
    <Assembly: UIPermission(SecurityAction.RequestMinimum, Window:=UIPermissionWindow.AllWindows)>
    mais ça na rien changé...

  11. #11
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 950
    Points : 9 279
    Points
    9 279
    Par défaut
    Bonjour,

    va voir ici

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  12. #12
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut windev et un controle.net
    bonjour
    As-tu regarde la FAQ developpez.net?

    Ce sujet est traite succintement par Vincent Roy dans cette FAQ de developpez.net avec un tuto pas à pas intitule "Visualiseur de contrôle .Net dans une application WinDev".

    http://www.google.fr/url?sa=t&source...J5mYQHNZZVc1Yw

    bon code....

Discussions similaires

  1. [VB.NET] Interface Dynamique ?
    Par Nuage31 dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 10/05/2011, 18h07
  2. Dot Net sous Windev
    Par danielsoft dans le forum WinDev
    Réponses: 0
    Dernier message: 31/03/2008, 14h50
  3. INterface graphique avec visual studio .net 2003
    Par Lucas42 dans le forum C++
    Réponses: 4
    Dernier message: 09/11/2007, 19h28
  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. VB.net ou Windev ?
    Par thefred.inc dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 14/01/2005, 21h36

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