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

VB.NET Discussion :

Migration VB6 -> VB.net quelques difficultés


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut Migration VB6 -> VB.net quelques difficultés
    Bonjour,

    Dans l'espoir de migrer nos logiciels réalisé en VB6 vers VB.net. tout les matins je passe quelques instant à reprendre le code afin de l'adapter.

    Je rencontre quelque difficulté surtout sur les objet graphique. Pourriez vous m'aider.
    Je garde ce poste ouvert pendant quelques temps même si mes 1er souci seront résolu pour éviter d'avoir à recrée un nouveau post sur lors du prochaine blocage.

    Je précise que je n'est pas crée le projet en entier et je me considère toujours comme un débutant dans la programmation malgré mon grand age , certain connaisse mon parcours.


    Voila, 1er souci du jour:

    Dans une listviewitem -> code vb6

    Dim almItem As ListViewItem

    almItem = .ListAlarm.ListItems.Add()

    et

    almItem.SmallIcon = 1 ou
    almItem.SmallIcon = 2 ou
    almItem.SmallIcon = 3

    Je ne trouve pas d’équivalent en .net, almItem étant la listviewitem bien sûr. ListAlarm étant une listview


    J'ai besoin aussi de remplacé As Any dans une déclaration:
    Declare Function CM_SetPath Lib "cmWini1.dll" (ByVal Path As Any) As Long

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Bonjour,

    Pour les Collections je te conseillerais de passer par des (System.Generic.)List(Of T) qui sont des listes d'objets fortement typées, T étant le type dont tu as besoin.

    En ce qui concerne Any Je ne sais pas quoi te dire... Est-ce un type sur VB6 ou une expression lambda ? Si c'est le cas tu peux signer ta fonction par un Object étant le "type" de base duquel héritent tous les types utilisés par le framework.

  3. #3
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut
    Citation Envoyé par Shadam Voir le message
    Bonjour,

    Pour les Collections je te conseillerais de passer par des (System.Generic.)List(Of T) qui sont des listes d'objets fortement typées, T étant le type dont tu as besoin.

    En ce qui concerne Any Je ne sais pas quoi te dire... Est-ce un type sur VB6 ou une expression lambda ? Si c'est le cas tu peux signer ta fonction par un Object étant le "type" de base duquel héritent tous les types utilisés par le framework.
    Merci, mais je ne sais pas pourquoi vous parler de collection. Je me suis surement mal exprimé du la confusion.

    E ce qui concerne la déclaration, merci pour l'info je vais regarder cela.

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Oui désolé je n'étais pas bien réveillé lorsque j'ai écris ça...

    En faisant une petite recherche Google je suis tombé là-dessus, peut-être ton bonheur s'y trouve-t-il ?

  5. #5
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut
    Citation Envoyé par Shadam Voir le message
    Oui désolé je n'étais pas bien réveillé lorsque j'ai écris ça...

    En faisant une petite recherche Google je suis tombé là-dessus, peut-être ton bonheur s'y trouve-t-il ?
    Merci, quelques idées de recherche effectivement.

  6. #6
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    Bonjour, pour ma part je trouve qu'il vaudrait mieux créer un post par problème avec par exemple l'entête [Migration vb6 -> vbNet]. Ayant déjà du faire ce genre de chose j'essaierais de suivre, mais je sais que beaucoup de monde abandonne quand les post deviennent trop long sur un forum
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  7. #7
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut
    Bonjour.

    Dans les api de windows, any signifie non précisé.



    Cordialement.

  8. #8
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut
    Citation Envoyé par Jean-Marie Grave Voir le message
    Bonjour.

    Dans les api de windows, any signifie non précisé.
    Cordialement.
    Merci, c'est un peu la même chose qu'une déclaration:

    Dim MaVariable



    En ce qui concerne any j'ai trouvé car cela concernait une dll de sécurité de mon logiciel que l'on achete a une société externe et il nous fournisse des exemple suivant le langage. Donc c’était exactement pareil sauf qu'il précise le type au lieu de mettre any. (String, int64 etc..)

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    pour migrer un projet de vb6 à vb.net, il ne faut pas convertir méthode par méthode pour avoir du code qui marche, mais il faut repenser toute l'appli, puis l'écire en .net indépendamment de ce qui avait été fait en vb6

    pour ca il faut donc connaitre ce que .net peut faire pour concevoir au mieux
    un cours interressant :
    http://plasserre.developpez.com/cours/vb-net/
    quand on lu tout ca on peut tester 2 ou 3 trucs puis faire des tests sur des morceaux de ce qu'on veut faire et enfin développer l'appli à migrer

    en adapdant le code vb6 vous aurez au mieux la même chose (certes avec la compatibilité des os en plus)
    en reprenant tout, vous aurez entre 5 et 20 fois moins de code qu'en vb6, donc du code plus maintenable, plus lisible, et plus évolutif

    par contre si après vous avez réussi le portage et que vous êtes plusieurs dans l'équipe, il faut que tout le monde apprenne .net pendant quelques temps, car vb.net et vb6 ne se programme pas du tout de la même manière, et ca serait dommage de tout saccager
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    pour migrer un projet de vb6 à vb.net, il ne faut pas convertir méthode par méthode pour avoir du code qui marche, mais il faut repenser toute l'appli, puis l'écire en .net indépendamment de ce qui avait été fait en vb6

    pour ca il faut donc connaitre ce que .net peut faire pour concevoir au mieux
    un cours interressant :
    http://plasserre.developpez.com/cours/vb-net/
    quand on lu tout ca on peut tester 2 ou 3 trucs puis faire des tests sur des morceaux de ce qu'on veut faire et enfin développer l'appli à migrer

    en adapdant le code vb6 vous aurez au mieux la même chose (certes avec la compatibilité des os en plus)
    en reprenant tout, vous aurez entre 5 et 20 fois moins de code qu'en vb6, donc du code plus maintenable, plus lisible, et plus évolutif

    par contre si après vous avez réussi le portage et que vous êtes plusieurs dans l'équipe, il faut que tout le monde apprenne .net pendant quelques temps, car vb.net et vb6 ne se programme pas du tout de la même manière, et ca serait dommage de tout saccager
    Je comprend parfaitement cette politique et j’adhère a 100%, malheureusement je n'est pas le temps de tout recoder, l'apli commence à être importante. Adapté le code me permet de ne pas avoir a réfléchir sur l'algo ce qui est déjà important.

    Je code déjà un peu en .net. Toutes les applications qui n'ont pas besoin de nos dll de communication, je les crée en .net. Mais les autres pour le moment sont encore en vb6. et les nouvelles se basant sur la même architecture son encore sous VB6. Si je pouvais avoir une base de l'un de nos logiciels en .net je pourrais ensuite adapter rapidement tous nos logiciels. La base étant la même.


    Pourquoi nos nos dll de communication? . C'est qu'elles ont été développées il y a longtemps pour communiquer en RS232/ethernet/modem. elles permettent à plusieurs logiciels de communiquer ensemble sur le même par COM par exemple. Chose pas possible normalement puisque le Port COM est en point a point. C'est principalement ces DLL qui nous crée des soucis sur les PC moderne, elle ont été développé a l’époque des Win95 en C++. pour que cela fonctionne sous Win 7 on a déjà repris le code C++ sous Visual Studio 2010, non sans mal mais cela fonctionne.
    J'ai essayé de comprendre le code de ces dll mais c'est infernal. Elle ont été crée par un stagiaire, il n 'y a aucun commentaire et cela part dans tout les sens. Il y aura du temps à passer aussi la dessus car la il faut tout refaire, c'est pas maintenable.

Discussions similaires

  1. [VB.NET] Migration vb6 vers vb.net
    Par gefar dans le forum Débuter
    Réponses: 1
    Dernier message: 02/01/2014, 09h49
  2. [Migration .NET] Pourquoi VB6 à VB.NET ?
    Par estelledany dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 01/06/2007, 18h58
  3. Migration vb6 vers vb.net 2005
    Par Billy21 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 05/03/2007, 13h52
  4. [VB.NET 1.1] Migration VB6
    Par neuropathie dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/07/2006, 14h39
  5. [VB.NET] Migration VB6---VB.NET
    Par billyyy dans le forum Windows Forms
    Réponses: 6
    Dernier message: 07/01/2005, 15h30

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