PROCEDURE lance_planning()
ferme_requetes()
param_envoyes est une chaîne
param_envoyes = "[LOGIN];"+g_user_id+";"+g_user_password
DDELance(fRepEnCours()+"\Avoplan_V10.Exe "+param_envoyes,DDEActif,Faux)
Je voudrais le faire avec la touche F10. J'ai récupéré ce que j'avais fait
en WD55 :
even=evenement("EVEPROC","*.*",274)
Procédure EVEPROC()
si _eve.wmessage = 274 alors
si _eve.wparam=61696 alors
ouvre("agenda")
fin
FIN
Ce code est conservé pour compatibilité.
Si j'appuie sur F10 dans le menu paincipal, ça fonctionne
si je le fais dans la première sous-fenêtre, ça fonctionne encore.
au-delà, ça ne fonctionne plus. Par contre, le clic sue la croix execute la
procédure de l'évènement. !
bref, que du bonheur.
j'ai testé VK_F10 et VK_F2 sans succès.
Merci de m'aider.
--
Jacques TREPP
SAPAM SA
3, rue Jean Mermoz
81160 - ST JUERY
jacques.trepp-nospam-@free.fr
PROCEDURE ouvre_agenda() SI _EVE.wParam = 121 ALORS ferme_requetes() Ouvre(AGENDA) FIN
Jacques TREPP
J'avais pas vu que je t'avais donné la mauvaise constante :-(
J'aurais dû testé.
bonjour
est ce que sur le même principe on peut capturer l'ouverture d'une fenêtre ?
merci
Oui, comme la fermeture à partir du moment que c'est un évènement (ce qui est le cas).
merci mais quel cet évènement ?
Bonjour,
désolé de te fournir une réponse flou, mais il y en a plusieurs. Car lors de l'ouverture d'une fenêtre c'est une série d'évènements et dans mon cas je n'utilise pas le premier et dans un projet MDI donc je ne sais plus.
Il va falloir que tu les traces ce n'est pas difficile à faire.
dans le bouton qui déclenche l'ouverture de la fenêtre 2
procédure ptrace code pour tracer _eve.nom, _eve.wmessage et _eve.wparam dans un fichier. Il faut surtout pas afficher la fenêtre de trace car tu vas polluer ta trace.
dans la fenêtre2
tu mets dans le code de prise de focus
finevenement(gEve)
Avec ces infos tu dois pouvoir te débrouiller.
j'ai donc effectué ce que tu m'as recommandé et j'ai pu trapper l'évènement WM_CREATE pour la création des fenêtres en global au projet
maintenant selon certains critères que j'ai défini j'aimerais que la fenêtre s'ouvre ou ne s'ouvre pas suivant ces critères mais lorsque je fais Ferme(LeNomDeMaFenetre) j'ai une belle exception j'ai essaye d'envoyer un message à la fenêtre du style SendMessage(Handle(""),WM_DESTROY,wParam,lParam) mais cela ne fonctionne pas
en clair j'aimerais de façon globale tester à l'ouverture des fenêtres de mon application si elle doit s'ouvrir ou non sans pour autant dans chaque fenêtre mettre un code spécifique
j'ai aussi tester l'évènement WM_SETFOCUS et fais un Ferme(LeNomDeMaFenetre) même si cette méthode fonctionne elle n'est pas tip top car la fenêtre s'ouvre puis se ferme aussitôt donc on voit un flash pas très joli
Pourquoi tu ne surcharges pas ta fonction Ouvre ?
Dans la surcharge de Ouvre, tu indiques simplement tes conditions pour ouvrir ou pas les fenêtres.
parce que j'ai des param passé aux fenêtre et je ne sais pas comment les récup pourr les repassé et j'ai déjà un paquet de fenêtre à faire :-(
Qu'est ce qui t'empêche de faire un
Ouvre(pFenetre,p1,p2...pX)
X étant ton nombre de paramètres maximum
ensuite tu adaptes ton code en fonction du nombre de paramètre déclaré
et tu appelles selon nombre_parametre
cas 0 :wl.ouvre(pFenetre) cas 1 :wl.ouvre(pFenetre,p1)
...
Il me semble qu'à partir de la version 12 il y a une grosse amélioration sur les passages de paramètres.
Tu peux également utiliser compile.
Bref je chercherais plus une solution à ce niveau que par la gestion des évènements car dans ton cas je pense que ce n'est pas adapté et surtout que tu ne pourras pas empêcher le lancement des codes d'initialisation de la fenêtre.
je viens d'essayer une surcharge de la fonction ouvre comme expliquer dans l'aide de la façon suivante :
PROCEDURE Ouvre(_szNomFen,*) // procédure global au projet
// appel Ouvre(F_Fenêtre1) => exception pourquoi je ne sais pas il me dit que le champs est inconnu Ouvre(F_Fenêtre1..Nom) => idem Ouvre("F_Fenêtre1") => pas exception ici mais une dans la procédure
la trace fonctionne mais WL.Ouvre est en exception le message ci dessous.
si tu as une idée je suis preneur
// Message d'erreur généré par l'exception Erreur à la ligne 20 du traitement Procédure globale Ouvre. Vous avez appelé la fonction Ouvre. Impossible d'ouvrir la fenêtre <> pour la raison suivante :
L'objet n'a pas été trouvé.
Informations techniques
Projet : WD
Dump de l'erreur du module <WD120OBJ.DLL> <12.00Pyn>.
- Appel WL : Traitement de <WD.Ouvre>, ligne <20>, thread <0> Fonction <Ouvre>, n° de syntaxe <0>
- Niveau : erreur fatale (EL_FATAL)
- Code erreur : 10019
- Code erreur WD55 : 0
- Pas de code d'erreur système
- Pas de message d'erreur système
- Que s'est-il passé ? Impossible d'ouvrir la fenêtre <> pour la raison suivante :
L'objet n'a pas été trouvé.
- Infos de debug : Chargement de la partie exécution d'un objet Nom physique : Type cherché : 2 Fonction (1,1)
- Infos attachées : EIT_PILEWL : Procédure globale Ouvre (WD.Ouvre), ligne 20 Clic sur BTN_TEST (F_TEST.BTN_TEST), ligne 1 EIT_COMPOSANT :
EIT_DATEHEURE : 19/11/2008 14:59:56
- Identifiant dans le .err : 10019
Assistance
Ma réponse en face: WL.Ouvre(_szNomFen,MesParamètres[2 A])
Tu as pourtant apparement copié l'exemple de l'aide ^^
ma réponse en face : merci c'est exactement ça le pb qui en fait ne correspond en rien au message
oui je m'en suis servi mais j'ai pas fait de copier/coller j'ai directement saisie le code :'(
nickel ca marche impec
-- Cordialement JeAn-PhI
Dans son message précédent, JeAn-PhI a écrit :
Pascal F a utilisé son clavier pour écrire :
JeAn-PhI avait prétendu :
Dans son message précédent, Daniel a écrit :
JeAn-PhI a écrit :
Daniel a utilisé son clavier pour écrire :
JeAn-PhI a écrit :
Daniel avait écrit le 19/11/2008 :
JeAn-PhI a écrit :
Daniel a utilisé son clavier pour écrire :
JeAn-PhI a écrit :
Daniel avait soumis l'idée :
Jacques TREPP a écrit :
Merci beaucoup Albert !
Voici le code qui fonctionne :
PROCEDURE ouvre_agenda()
SI _EVE.wParam = 121 ALORS
ferme_requetes()
Ouvre(AGENDA)
FIN
Jacques TREPP
J'avais pas vu que je t'avais donné la mauvaise constante :-(
J'aurais dû testé.
bonjour
est ce que sur le même principe on peut capturer l'ouverture d'une
fenêtre ?
merci
Oui, comme la fermeture à partir du moment que c'est un évènement
(ce qui est le cas).
merci mais quel cet évènement ?
Bonjour,
désolé de te fournir une réponse flou, mais il y en a plusieurs. Car
lors de l'ouverture d'une fenêtre c'est une série d'évènements et
dans mon cas je n'utilise pas le premier et dans un projet MDI donc
je ne sais plus.
Il va falloir que tu les traces ce n'est pas difficile à faire.
dans le bouton qui déclenche l'ouverture de la fenêtre 2
procédure ptrace
code pour tracer
_eve.nom, _eve.wmessage et _eve.wparam dans un fichier.
Il faut surtout pas afficher la fenêtre de trace car tu vas polluer
ta trace.
dans la fenêtre2
tu mets dans le code de prise de focus
finevenement(gEve)
Avec ces infos tu dois pouvoir te débrouiller.
j'ai donc effectué ce que tu m'as recommandé et j'ai pu trapper
l'évènement WM_CREATE pour la création des fenêtres en global au
projet
maintenant selon certains critères que j'ai défini j'aimerais que la
fenêtre s'ouvre ou ne s'ouvre pas suivant ces critères mais lorsque je
fais Ferme(LeNomDeMaFenetre) j'ai une belle exception
j'ai essaye d'envoyer un message à la fenêtre du style
SendMessage(Handle(""),WM_DESTROY,wParam,lParam) mais cela ne
fonctionne pas
en clair j'aimerais de façon globale tester à l'ouverture des fenêtres
de mon application si elle doit s'ouvrir ou non sans pour autant dans
chaque fenêtre mettre un code spécifique
j'ai aussi tester l'évènement WM_SETFOCUS et fais un
Ferme(LeNomDeMaFenetre) même si cette méthode fonctionne elle n'est
pas tip top car la fenêtre s'ouvre puis se ferme aussitôt donc on voit
un flash pas très joli
Pourquoi tu ne surcharges pas ta fonction Ouvre ?
Dans la surcharge de Ouvre, tu indiques simplement tes conditions pour
ouvrir ou pas les fenêtres.
parce que j'ai des param passé aux fenêtre et je ne sais pas comment les
récup pourr les repassé et j'ai déjà un paquet de fenêtre à faire :-(
Qu'est ce qui t'empêche de faire un
Ouvre(pFenetre,p1,p2...pX)
X étant ton nombre de paramètres maximum
ensuite tu adaptes ton code en fonction du nombre de paramètre déclaré
et tu appelles
selon nombre_parametre
cas 0 :wl.ouvre(pFenetre)
cas 1 :wl.ouvre(pFenetre,p1)
...
Il me semble qu'à partir de la version 12 il y a une grosse amélioration
sur les passages de paramètres.
Tu peux également utiliser compile.
Bref je chercherais plus une solution à ce niveau que par la gestion des
évènements car dans ton cas je pense que ce n'est pas adapté et surtout
que tu ne pourras pas empêcher le lancement des codes d'initialisation de
la fenêtre.
je viens d'essayer une surcharge de la fonction ouvre comme expliquer dans
l'aide de la façon suivante :
PROCEDURE Ouvre(_szNomFen,*) // procédure global au projet
// appel
Ouvre(F_Fenêtre1) => exception pourquoi je ne sais pas il me dit que
le champs est inconnu
Ouvre(F_Fenêtre1..Nom) => idem
Ouvre("F_Fenêtre1") => pas exception ici mais une dans la procédure
la trace fonctionne
mais WL.Ouvre est en exception le message ci dessous.
si tu as une idée je suis preneur
// Message d'erreur généré par l'exception
Erreur à la ligne 20 du traitement Procédure globale Ouvre.
Vous avez appelé la fonction Ouvre.
Impossible d'ouvrir la fenêtre <> pour la raison suivante :
L'objet n'a pas été trouvé.
Informations techniques
Projet : WD
Dump de l'erreur du module <WD120OBJ.DLL> <12.00Pyn>.
- Appel WL :
Traitement de <WD.Ouvre>, ligne <20>, thread <0>
Fonction <Ouvre>, n° de syntaxe <0>
- Niveau : erreur fatale (EL_FATAL)
- Code erreur : 10019
- Code erreur WD55 : 0
- Pas de code d'erreur système
- Pas de message d'erreur système
- Que s'est-il passé ?
Impossible d'ouvrir la fenêtre <> pour la raison suivante :
L'objet n'a pas été trouvé.
- Infos de debug :
Chargement de la partie exécution d'un objet
Nom physique :
Type cherché : 2
Fonction (1,1)
- Infos attachées :
EIT_PILEWL :
Procédure globale Ouvre (WD.Ouvre), ligne 20
Clic sur BTN_TEST (F_TEST.BTN_TEST), ligne 1
EIT_COMPOSANT :
EIT_DATEHEURE : 19/11/2008 14:59:56
- Identifiant dans le .err : 10019
Assistance
Ma réponse en face:
WL.Ouvre(_szNomFen,MesParamètres[2 A])
Tu as pourtant apparement copié l'exemple de l'aide ^^
ma réponse en face :
merci c'est exactement ça le pb qui en fait ne correspond en rien au message
oui je m'en suis servi mais j'ai pas fait de copier/coller j'ai directement
saisie le code :'(
PROCEDURE ouvre_agenda() SI _EVE.wParam = 121 ALORS ferme_requetes() Ouvre(AGENDA) FIN
Jacques TREPP
J'avais pas vu que je t'avais donné la mauvaise constante :-(
J'aurais dû testé.
bonjour
est ce que sur le même principe on peut capturer l'ouverture d'une fenêtre ?
merci
Oui, comme la fermeture à partir du moment que c'est un évènement (ce qui est le cas).
merci mais quel cet évènement ?
Bonjour,
désolé de te fournir une réponse flou, mais il y en a plusieurs. Car lors de l'ouverture d'une fenêtre c'est une série d'évènements et dans mon cas je n'utilise pas le premier et dans un projet MDI donc je ne sais plus.
Il va falloir que tu les traces ce n'est pas difficile à faire.
dans le bouton qui déclenche l'ouverture de la fenêtre 2
procédure ptrace code pour tracer _eve.nom, _eve.wmessage et _eve.wparam dans un fichier. Il faut surtout pas afficher la fenêtre de trace car tu vas polluer ta trace.
dans la fenêtre2
tu mets dans le code de prise de focus
finevenement(gEve)
Avec ces infos tu dois pouvoir te débrouiller.
j'ai donc effectué ce que tu m'as recommandé et j'ai pu trapper l'évènement WM_CREATE pour la création des fenêtres en global au projet
maintenant selon certains critères que j'ai défini j'aimerais que la fenêtre s'ouvre ou ne s'ouvre pas suivant ces critères mais lorsque je fais Ferme(LeNomDeMaFenetre) j'ai une belle exception j'ai essaye d'envoyer un message à la fenêtre du style SendMessage(Handle(""),WM_DESTROY,wParam,lParam) mais cela ne fonctionne pas
en clair j'aimerais de façon globale tester à l'ouverture des fenêtres de mon application si elle doit s'ouvrir ou non sans pour autant dans chaque fenêtre mettre un code spécifique
j'ai aussi tester l'évènement WM_SETFOCUS et fais un Ferme(LeNomDeMaFenetre) même si cette méthode fonctionne elle n'est pas tip top car la fenêtre s'ouvre puis se ferme aussitôt donc on voit un flash pas très joli
Pourquoi tu ne surcharges pas ta fonction Ouvre ?
Dans la surcharge de Ouvre, tu indiques simplement tes conditions pour ouvrir ou pas les fenêtres.
parce que j'ai des param passé aux fenêtre et je ne sais pas comment les récup pourr les repassé et j'ai déjà un paquet de fenêtre à faire :-(
Qu'est ce qui t'empêche de faire un
Ouvre(pFenetre,p1,p2...pX)
X étant ton nombre de paramètres maximum
ensuite tu adaptes ton code en fonction du nombre de paramètre déclaré
et tu appelles selon nombre_parametre
cas 0 :wl.ouvre(pFenetre) cas 1 :wl.ouvre(pFenetre,p1)
...
Il me semble qu'à partir de la version 12 il y a une grosse amélioration sur les passages de paramètres.
Tu peux également utiliser compile.
Bref je chercherais plus une solution à ce niveau que par la gestion des évènements car dans ton cas je pense que ce n'est pas adapté et surtout que tu ne pourras pas empêcher le lancement des codes d'initialisation de la fenêtre.
je viens d'essayer une surcharge de la fonction ouvre comme expliquer dans l'aide de la façon suivante :
PROCEDURE Ouvre(_szNomFen,*) // procédure global au projet
// appel Ouvre(F_Fenêtre1) => exception pourquoi je ne sais pas il me dit que le champs est inconnu Ouvre(F_Fenêtre1..Nom) => idem Ouvre("F_Fenêtre1") => pas exception ici mais une dans la procédure
la trace fonctionne mais WL.Ouvre est en exception le message ci dessous.
si tu as une idée je suis preneur
// Message d'erreur généré par l'exception Erreur à la ligne 20 du traitement Procédure globale Ouvre. Vous avez appelé la fonction Ouvre. Impossible d'ouvrir la fenêtre <> pour la raison suivante :
L'objet n'a pas été trouvé.
Informations techniques
Projet : WD
Dump de l'erreur du module <WD120OBJ.DLL> <12.00Pyn>.
- Appel WL : Traitement de <WD.Ouvre>, ligne <20>, thread <0> Fonction <Ouvre>, n° de syntaxe <0>
- Niveau : erreur fatale (EL_FATAL)
- Code erreur : 10019
- Code erreur WD55 : 0
- Pas de code d'erreur système
- Pas de message d'erreur système
- Que s'est-il passé ? Impossible d'ouvrir la fenêtre <> pour la raison suivante :
L'objet n'a pas été trouvé.
- Infos de debug : Chargement de la partie exécution d'un objet Nom physique : Type cherché : 2 Fonction (1,1)
- Infos attachées : EIT_PILEWL : Procédure globale Ouvre (WD.Ouvre), ligne 20 Clic sur BTN_TEST (F_TEST.BTN_TEST), ligne 1 EIT_COMPOSANT :
EIT_DATEHEURE : 19/11/2008 14:59:56
- Identifiant dans le .err : 10019
Assistance
Ma réponse en face: WL.Ouvre(_szNomFen,MesParamètres[2 A])
Tu as pourtant apparement copié l'exemple de l'aide ^^
ma réponse en face : merci c'est exactement ça le pb qui en fait ne correspond en rien au message
oui je m'en suis servi mais j'ai pas fait de copier/coller j'ai directement saisie le code :'(