Crash explorateur Win7 la Methode ClipBoard.Clear (VB.NET)

Fermé
JCDevelop Messages postés 1 Date d'inscription samedi 21 septembre 2013 Statut Membre Dernière intervention 21 septembre 2013 - 21 sept. 2013 à 13:00
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 - 14 janv. 2014 à 15:47
Bonjour,

Débutant en VB.Net, dans un but formatif j'ai entrepris l'écriture d'un petit programme qui a pour objectif la collecte d'informations (chaînes de caractères), lesquelles sont sauvegardées dans un fichier. L'utilisation de ces informations, une fois sélectionnées dans une liste, se fait par l'intermédiaire du Presse Papier vers une autre application.

Aucun problème en mode debug, L'EXE est aussi généré sans problème, tout ça fonctionne bien.

J'ai cependant identifié un grave problème avec l'utilisation de la méthode
' My.Computeur.CLIPBOARD.CLEAR() ' pour effacer le contenu du PP à la fermeture du formulaire.
Mon application fait "crasher" de l'explorateur windows : "Explorateur a cessé de fonctionner ..."

J'ai essayé avec d'autres méthodes :
La méthode suivante est refusée par le compilateur : Clipboard.SetText(""), la valeur ne pouvant être Nulle
Celle-ci : Clipboard.SetText(" ") bien entendu fonctionne sans problème, aucun crash et dont je pourrai me contenter.

Mais j'aimerai comprendre ??????

J'ai "fouillé" et pas vraiment trouvé de réponse claire : un ou deux sites étrangés en parle sans apporter réellement de solution.

Auriez-vous une petite idée ? Merci !

JC
(dev s/ VB Express 2010)



A voir également:

9 réponses

Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
25 sept. 2013 à 16:04
Bonjour,

As-tu importé l'espace de nom :

Microsoft.VisualBasic.MyServices

Voir ici :
https://docs.microsoft.com/fr-fr/previous-versions/visualstudio/visual-studio-2008/fbkdxwy6(v=vs.90)?redirectedfrom=MSDN

K
0
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
25 sept. 2013 à 16:04
Bonjour,

As-tu importé l'espace de nom :

Microsoft.VisualBasic.MyServices

Voir ici :
<http://msdn.microsoft.com/fr-fr/library/fbkdxwy6(v=vs.90).aspx>

K
0
Bonsoir,

J'ai essayé cela :

'Imports Microsoft.VisualBasic.MyServices'

Malheureusement le problème n'est pas résolu pour autant.
Merci pour la réponse,
JC
0
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
30 sept. 2013 à 13:38
re:

J'essairai peut-être ceci :

Clipboard.SetText(String.Empty) ???

K
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonsoir,
Testé, malheureusement c'est refusé par VB.net express !!
pas de chaîne vide.

Ce qui me surprend, c'est que je sois le seul (apparemment, vu l'absence de réponse, j'ai aussi posté sur un autre forum).
J'ai 3 PC à la maison (W7 x64), le problème de crash est sur les 3.
Bizarre, bizarre !!
0
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
1 oct. 2013 à 16:16
re:

Pour l'instant, je n'ai pas d'autres idées.

Peut-être plus tard quand j'aurai remonter mon poste avec Linux Open Suse 12.2,
et que j'aurai virtualisé les version de Windows, je pourrai faire des test.

J'ai rencontré ce problème sur VBA et j'ai du ajouter une déclaration d'API.


Public Declare Function CountClipboardFormats Lib "user32" () As Long
Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function EmptyClipboard Lib "user32" () As Long
Public Declare Function CloseClipboard Lib "user32" () As Long

Je ne sais pas si tu peux obtenir ces API sur W7 64 bits

k
0
Je viens de tester ta proposition. Le problème n'est pas résolu.
Du moins sur mes machines qui sont en W7 X64. Il faudrait que je teste sur W7 X32.
En fait l'explorateur est instable (mon appli refermé) tant que le Presse Papier est vide. Dès qu'il est rempli à nouveau le problème disparait.

Je vais aussi interroger le forum Msdn.

Merci pour ces réponses !
JC
0
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
10 déc. 2013 à 17:47
Bonjour,

Voilà, j'ai trouvé ces lignes de code dans un programme codé sous VB2008


Clipboard.SetDataObject(String.Empty)
Clipboard.SetDataObject(txtNM_ORG_INT_EXT.Text.Trim)

n.b. Pas tester sur VB2010

K
0
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
14 janv. 2014 à 15:47
Bonjour,

(Efface le contenu di presse-papier)
Clipboard.SetDataObject(String.Empty)
(Capture la valeur d'un TextBox (txtNm_ORG_INT_EXT) dans le presse papier)
Clipboard.SetDataObject(txtNM_ORG_INT_EXT.Text.Trim)


txtNM_ORG_INT_EXT.Text.Trim

txtNM_ORG_INT_EXT corespond à un TextBox
txtNM_ORG_INT_EXT.Text correspond à sa valeur texte
txtNM_ORG_INT_EXT.Text.Trim correspond à sa valeur trimmer ( suppression des espaces inutiles)

K
0