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 6 et antérieur Discussion :

Différence entre lancement du projet et exécutable


Sujet :

VB 6 et antérieur

  1. #1
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 184
    Points
    17 184
    Par défaut Différence entre lancement du projet et exécutable
    J’ai un trou de mémoire.

    J’ai un programme utilisant une base de données d’un certain poids (538 Ko), mais surtout des dossiers ressources d’un total de 370 Mo (qui continueront à se remplir), le programme est installé dans un dossier partagé d’un réseau intranet, la base de données étant dans ce dossier avec les sous dossiers ressources.
    Le nom du lecteur attribué pour ce partage n’étant pas le même pour tous les postes, "Z:\Program Files\Visionneuse", "X:\Program Files\Visionneuse" ou encor "P:\Program Files\Visionneuse" .....
    L’exécutable est lancé par un raccourci sur chaque poste, vers le seul poste ayant le dossier et sous-dossiers partagé.

    Lors de modification/debugage, j’utilise une copie de la BD que je mets sur mon disque dur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CheminNomDossierProjet = "C:\Program Files\Visionneuse"
    NomDelabase = "Vision.mdb"
     
    'Ligne utilisée dossier partagé
    CheminNomDelabase = App.Path & "\" & NomDelabase
    'Ligne utilisée pour le lancement du projet pour modification/debugage
    CheminNomDelabase = CheminNomDossierProjet & "\" & NomDelabase
    Cela oblige a REMER la premier quand je suis en lancement projet, et inversement quand je recompile pour faire l’exec que je remet dans le dossier partagé.

    Je cherche en vain ce type de condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If Lancement = "projet" Then
     'En cour de modif/debug
     CheminNomDelabase = CheminNomDossierProjet & "\" & NomDelabase
     Else
     'Lancement par raccourci de chaque poste de l'exec du dossier partagé
     CheminNomDelabase = App.Path & "\" & NomDelabase
    End If
    Pour information, allusion a ce post
    j’ai installé l’exec sur chaque poste (fichier généré par Empaquetage et Déploiement de VB6), puis supprimé l’exec sur chaque poste, j’ai mis un raccourci visant l’exec du poste(non serveur) ayant le dossier partagé, sa fonctionne très bien.

    Merci de me rafraîchir les neurones
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    Aaaaah ouai, je crois que c'est un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #If VARIABLE_COMPILEE = "VALEUR QUAND MODE COMPILE" Then
        'Code du mode exe
    #else
        'Code du mode vb
    #End If
    Ensuite faut aller dans le menu projet, project properties > Make > Conditonal compilation arguments

    et dans la case tu mets VARIABLE_COMPILEE = "VALEUR QUAND MODE COMPILE"

    Je crois que c'est ça ...

  3. #3
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Je dis une bêtise ou c'est de la compilation conditionnelle que tu veux faire ? ( #if, #then, #end if)

    Vld est plus rapide que moi
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 184
    Points
    17 184
    Par défaut
    Réponse un peu tardive aux propositions que j’ai récupéré tout de suite après vos envoies.
    C’est un peu la honte comme dit mon petit fils.
    Je ne parviens pas à faire fonctionner la compilation conditionnelle, indiqué par Vld44 et OhMonBato.
    Un Form, un Module, dans le module,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Explicit
    Public ResultatCondition As String
    Public Sub Main()
    #If VARIABLE_COMPILEE = -1 Then
        'Code du mode vb
      ResultatCondition = "Code du mode vb"
    #Else
        'Code du mode exe
      ResultatCondition = "Code du mode exe"
    #End If
     
    Form1.Show
    End Sub
    Dans la case Projet1 – Propriété du projet, onglet Créer, case Arguments de compilation conditionnelle, VARIABLE_COMPILEE = 0

    Que cela soit lancé du projet ou de l'exec, le titre de Form1 est Code du mode exe.

    Après avoir lut tous ce qui peut être dit dans MSDN, la seule chose que je crois avoir compris est que pour chaque compilation (création de l’exécutable), il faut changer la valeur de la variable dans la boite de dialogue Projet1 – Propriété du projet, onglet Créer, case Arguments de compilation conditionnelle.
    Si c’est cela, je conserve mon système de Rem.
    Merci quand même à vous pour la rapidité de vos propositions
    Je tag résolut
    Salut
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,
    On peut passer des paramètres au programme exécutable, et Il me semble que dans vb tu peux indiquer une valeur pour tester.
    Je ne me souvient plus, je recherche et je te tient au courant.

    Edit: j'ai trouvé
    Dans le menu "Fichier", "Créer projet1"
    Dans la fenêtre "Créer projet1", bouton "Option"
    Dans la fenêtre "propriétés du projet", le champ "Arguments de la ligne de commande" te permet de mettre une valeur de test.
    donc pour toi => projet

    A+, Hervé
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  6. #6
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 184
    Points
    17 184
    Par défaut
    Merci de l'interet que tu portes à la question.
    Je recherche en passant par la recupération d'une commande passé dans le raccourci visant l'exec de chaque poste.
    Dans propriété du raccourci, dans Cible, je met deja le chemin dossier (specifique a chaque poste mais aboutissant toujours au même ordi qui a le dossier partagé, voire plus haut), je vais y rajouter apres le nom de l'exec, un espace et un argument de commande que je verifirais a l'entrée du prog.
    Si argument est null, je suis en lancement VB debug/modif,
    si non vide, le lancement est pour l'executable depuis le raccourci.
    Un peu tordu , mais faute de mieux ......
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 184
    Points
    17 184
    Par défaut
    On s'est croisé

    Citation Envoyé par rv26t
    Edit: j'ai trouvé
    Dans le menu "Fichier", "Créer projet1"
    Dans la fenêtre "Créer projet1", bouton "Option"
    Dans la fenêtre "propriétés du projet", le champ "Arguments de la ligne de commande" te permet de mettre une valeur de test.
    donc pour toi => projet
    Mais s'est cela que je n'arrive pas à mettre en place, j'ai essayé pendant une petite heure cette fin d'aprés midi
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Si argument est null, je suis en lancement VB debug/modif,
    si non vide, le lancement est pour l'executable depuis le raccourci.
    Un peu tordu , mais faute de mieux ......
    Disons que je te proposais l'inverse
    Si argument est "projet", tu es en lancement VB debug/modif,
    si vide, le lancement est pour l'executable depuis le raccourci.

    Cela évite de rajouter un argument à tous les raccourcis.

    Mais bon, du moment que tu as une solution qui correspond à tes souhaits.
    bonne continuation.

    Edit : on s'est encore croisé.
    Ensuite tu testes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Command() = "projet" Then
    MsgBox "dans éditeur VB"
    End If
    Chez moi cela fonctionne sous vb : message,
    avec l'exe : rien.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  9. #9
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Moi je fais comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Option Explicit
    #Const truc = True
    Private Sub Command1_Click()
    #If truc = False Then
      Label1 = "mode création"
    #Else
      Label1 = "mode exe"
    #End If
    End Sub
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  10. #10
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 184
    Points
    17 184
    Par défaut
    La derniere
    Ma conclusion definitive
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Private Sub Form_Load()
    'dans le raccourci de lancement ajouter dans sa fenêtre de propriété
    'dans la case Cible, a la suite du chemin et nom de l'exec, un espace et un
    'argument quelquonque ou specifique suivant l'analyse suivante
     
    Dim LaCommand As String
    LaCommand = Trim$(Command$)
    If LaCommand <> "" Then
     Me.Caption = "depuis le raccourci"
     If LaCommand = "X" Then
      'ce poste peut faire ceci ou cela
     End If
     If LaCommand = "Y" Then
      'ce poste peut faire que ceci
     End If
     If LaCommand = "P" Then
      'ce poste peut faire que cela
     End If
     Else
     Me.Caption = "Debug/Modif"
     'ce poste peut faire ceci, cela et plus
    End If
    End Sub
    Tout compte fait, d'avoir posée cette question m'amene à une solution qui va me permetre de gerer les possibilités d'interventions suivant quel poste lance l'executable.
    Je tag délestage
    Merci encor à Vld44, OhMonBato et rv26t
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  11. #11
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    Et sinon, j'ai une autre solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public sub ModeCompile() as Boolean
    on error resume next
    debug.print 1/0
    ModeCompile = (err.number = 0)
    err.clear
    End sub
    C'est plus "tricky" mais tout aussi sexy.

  12. #12
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    j'arrive peu-être après la bataille ... mais il y avais cela :

    Comment savoir si mon programme est exécuté depuis l'IDE de VB6 ou en mode compilé ?

    dans la ....

  13. #13
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 184
    Points
    17 184
    Par défaut
    Citation Envoyé par bbil
    j'arrive peu-être après la bataille ... mais il y avais cela :
    Non, non, merci bbil

    Seule une petite adaptation dans la fonction IsRunningIDE()
    IsRunningIDE = LCase(ExtractFileName(sBuffer)) = "vb6.exe"
    car ExtractFileName renvoi pour moi "VB6.EXE"
    Comme quoi il n'est pas toujours evident de trouver le/les bons mots lors d'une recherche
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  14. #14
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Non, non, merci bbil

    Seule une petite adaptation dans la fonction IsRunningIDE()
    IsRunningIDE = LCase(ExtractFileName(sBuffer)) = "vb6.exe"
    car ExtractFileName renvoi pour moi "VB6.EXE"
    Comme quoi il n'est pas toujours evident de trouver le/les bons mots lors d'une recherche
    ok pour le retour

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Utilisation] Différence entre référentiel et projet
    Par fabrice91 dans le forum Subversion
    Réponses: 3
    Dernier message: 08/12/2009, 21h03
  2. Ce qui fait la différence entre un simple projet et un bon projet
    Par TheCaribouX dans le forum Débats sur le développement - Le Best Of
    Réponses: 84
    Dernier message: 23/06/2009, 17h58
  3. Quelle est la différence entre un plan qualité et plan projet ?
    Par mfofana dans le forum Gestion de projet
    Réponses: 2
    Dernier message: 24/02/2007, 14h43
  4. [TSE] Différence entre un raccourci et exécuter ?
    Par WebPac dans le forum Windows Serveur
    Réponses: 6
    Dernier message: 20/11/2006, 17h20
  5. Différence entre deux lancements Release ??
    Par yetpa dans le forum MFC
    Réponses: 10
    Dernier message: 22/02/2006, 14h50

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