Implementation des interfaces IDropTarget, IDropSource...

Programmation d'applications complexes
Avatar de l’utilisateur
ZapMan
Messages : 460
Inscription : ven. 13/févr./2004 23:14
Localisation : France
Contact :

Re: Implementation des interfaces IDropTarget, IDropSource..

Message par ZapMan »

pbprint a écrit :@ZapMan
1. En règle générale, (selon ton code), la valeur du pointeur (*buffer=*X+*X/Y) doit servir d'adresse de stockage de l'information, mais, après plusieurs itérations, cette adresse se déplace d'1 octet vers la gauche, est-ce que vous pensez que ce déplacement a un rapport avec la capacité mémoire, ou un cas volontaire prévu pour les valeurs non unicodes?
...
ouhla, ouhla, 8O c'est dans quelle procédure ? Je suis perdu :oops:
pbprint a écrit : 2. Pourquoi le nbre d'octets est limité à 1000? Cette instruction est très claire :
[CopyMemory(*buffer,*buffer2,StringSize)], mais elle ne sera exécutée que si:
[ (nbzero = 2 Or limit>=1000 ], c'est à dire que la taille de notre DataString peut très bien être égale=1000. Je voudrais savoir pourquoi cette limite.
Dans le cas étudié, la DataString est normalement assez court, puisqu'il ne contient que les noms des fichiers déplacés par Drag and Drop; Sa longueur devrait donc toujours être largement inférieure à 1000. J'ai mis cette limite de 1000 par prudence, au cas où quelque chose cloche dans l'enregistrement des données.




Je viens de faire une nouvelle mise à jour du code pour corriger un autre bug dans DataObject\Release. J'ai également enlevé le verrou dans "SetData" dont je parle dans un message précédent et j'ai simplement augmenté la taille des tableaux *dataobject\m_format[] et *dataobject\m_stgmed[] qui saturaient. C'est plus propre comme ça.
Tout obstacle est un point d'appui potentiel.

Bibliothèques PureBasic et autres codes à télécharger :https://www.editions-humanis.com/downlo ... ads_FR.htm
pbprint
Messages : 6
Inscription : lun. 19/juil./2010 17:03

Re: Implementation des interfaces IDropTarget, IDropSource..

Message par pbprint »

@ZapMan
Dans le cas étudié, la DataString est normalement assez court, puisqu'il ne contient que les noms des fichiers déplacés par Drag and Drop; Sa longueur devrait donc toujours être largement inférieure à 1000. J'ai mis cette limite de 1000 par prudence, au cas où quelque chose cloche dans l'enregistrement des données.
Oui, c'est exactement ce que je pensais mais je voulais avoir ton avis, surtout quand on sait au départ que le DataString ne pourrait presque jamais atteindre cette longueur (sauf si qq chose cloche au niveau de l'enregistrement des données).

Merci pour la réponse.
Bons succès
Répondre