En VB : Comment savoir si un projet vb est déjà lancé ?

Le
[[ Olivier ]]
Bonjour

Comment savoir si un fichier un projet vb est déjà lancé ?

Quand on lance VB il dit si le fiochier vbp est ouvert.
comment faire pareil ?

j'arrive a ouvrir le fichier vbp en binary même s'il est ouvert par VB,
donc pas d'erreur récupérable.

alors comment faire ?

merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LE TROLL
Le #15415911
Bonjour,

Tu dis:

"Quand on lance VB il dit si le fiochier vbp est ouvert. comment faire
pareil ?"

Faire pareil sur quoi, sur quel type de fichier ???
On peut par exemple tester les processus... Sur un exe, interdire 2 fois
l'ouverture...

--
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"[[ Olivier ]]"
Bonjour

Comment savoir si un fichier un projet vb est déjà lancé ?

Quand on lance VB il dit si le fiochier vbp est ouvert.
comment faire pareil ?

j'arrive a ouvrir le fichier vbp en binary même s'il est ouvert par VB,
donc pas d'erreur récupérable.

alors comment faire ?

merci



[[ Olivier ]]
Le #15415891
> Faire pareil sur quoi, sur quel type de fichier ???



ben comme j'ai dis sur le fichier de type *.vbp.
je cherche a faire en sorte que lorsque quelqu'un a ouvert un projet dans
vb5,
que je puisse avec "mon" programme fait en VB tester si un *.vbp est ouvert.
Tout ca pour eviter d'être a deux sur le même projet.
Quand tu lance un projet avec VB5 et ensuite essaye de relancer VB5 en
ouvrant le même projet : tu pourras pas, il y a un message mais seulement si
t'es sur la même machine.
par contre, si t'es en réseau la il dit rien !


On peut par exemple tester les processus... Sur un exe, interdire 2
fois l'ouverture...



oui mais non, car ce n'est pas l'exe que je veux tester mais le *.vbp. Car
quand tu lance un projet, y a pas d'exe.
je ne parle pas de vb5.exe mais du projet.

J'espère être assez clair ?



"LE TROLL" news:
Bonjour,

Tu dis:

"Quand on lance VB il dit si le fiochier vbp est ouvert. comment faire
pareil ?"

Faire pareil sur quoi, sur quel type de fichier ???
On peut par exemple tester les processus... Sur un exe, interdire 2
fois l'ouverture...

--
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"[[ Olivier ]]"
Bonjour

Comment savoir si un fichier un projet vb est déjà lancé ?

Quand on lance VB il dit si le fiochier vbp est ouvert.
comment faire pareil ?

j'arrive a ouvrir le fichier vbp en binary même s'il est ouvert par VB,
donc pas d'erreur récupérable.

alors comment faire ?

merci







LE TROLL
Le #15415851
Ah ok, tu parlais de réseau, ben ce n'es pas mon fort, il y en a ici qui s'y
connaissent en matière de réseau, de serveur.

Sauf s'il y a des instrument réseau qui permettent d'interdire ça, ben je
dirais de tester tous les serveurs ayant vb5, et de regarder si le processus
est lancé, et s'il l'est, d'interdire celui qui appelle en trop, mais ça
sous-entend de lancer vb avec préalablement ce programme de vérif... Ou de
faire un programme résident, ce qui est dommageable sur un serveur qui va un
peu ralentir tout le monde, et de tester si 2 vb5 identiques s'ouvrent, de
clore le second processus...

Voir ce qu'en diront ici les spécialistes serveurs...

--
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"[[ Olivier ]]"
Faire pareil sur quoi, sur quel type de fichier ???



ben comme j'ai dis sur le fichier de type *.vbp.
je cherche a faire en sorte que lorsque quelqu'un a ouvert un projet dans
vb5,
que je puisse avec "mon" programme fait en VB tester si un *.vbp est
ouvert.
Tout ca pour eviter d'être a deux sur le même projet.
Quand tu lance un projet avec VB5 et ensuite essaye de relancer VB5 en
ouvrant le même projet : tu pourras pas, il y a un message mais seulement
si t'es sur la même machine.
par contre, si t'es en réseau la il dit rien !


On peut par exemple tester les processus... Sur un exe, interdire 2
fois l'ouverture...



oui mais non, car ce n'est pas l'exe que je veux tester mais le *.vbp. Car
quand tu lance un projet, y a pas d'exe.
je ne parle pas de vb5.exe mais du projet.

J'espère être assez clair ?



"LE TROLL" news:
Bonjour,

Tu dis:

"Quand on lance VB il dit si le fiochier vbp est ouvert. comment faire
pareil ?"

Faire pareil sur quoi, sur quel type de fichier ???
On peut par exemple tester les processus... Sur un exe, interdire 2
fois l'ouverture...

--
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"[[ Olivier ]]"
Bonjour

Comment savoir si un fichier un projet vb est déjà lancé ?

Quand on lance VB il dit si le fiochier vbp est ouvert.
comment faire pareil ?

j'arrive a ouvrir le fichier vbp en binary même s'il est ouvert par VB,
donc pas d'erreur récupérable.

alors comment faire ?

merci










Jacques93
Le #15415821
Bonjour [[ Olivier ]],
[[ Olivier ]] a écrit :
Bonjour

Comment savoir si un fichier un projet vb est déjà lancé ?

Quand on lance VB il dit si le fiochier vbp est ouvert.
comment faire pareil ?

j'arrive a ouvrir le fichier vbp en binary même s'il est ouvert par VB,
donc pas d'erreur récupérable.




Normal, VB (VB6 pour moi) ne garde aucun composant (vbp, frm, etc...)
du projet ouvert :

- Ouverture
- Lecture + Chargement en mémoire
- Fermeture

Tu peux t'en assurer avec cet outil :

http://download.sysinternals.com/Files/Handle.zip

téléchargeable ici :

http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/Handle.mspx

Résultat pour un projet avec une feuille et un bouton de commande :

' ---------------------------------------------------------------
N:SysInternal>handle -p vb6.exe

Handle v3.2
Copyright (C) 1997-2006 Mark Russinovich
Sysinternals - www.sysinternals.com

------------------------------------------------------------------------------
VB6.EXE pid: 3308 WXPJacques
5C: File (RW-)
C:WINDOWSWinSxSx86_Microsoft.Windows.Common-Controls_6
5b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03
A0: Section BaseNamedObjectsnView Shared Static Memory
A4: Section BaseNamedObjectsnView Shared Memory
D4: Section
BaseNamedObjectsCiceroSharedMemDefaultS-1-5-21-16097151
-3497324575-4040093688-500
F0: Section
BaseNamedObjectsCTF.TimListCache.FMPDefaultS-1-5-21-160
15173-3497324575-4040093688-500SFM.DefaultS-1-5-21-1609715173-3497324575-40400
688-500
F8: Section BaseNamedObjectsShimSharedMemory
18C: Section BaseNamedObjectsMso97SharedDg1921
198: Section BaseNamedObjectsMso97SharedDg2032
1A0: Section BaseNamedObjectsOffice1925
1B0: File (R--) C:Program FilesMicrosoft Visual
StudioVB98VB6EXT.OLB
1B4: File (R--) C:Program FilesMicrosoft Visual StudioVB98VB6.OLB
1BC: File (R--) C:WINDOWSsystem32MSVBVM60.DLL
1C4: File (R--) C:Program FilesMicrosoft Visual StudioVB98VBA6.DLL
1D4: File (R--) C:WINDOWSsystem32stdole2.tlb
21C: Section BaseNamedObjectsMso97SharedDg1952
288: Section BaseNamedObjectsDfSharedHeap1A4A57
298: File (RW-) C:DOCUME~1ADMINI~1LOCALS~1Temp~DF4A5A.tmp
29C: Section BaseNamedObjectsDFMap0-1722979
2A4: Section BaseNamedObjectsDfRoot0001A4A57
2BC: File (R--) C:WINDOWSsystem32MSCOMCTL.OCX
2C8: File (R--) C:WINDOWSsystem32comdlg32.ocx
2D4: File (R--) C:Program FilesFichiers communsMicrosoft
SharedOFFICE
MSO.DLL
2E4: File (R--) C:Program FilesMicrosoft Visual
StudioCommonToolsVCM
CMMGR.DLL
31C: File (RW-) C:Program FilesMZTools3VB6
324: Section BaseNamedObjectsMSCTF.Shared.SFM.IBJ
328: File (R--) C:WINDOWSsystem32MSVBVM60.DLL
48C: File (RW-)
C:WINDOWSWinSxSx86_Microsoft.Windows.Common-Controls_6
5b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03
494: File (RW-) C:RepTravailVB6
498: Section BaseNamedObjectsMSCTF.Shared.SFM.EAP
4FC: File (R--) C:Program FilesMicrosoft Visual StudioVB98VB6.EXE
50C: File (R--) C:WINDOWSsystem32MSCOMCTL.oca

' ---------------------------------------------------------

Par contre on voit l'utilisation de Shared Memory (Partage de mémoire
entre deux Processus). Le message que tu obtiens :

fichier vbp est ouvert

vient probablement de là. Mais rien n'empêche d'ouvrir le projet sur un
autre poste du réseau. Et sur le même poste on peut ouvrir deux fois le
même projet :

- Lancer VB => choisir un projet dans 'Récent'
- Double cliquer sur le même projet dans l'explorateur

En fait ton souci est lié au développement coopératif (en équipe), et
pour ça il y a un outil : Visual SourceSafe. Mais pour trouver une
version VB5, si tu ne l'as pas ...

--
Cordialement,

Jacques.
Fred
Le #15415801
Dans : news:,
Jacques93 disait :
Bonjour [[ Olivier ]],
[[ Olivier ]] a écrit :
Bonjour

Comment savoir si un fichier un projet vb est déjà lancé ?



Normal, VB (VB6 pour moi) ne garde aucun composant (vbp, frm, etc...)
du projet ouvert :

- Ouverture
- Lecture + Chargement en mémoire
- Fermeture



Bonjour,

Pas de solution prête à l'emploi, mais je regarderais du côté des macros
de l'environnement.
Pour créer un petit fichier de verrouillage à l'ouverture et le détruire
à la fermeture.
J'imagine que l'on peut associer une macro à l'ouverture et à la
fermeture d'un projet ?
En stockant la date et l'heure ainsi que le nom de l'utilisateur dedans,
l'utilisateur bloqué peut savoir qui travaille sur le projet.
On pourrait aussi vérifier à la fermeture que personne n'a forcé le
passage en effaçant le dit fichier.

--
Fred
Jacques93
Le #15415791
Bonjour Fred,
Fred a écrit :
Dans : news:,
Jacques93 disait :
Bonjour [[ Olivier ]],
[[ Olivier ]] a écrit :
Bonjour

Comment savoir si un fichier un projet vb est déjà lancé ?



Normal, VB (VB6 pour moi) ne garde aucun composant (vbp, frm, etc...)
du projet ouvert :

- Ouverture
- Lecture + Chargement en mémoire
- Fermeture



Bonjour,

Pas de solution prête à l'emploi, mais je regarderais du côté des macros
de l'environnement.
Pour créer un petit fichier de verrouillage à l'ouverture et le détruire
à la fermeture.
J'imagine que l'on peut associer une macro à l'ouverture et à la
fermeture d'un projet ?
En stockant la date et l'heure ainsi que le nom de l'utilisateur dedans,
l'utilisateur bloqué peut savoir qui travaille sur le projet.
On pourrait aussi vérifier à la fermeture que personne n'a forcé le
passage en effaçant le dit fichier.




De passage :-) ?

Pas si simple, car pour être totalement sécurisé, il faut "protéger"
tous les éléments du projet. Et une feuille, un module, une classe, une
ressource peuvent être communs à plusieurs projets ...
C'est pour cela qu'il y a des outils dédiés (SourceSafe notamment), et
c'est un problème assez ancien (SCCS est d'ailleurs obsolète maintenant) :

http://en.wikipedia.org/wiki/Source_Code_Control_System

même si là on arrive à des systèmes relativement lourds à mettre en oeuvre.

Tout dépend du niveau de sécurité que l'on veut avoir, et aussi de la
structure de développement.

--
Cordialement,

Jacques.
Fred
Le #15415781
Dans : news:%,
Jacques93 disait :

De passage :-) ?



Oui, pause café ;-)

Pas si simple, car pour être totalement sécurisé, il faut "protéger"
tous les éléments du projet. Et une feuille, un module, une classe,
une ressource peuvent être communs à plusieurs projets ...



Là, il faut passer à de vrais outils de travail collaboratif
effectivement. Mais j'ai l'impression que Olivier cherche plus une
solution pour éviter de travailler à plusieurs que pour coordonner une
équipe.

Sinon, je pensais aussi à la possibilité de n'autoriser qu'une connexion
sur le partage réseau (propriété du partage).
Toujours avec un petit fichier de verrouillage *à maintenir ouvert*
cette fois.


--
Fred
Publicité
Poster une réponse
Anonyme