Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| KGF_dll - nouvelles versions | |
|
+13The Gamer Nardo26 silverman Minibug Pedro mindstorm pascal10000 Jicehel papydall Jean Claude JL35 Yannick Klaus 17 participants | |
Auteur | Message |
---|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: KGF_dll - nouvelles versions Dim 15 Fév 2015 - 13:40 | |
| Salut Maître Klaus. J’ai testé et c’est OK, à part le plantage au bout du TERMINATE. TERMINATE changé par res% = dll_call1("KillProcessByHandle",handle(0)) et tout est en ordre. Il paraît que le problème du TERMINATE avec KGF.dll ne se produit qu’avec moi. TERMINATE ne m’aime pas, maître Klaus ; mais moi j'apprécie fort bien ce que tu fais! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 15 Fév 2015 - 13:52 | |
| Ce problème se pose lorsque tu sors du programme sans avoir coupé la liaison avec Word, au préalable. Pour sortir, utilise d'abord le bouton "Disconnect", puis "Exit". Ca devrait se passer correctement. Il est vrai que dans le programme de démo, j'aurais dû désactiver la croix rouge par - Code:
-
res% = DLL_call2("SetCloseBox",handle(0),0)
l est vrai aussi que j'utilise ce fonction KillProcessByHandle assez couramment, pour sortir d'un programme... | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: KGF_dll - nouvelles versions Dim 15 Fév 2015 - 14:24 | |
| Chez moi, quelque soit le code dans lequel je déclare KGF.dll, le TERMINATE est synonyme de plantage ! Toute autre DLL se comporte gentiment. Il faut bien quelqu’un ou quelque chose pour ne pas m’aimer ! - Code:
-
dll_on "C:\Users\acer\Desktop/KGF.dll" message "Coucou" terminate : ' Plantage assuré !!!
Comme le remède existe - Code:
-
res% = dll_call1("KillProcessByHandle",handle(0)) ça finit par rentrer dans les rangs. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 15 Fév 2015 - 14:35 | |
| Etrange. Je place la DLL sur mon bureau et je fais ceci: - Code:
-
dll_on "C:\Users\klausgunther\Desktop/KGF.dll" message "Coucou" terminate : ' Plantage assuré !!! Pas de plantage. Ca marche. Enfin, si tu as trouvé ta solution avec KillProcessByHandle, alors ... Juste une remarque: Il y a un "/" dans ton code, juste avant KGF.dll. Chez moi, pas de problème. Que ce soit "/" ou "\", ça marche dans les deux cas. Mets tout de même un "\"... | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: KGF_dll - nouvelles versions Dim 15 Fév 2015 - 15:19 | |
| Que ce soit « \ » ou « / », ça ne change rien. Dans tous les cas, je dois tuer le processus pour en sortir. Comme je ne suis pas un tueur, j'opte pour - Code:
-
res% = dll_call1("KillProcessByHandle",handle(0)) et tout le monde est beau, tout le monde est gentil | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Dim 15 Fév 2015 - 19:07 | |
| La doc de KGF.dll pour toutes les fonctions Word est prête ! Il suffit de télécharger KGF.chm. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| | | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 17 Fév 2015 - 18:04 | |
| Klaus, crois tu qu' il serait possible de rajouter une fonction à modify toolbar ? Changer l' icône d' un bouton et son hint... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 17 Fév 2015 - 19:14 | |
| Est-ce que tu as essayé de créer deux boutons, rendre un des deux boutons invisible, et inverser la visibilité des deux boutons, selon les besoins, avec ModifyToolbar code 4 ? Si cela ne résout pas ton problème, je vais étudier la question, en ajoutant un code 9. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 17 Fév 2015 - 21:04 | |
| Je ne peux pas charger deux boutons sur le même emplacement, la fonction est "add" et les met les uns à la suite des autres... si j' en mets deux avec le même ID, j' ai peur que çà fasse | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 17 Fév 2015 - 22:28 | |
| Avec des IDs différents, bien sûr... mais t'inquiète pas - je fais cette fonction ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 17 Fév 2015 - 22:42 | |
| Du temps, je pars à la recherche d' un "IF" solitaire... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 17 Fév 2015 - 22:53 | |
| Nouvelle version: KGF.dll V4.28 du 17/02/2015
Nouveautés: - ModifyToolbar: nouveau code 8 - changer icône et/ou hint
Modules modifiés: KGF.dll KGF.chm
La doc et les sources sont à jour.
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 17 Fév 2015 - 23:07 | |
| On est synchrone, je viens de trouver mon "IF" célibataire ! Je me met à jour tout de suite. Cette fonction va me permettre d' attribuer plusieurs fonctions à un bouton de la toolbar selon l' état du panel TB_Pan% en leur associant une icône conforme à la fonction... Merci Klaus. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 17 Fév 2015 - 23:13 | |
| Intéressant ! Tiens-moi au courant du résultat. Pour des raisons techniques, je n'ai pas pu le tester, pour le moment, mais je l'ai codé avec soin. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 17 Fév 2015 - 23:31 | |
| Je vais te faire une petite explication de ce que je veux faire. - Si le panel général est bloqué, le bouton m' ouvrira directement la fenêtre d' ajout des sub à la base - Si le panel général est activé, le bouton ouvrira le panneau des sub que l' on peut ajouter au programme. Panneau qui a un bouton pour ouvrir la fenêtre d' ajout. Ce qui veut dire que l' utilisateur n' aura pas besoin d' avoir un projet ouvert pour ajouter une sub à la base. Le changement d' icone est lié à l' activation/désactivation du panel général. Le panel général est désactivé au départ pour éviter que l' utilisateur code sans qu' il y ait un projet d' ouvert. ( Et éviter une panade pour récupérer le code dans un projet.) La suite visuel dans mon prochain zip... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mar 17 Fév 2015 - 23:33 | |
| Bonne idée ! Je suis curieux de savoir si le code 9 fonctionne... | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 18 Fév 2015 - 1:58 | |
| | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 18 Fév 2015 - 2:04 | |
| Super ! Ce sera bien une des rares fois où j'arrive à faire de telles extensions, sans avoir l'occasion de tester, et que ça marche du premier coup ! Merci de jouer le cobaye, Ygeronimi ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 18 Fév 2015 - 2:11 | |
| Le résultat est dans le dernier zip sur mon webdav. Une chose à penser, c' est la possibilité de le faire depuis une librairie *.ilb cela va ouvrir des tas de possibilités En plus, on a l' outils pour créer ou modifier cette librairie. Pour skinner l' interface, il suffit de changer la librairie. Là, il faut tout un tas d' icônes, on pourrait s' y perdre... En plus, il n' y a presque plus besoin de désactiver la toolbar, il suffit de donner une icone inactive puis une icone active et de conditionner l' action à l' activité d' un panel ou pas. Si tu prends 2 panel en full_space, tu peux avoir deux toolbar en une, une pour chacun des panels... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 18 Fév 2015 - 11:19 | |
| Nouvelle version: KGF.dll V4.29 du 18/02/2015Nouveautés: - nouvelle fonction PrintWordDocumentModules modifiés: KGF.dll KGF.chm
La doc et les sources sont à jour. Cette fonction imprime le document actif de Word sur l'imprimante par défaut. Voici le programme de démo qui inclut cette fonction: - Code:
-
' test_Word.bas
label isrunning, start, terminer, connect, disconnect, exit label new, close, save, saveas, open, send, copy, cut, paste, imprimer label search, nexts, replace, nextr
dim res%, fil$, txt$, fnd%, txt2$, casse%
width 0,500 : height 0,300
button 1 : top 1,10 : left 1,10 : caption 1,"IsRunning" on_click 1,isrunning button 2 : top 2,30 : left 2,10 : caption 2,"Start" on_click 2,start button 3 : top 3,50 : left 3,10 : caption 3,"Terminate" on_click 3,terminer button 4 : top 4,70 : left 4,10 : caption 4,"Connect" on_click 4,connect button 5 : top 5,90 : left 5,10 : caption 5,"Disconnect" on_click 5,disconnect
button 11 : top 11,10 : left 11,110 : caption 11,"New" on_click 11,new button 12 : top 12,30 : left 12,110 : caption 12,"Close" on_click 12,close button 13 : top 13,50 : left 13,110 : caption 13,"Save" on_click 13,save button 14 : top 14,70 : left 14,110 : caption 14,"SaveAs" on_click 14,saveas button 15 : top 15,90 : left 15,110 : caption 15,"Open" on_click 15,open
button 21 : top 21,10 : left 21,210 : caption 21,"SendText" on_click 21,send button 22 : top 22,30 : left 22,210 : caption 22,"Copy" on_click 22,copy button 23 : top 23,50 : left 23,210 : caption 23,"Cut" on_click 23,cut button 24 : top 24,70 : left 24,210 : caption 24,"Paste" on_click 24,paste button 25 : top 25,90 : left 25,210 : caption 25,"Print" on_click 25,imprimer
button 31 : top 31,10 : left 31,310 : caption 31,"Search" on_click 31,search button 32 : top 32,30 : left 32,310 : caption 32,"Search Next" on_click 32,nexts button 33 : top 33,50 : left 33,310 : caption 33,"Replace" on_click 33,replace button 34 : top 34,70 : left 34,310 : caption 34,"Replace Next" on_click 34,nextr check 35 : top 35,100 : left 35,310 : caption 35,"CaseSensitive"
button 900 : top 900,190 : left 900,10 : caption 900,"Exit" on_click 900,exit
save_dialog 901 : filter 901,"Documents Word|*.doc" open_dialog 902 : filter 902,"Documents Word|*.doc"
edit 903 : top 903,height(0)-60 : left 903,10 : width 903,width(0)-40
alpha 904 : top 904,130 : left 904,10 : caption 904,"Search:" edit 905 : top 905,130 : left 905,70 : width 905,400 alpha 906 : top 906,150 : left 906,10 : caption 906,"Replace:" edit 907 : top 907,150 : left 907,70 : width 907,400
dll_on "KGF.dll"
end
isrunning: res% = dll_call0("IsWordRunning") select res% case 0: text 903,"Word n'est pas actif" case 1: text 903,"Word est actif" end_select return start: res% = dll_call1("StartWord",1) log() return terminer: res% = dll_call0("TerminateWord") log() return
connect: res% = dll_call0("IsWordRunning") if res%=1 then res% = dll_call1("ConnectToWord",1) log() return
disconnect: res% = dll_call0("DisconnectFromWord") log() return exit: res% = dll_call0("DisconnectFromWord") terminate
new: res% = dll_call0("NewWordDocument") log() return
close: res% = dll_call0("CloseWordDocument") log() return
save: res% = dll_call0("SaveWordDocument") log() return
saveas: text 903,"" fil$ = file_name$(901) if fil$="_" then return if instr(lower$(fil$),".doc")<>(len(fil$)-4) then fil$ = fil$ + ".doc" res% = dll_call1("SaveWordDocumentAs",adr(fil$)) log() return
open: text 903,"" fil$ = file_name$(902) if fil$="_" then return if instr(lower$(fil$),".doc")<>(len(fil$)-3) then fil$ = fil$ + ".doc" res% = dll_call1("OpenWordDocument",adr(fil$)) log() return send: txt$ = text$(905) res% = dll_call1("SendTextToWord",adr(txt$)) log() return
copy: res% = dll_call0("CopyWordToClipboard") log() return
cut: res% = dll_call0("CutWordToClipboard") log() return
paste: res% = dll_call0("PasteClipboardToWord") log() return imprimer: res% = dll_call0("PrintWordDocument") log() return search: txt$ = text$(905) casse% = checked(35) res% = dll_call3("SearchTextInWord",0,casse%,adr(txt$)) fnd% = res% log1() return
nexts: txt$ = text$(905) casse% = checked(35) res% = dll_call3("SearchTextInWord",fnd%+1,casse%,adr(txt$)) fnd% = res% log1() return
replace: txt$ = text$(905) txt2$ = text$(907) casse% = checked(35) res% = dll_call4("ReplaceTextInWord",0,casse%,adr(txt$),adr(txt2$)) fnd% = res% log1() return
nextr: txt$ = text$(905) txt2$ = text$(907) casse% = checked(35) res% = dll_call4("ReplaceTextInWord",fnd%+1,casse%,adr(txt$),adr(txt2$)) fnd% = res% log1() return
sub log() select res% case 0: text 903,"Ok" case -1: text 903,"Error" end_select end_sub
sub log1() if res%=-1 then text 903,"Error" if res%=-2 then text 903,"Not found" if res%>=0 then text 903,"Trouvé en position "+str$(res%) end_sub
| |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: KGF_dll - nouvelles versions Mer 18 Fév 2015 - 19:11 | |
| Bien sur, comme d'habitude, je n'ai pas lu la notice jointe et pourtant ça marche et même très bien. Bravo et merci je suis certain que beaucoup vont s'en servir | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Mer 18 Fév 2015 - 19:16 | |
| Je suis content que cela te soit utile, Mindstorm ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 19 Fév 2015 - 1:04 | |
| Hallo, Houston !...on a un problème... Comme l' a signalé Jean Claude, les fonctions webbrowser page suivante et précédente provoque un message aggressif, voir violent.... Et j' ai un autre souci avec la fonction impression de synedit. Mais là, je suis perplexe, il veut bien m' imprimer les pages 1,3,4,5 mais pas la 2 | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: KGF_dll - nouvelles versions Jeu 19 Fév 2015 - 1:22 | |
| - Citation :
- Comme l' a signalé Jean Claude, les fonctions webbrowser page suivante et précédente provoque
un message aggressif, voir violent....
Comment tu utilises WebBrowser ? Je ne savais pas que tu avais besoin de ce composant pour PPE... Il est d'utilisation délicate, mais il fonctionne bien. Mets, dans un fichier BAS séparé: 1. chargement de la DLL 2. création du Webrowser 3. configuration du WebBrowser (position, ...) 4. chargement d'une adresse URL initiale 5. et finalement, page suivante ou précédente. Ainsi, tu verras s'il plante ou non, et, le cas échéant, tu pourras me passer ce code pour analyse. - Citation :
- Mais là, je suis perplexe, il veut bien m' imprimer les pages 1,3,4,5 mais pas la 2
Je suis perplexe aussi. Est-ce que la page 2 est vide ? Comment détermines-tu la page d'impression ? Car, à aucun moment, la fonction DLL s'en occupe - c'est directement le dialogue d'impression de Windows qui s'en charge... | |
| | | Contenu sponsorisé
| Sujet: Re: KGF_dll - nouvelles versions | |
| |
| | | | KGF_dll - nouvelles versions | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |