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

 .NET Discussion :

Faisabilité .Net et mémoire partagée


Sujet :

.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Faisabilité .Net et mémoire partagée
    Bonjour à tous,

    Je travaille dans une entreprise qui fabrique des machine, et donc dans l'automation. Jusqu'à maintenant, je programmais mes applications WinForm à l'aide de l'environnement "borland Builder 6" qui est relativement ancien.
    La semaine dernière, le directeur à une nouvelle vision pour nos futures machines et ceci inclut de gros changement dans les HMI que nous développements. Tout doit être refait depuis 0 avec une technologie plus actuelle et surtout plus souple permettant le développement de plus beau HMI.

    D'un côté, je me dis qu'un HMI en WPF pourrait être vraiment belle, mais étant seul à programmer et étant également responsable de tout ce qui est informatique dans la boite, mon temps est très conté. Je pense m'orienter vers une solution de type winform avec c#.

    Voici mes questions :
    - Est-ce qu'il est envisageable, avec une bonne architecture, de changer petit à petit, par la suite, d'une application winform à WPF sans devoir tout refaire la logique ?
    - Pour communiquer entre le PLC et le HMI (deux applications différentes), nous utilisons une mémoire partagée (avec un mutex). Hors, la personne en charge du PLC ne va pas changer de technologie. Est-il possible en faisant une application soit en winform soit en WPF d'ajouter un élément au projet me permettant d'exploiter cette mémoire partagée ? L'avantage de cette mémoire partagée c'est que nous avons un même fichier .h décrivant les données et que l'on peut accèder aux éléments de cette mémoire sous cette forme :
    maMemoir->maVariable.setPointT = 10;

    Avec mes meilleure salutations,

    Websinh

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Points : 279
    Points
    279
    Par défaut
    Pour la première question, tout dépend de ce que tu dois faire, mais si il y a beaucoup d'exécution de code, c'est très simple de faire une dll avec ton code métier et de refaire juste la partie d'interface par la suite.
    Si tu ne fais qu'afficher des informations venant d'un autre code, tu devra refaire une grosse partie de toute façon (si on part du principe que ton UI est la grosse partie du dev).

    En C# tu peux facilement communiquer avec une dll ce qui peut te permettre de partager les ressources en mémoire.

    je ne connais pas exactement les besoins mais tu peux par exemple faire quelque chose comme ça :
    http://stackoverflow.com/questions/1...-c-sharp-and-c (un exemple pour une variable)
    Si tu as accès à une dll, tu peux sans problème la charger en C#.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par websinh Voir le message
    Est-ce qu'il est envisageable, avec une bonne architecture, de changer petit à petit, par la suite, d'une application winform à WPF sans devoir tout refaire la logique ?
    A condition de bien séparer le code métier de l'interface graphique, c'est tout à fait possible de migrer de Windows Forms à WPF sans réécrire la logique. Par contre, le faire "petit à petit" c'est pas forcément évident...

    Citation Envoyé par websinh Voir le message
    Pour communiquer entre le PLC et le HMI (deux applications différentes), nous utilisons une mémoire partagée (avec un mutex). Hors, la personne en charge du PLC ne va pas changer de technologie. Est-il possible en faisant une application soit en winform soit en WPF d'ajouter un élément au projet me permettant d'exploiter cette mémoire partagée ? L'avantage de cette mémoire partagée c'est que nous avons un même fichier .h décrivant les données et que l'on peut accèder aux éléments de cette mémoire sous cette forme :
    maMemoir->maVariable.setPointT = 10;
    J'ai pas vraiment la réponse, mais peut-être que cette réponse pourra t'éclairer : http://stackoverflow.com/a/2005446/98713

    Après, il est toujours possible de faire un module en C++/CLI qui pourra gérer l'accès à cette mémoire partagée tout en étant facilement manipulable depuis le code .NET...

    EDIT: regarde aussi ça :
    http://msdn.microsoft.com/en-us/library/dd997372.aspx

  4. #4
    Membre éprouvé Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Points : 1 118
    Points
    1 118
    Par défaut
    Bonjour,

    Je rejoint TomLev dans sa réponse tout en la complétant, on peut effectivement écrire dans une adresse mémoire, regarde notamment la classe Marshall.
    "Le train de tes injures roule sur le rail de mon indifférence."

    "Monde de merde !!"

    Georges Abitbol.

Discussions similaires

  1. Réponses: 17
    Dernier message: 02/02/2006, 12h03
  2. [CR][VB.NET] Message : mémoire insuffisante
    Par arno2000 dans le forum SDK
    Réponses: 1
    Dernier message: 22/12/2005, 13h52
  3. création d'objet en mémoire partagé
    Par BigNic dans le forum C++
    Réponses: 6
    Dernier message: 28/11/2005, 18h41
  4. [CR9] [VB.NET] problème mémoire
    Par prophetky dans le forum SDK
    Réponses: 1
    Dernier message: 26/05/2005, 08h36
  5. [CR][paradox] mémoire partagée disponible insuffisante !
    Par AGT dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 24/03/2004, 14h27

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