Windev et le copier-coller de fichiers

Posté par Anonyme le 2/8/2004 17:35:52
Bonjour

Il y a deux exemples de copier-coller windev/windows dans les FAQ. L'un fonctionne très bien (le "copier windows vers windev"), mais l'inverse, le "copier windev vers windows" ne semble pas fonctionner (il manque les déclarations, mais même après avoir spécifiées celle-ci, j'ai toujours un message d'erreur "impossible de copir Fichier : le nom de fichier spécifié n'est pas valide ou est trop long.")

D'autre part, j'ai aussi ce code, qui a le même problème :
(on met dans la table des chemins de fichiers. Par exemple "c:\texte.txt")

PROCEDURE Table_Vers_Clipboard(nom_table)
ch est une chaîne
i,ipos est un entier
Handle_1, Handle_2 est un entier
SI AppelDLL32("user32","OpenClipboard",Handle()) ALORS
AppelDLL32("user32","EmptyClipboard")
Handle_1 = AppelDLL32("kernel32","GlobalAlloc",0x2,10000000)
SI Handle_1 ALORS
Handle_2 = AppelDLL32("kernel32","GlobalLock",Handle_1)
POUR i = 1 A TableOccurrence(nom_table,toColonne)
ch+={nom_table}[1][i]
FIN
// ch+=RC
AppelDLL32("kernel32","RtlMoveMemory",Handle_2,&ch,Taille(ch))
ipos = Handle_2+Taille(ch)
POUR i=1 A {nom_table}..Occurrence
ch={nom_table}[i]+Caract(0)
AppelDLL32("kernel32","RtlMoveMemory",ipos,&ch,Taille(ch))
ipos+=Taille(ch)
FIN
AppelDLL32("kernel32","GlobalUnlock",Handle_1)
AppelDLL32("user32","SetClipboardData",CF_HDROP,Handle_1)
FIN
FIN
AppelDLL32("user32","CloseClipboard")
AppelDLL32("kernel32","GlobalFree",Handle_1)


Quelqu'un saurait-il d'où vient le problème ?
Et enfin, comment faire pour le couper/coller ?
Merci d'avance à ceux qui voudront bien se pencher sur mon problème.



Le lien vers le "copier windev/windows" de la FAQ :
http://old.wdforge.org/modules/wffaq/article.php?t=53

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=5&topic_id=1183&post_id=4754