barth707
Messages postés73Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention 8 juin 2005
-
18 août 2003 à 16:20
barth707
Messages postés73Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention 8 juin 2005
-
18 août 2003 à 18:58
Bjr,
je veux personnaliser mon propre msgbox, c à dire que j'ai fait une interface avec des boutons flash "oui" et "non", mais le problème est que je n'arrive pas faire stopper l'appli sur cette form pour que la personne puisse valider par oui ou par non avant que le programme ne continu.
Pour plus d'info je fais sur load des vérifactions sur des options coché ou pas et c la que mon msgbox est chargé mais l'appli continue de ce charger avant la réponse.
J'éspère que mes explications vont vous permettre de m'aider. N'exité pas pour plus d'info je suis connecté.
barth707
Messages postés73Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention 8 juin 2005 18 août 2003 à 17:19
C encore barth, je viens de tester ton code mais j'ai un problème avec "createmutex" ca me génère un message d'erreur 'procedure ou fonction non définié', je ne comprend pas pourquoi, ca me fait sa. Si tu peux m'aider.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 18 août 2003 à 17:22
salut
il existe plusieurs méthode de synchronisation des threads d'une application : en somme chaque fenetre a sa propre boucle de message qui constitue le thread de la fenetre :
pour faire arreter l'execution de la fenetre qui appelle ton messageboxform il faut attendre que le thread de cette fenetre soit arreté.
pour cela : ton messagebox doit créer un "objet" unique dans ta session windows : tant que ton messagebox n'a pas "relaché" l'objet, tu ne peux pas le prendre : la fentre message est affichée.
Ton messageboxform relache "objet" indicant à ta feuille appelante que la fenetre messagebox est fermée
on peut alors reprendre le cours du programme
voila
ShareVB
Vous n’avez pas trouvé la réponse que vous recherchez ?
barth707
Messages postés73Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention 8 juin 2005 18 août 2003 à 17:48
Je désoler, c encore moi mais c plante tjrs, koique je fasse j'ai tjrs sur createmutex une erreur du type "porcedure sub ou function non définie" est je n'arrive pas a trouver le problème. Pour tps c ce qu'il me faut d'apres tes explications c exactement ce que je cherche.
Bon surment a plustard.
Désoler, merci a+ Barth
:shy)
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 18 août 2003 à 17:53
salut
tu mets ca dans un module :
Public Declare Function ReleaseMutex Lib "kernel32" Alias "ReleaseMutex" (ByVal hMutex As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" Alias "CloseHandle" (ByVal hObject As Long) As Long
Public Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As SECURITY_ATTRIBUTES, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 18 août 2003 à 18:41
Ca va peut-être avoir l'air con ce que je vais écrire, mais avec vos histoire de Mutex, ça sert à quoi les feuilles modale ?
Le texte qui suit est extrait de l'aide en ligne de la méthode Show de l'objet Form :
"Lorsque la méthode Show affiche une feuille non modale, le code suivant est exécuté au fur et à mesure qu'il se présente. Lorsque la méthode Show affiche une feuille modale, le code qui suit n'est exécuté que lorsque la feuille est masquée ou déchargée.
Lorsque la méthode Show affiche une feuille modale, aucune entrée (à l'aide du clavier ou d'un clic de la souris) ne peut être effectuée, sauf si elle est destinée à des objets contenus dans cette feuille. Le programme doit masquer ou décharger la feuille modale (généralement en réponse à une action de l'utilisateur) avant qu'une entrée puisse être effectuée dans une autre feuille. Un objet MDIForm ne peut pas être modal."
Alros un "MessageBoxForm.Show vbModal" devrait suffir à résoudre ton pb.
barth707
Messages postés73Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention 8 juin 2005 18 août 2003 à 18:47
Bon j'ai eu quelques problèmes avec les fonctions a déclarer dans le module, j'ai eu un plantage avec :
Public Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As SECURITY_ATTRIBUTES, ByVal bInitialOwner As Long, ByVal lpName As String) As Long
J'ai remplacer le texte souligné par "as long" sinon ca plantais.
Maintenant ca marche mais ca ne fait pas ce que sa doit faire, c a dire que j'appel mon formmessage_box mais si apres le code que tu m'as donné je met un "msgbox" il s'execute avant le déchargement du formmessage_box.
Voila j'ai bidouiller mais sans résultat, bon bonne fin de journée. Surment à demain
Chao barth
Encore Merci
barth707
Messages postés73Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention 8 juin 2005 18 août 2003 à 18:58
Ok, merci sa marche , pourtant je l'ai vu ce code tout à l'heure en debut d'aprem, sa ne marchais pas la je l'ai fais sur un projet tout vide, est ca marche. Merci bien pour ton aide j'ai bien compris tes explications mais sans succès, koique moi sa m'a apris des trucs.
Encore merci et comme je dis a chaque fin de message:
surment a bientot.
Chao , c cool
:)
Barth le marsupi l'ami