Salut à tous ,
Voila, mon appli, à l'appel d'une combinaison de touches, doit copier le contenu de la sélection en cours de l'appli au premier plan vers le clipboard.
La procedure donne ça (de tête):
En fait ça marche mais le problème est que je récupère de temps à autre un message d'erreur "Cannot open clipboard".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Procedure CopieClipboard; begin ...simule ctr+c if Clipboard.HasFormat(CF_TEXT) then Cliptxt:=clipboard.astext; end;![]()
j'ai d'abbord voulu empécher l'aprition du message avec un try except mais sans succès et de toutes manière je veux éviter de récuperer une variable vide.
après un petit F1 sur Clipboard j'ai remanié mon code comme ceci :
...et la miracle ! plus de message d'erreur ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Procedure CopieClipboard; begin ...simule ctr+c Clipboard.open; if Clipboard.HasFormat(CF_TEXT) then Cliptxt:=clipboard.astext; Clipboard.close; end;
... mais plus de valeur dans ma variable Cliptxt non plus !
en fait le open et le close semblent rendre le clipbord windows inaccessible.
Ce n'est donc pas la solution.
Quelqu'un aurait-il une explication à ce message (cannot open clipboard) ?
Est-ce une autre appli qui monopolise son utilisation ?
Comment m'assurer son accès ?
Merci d'avance
ps: je précise que si j'utilise une similation de ctr+c c'est parceque l'appli qui contient les champs dont je veux récupérer le contenu ne me laisse pas utiliser les handles des ses champs (certains oui certains non...)
mais ceci fera l'objet d'un autre post![]()
Partager