PureBasic

Forums PureBasic
Nous sommes le Lun 20/Mai/2013 3:32

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 4 messages ] 
Auteur Message
 Sujet du message: GetClipboardText() bug
MessagePosté: Dim 22/Fév/2004 23:56 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 13/Fév/2004 23:14
Messages: 391
Localisation: Nouvelle-Calédonie
GetClipboardText() se plante quand le contenu du presse-papier fait plus de 60000 (et moins de 65000, je n'ai pas cherché la limite exacte).
Ca serait quand même plus propre s'il y avait au moins un message du genre "Contenu trop grand." au lieu d'un plantage.

J'ai aussi un bug trés étrange sur l'une de mes machines quand j'essaye de lancer GetClipboardText() avec comme contenu dans le presse-papier :

GetClipboardData_(LF)
*D = GlobalLock_(*hmem)

Ca le fait à chaque fois avec ce texte précis (il suffit que je change une lettre ou deux pour que ça ne le fasse plus). Mais sur mon deuxième poste, ça ne le fait pas (en tout cas pas avec ce texte là). Les deux postes sont sous XP.

Je pense qu'il serait interressant de faire une moulinette qui copie tout un tas de truc dans le presse-papier et qui essaye en suite de lancer cette fonction pour essayer de préciser ce qui la fait planter.

J'ai aussi un plantage avec la fonction GetClipBoardData quand les datas sont trop importants, alors que la fonction GetClipBoardData_ de l'API qui fait exactement la même chose ne plante pas.

C'est quand même fort de café !

Enfin et pour conclure, la fonction Mid sa vautre aussi quand on travaille sur une chaine trop longue (souvent mais pas toujours, c'est assez space (c'est le cas de le dire)).

_________________
>>>> Mesurez votre audience de site web avec RankSpirit <<<<


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Lun 23/Fév/2004 10:16 
Hors ligne
Site Admin

Inscription: Mer 21/Jan/2004 11:03
Messages: 1904
en fait, c'est la limitation des chaines de caratères qui fait ca. Tu peux utiliser la fonction: http://purebasic.myforums.net/viewtopic ... buffersize pour agrandir ce buffer. En tout cas, ca ne devrait pas planter, je vais corriger ca.


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Mar 24/Fév/2004 22:13 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 13/Fév/2004 23:14
Messages: 391
Localisation: Nouvelle-Calédonie
Merci beaucoup pour le tuyau, Fred. Mais ça n'explique pas pourquoi certains textes très courts comme mon
"GetClipboardData_(LF)
*D = GlobalLock_(*hmem)"
font parfois planter GetClipboardText !

_________________
>>>> Mesurez votre audience de site web avec RankSpirit <<<<


Haut
 Profil  
 
 Sujet du message:
MessagePosté: Ven 27/Fév/2004 5:43 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 13/Fév/2004 23:14
Messages: 391
Localisation: Nouvelle-Calédonie
Ok, j'ai pris le temps de bien tester. Résultat : Si on a saturé une fois la mémoire du buffer avec une chaine trop longue, le GetClipBoardText se met à planter sur certaines chaines courtes, bien particulières tant qu'on a pas relancé PureBasic.
Donc, pas de quoi se prendre le choux pour toi, Fred, à partir du moment ou tu bloque les chaines trop longues.
A ce sujet, et compte tenu de l'efficacité diabolique de ta bidouille pour augmenter la taille du buffer :
- plutôt que d'emettre un message quand la chaine dépasse la taille du buffer, pourquoi ne pas redimensionner le buffer à la volée ?

_________________
>>>> Mesurez votre audience de site web avec RankSpirit <<<<


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 4 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye