[C#] PrivateFontCollection : trop d'utilisation fait planter

PrivateFontCollection : trop d'utilisation fait planter [C#] - C#/.NET managed - Programmation

Marsh Posté le 23-12-2004 à 11:42:58    

Salut,
j'ai dans mon application une liste (ListView) contenant les noms de fichiers de polices de caractères. Quand je clique sur un nom, je crée un objet PrivateFontCollection pour pouvoir charger la police sélectionnée (qui n'est pas installée sur le system) et dessiner avec. une fois tout ça fait, je fait un Dispose() sur l'objet PrivateFontCollection. Ca marche bien. Seulement voila, quand je commence à cliquer une fois, 2 fois, 5fois dans la liste pour voir les fonts, au bout d'un moment bloquage total du soft (ctrl-alt-del pour killer). A priori ça vient du PrivateFontCollection, alors il n'aime pas qu'on en crée plusieurs (j'en crée un à chaque clic sur un item de la liste, que je dispose une fois la police affichée) ?
merci de votre aide
  ANT

Reply

Marsh Posté le 23-12-2004 à 11:42:58   

Reply

Marsh Posté le 29-12-2004 à 16:36:24    

Citation :

Any public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Any instance members are not guaranteed to be thread safe


 
Bref, le monsieur il a dit STATIC :D

Reply

Marsh Posté le 02-01-2005 à 15:30:59    

Oui en effet c'est pas bon du tout de créer plusieurs objets PrivateFontCollection, j'en ai donc créé un seul (static) dans lequel j'ajoute les fonts les unes après les autres.
 
Seulement voila, la fonction pour ajouter (AddFontFile) ajoute il me semble dans l'ordre alphabétique du nom des fonts, et du coup je sais pas comment à partir d'un nom de fichier (xxx.ttf) récupérer la bonne FontFamily (membre .Families[]), car à chaque ajout l'ordre se trouve modifié à priori.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed