2010-08-17 3 views
0

Un client a signalé que notre logiciel se bloque lorsqu'il l'exécute sur l'un de ses ordinateurs. Nous avons réduit le problème à rendre le texte avec FormattedText et mis en place une application simple pour lui d'essayer, ce qui rend juste du texte avec des paramètres de police différents - cela serait également suspendu..NET: le texte de dessin se bloque - Bogue FormattedText?

est ici le bit de code qui fait le dessin de texte actuel:

Typeface typeface = new Typeface(m_Font, m_FontStyle, m_FontWeight, FontStretches.Normal); 
FormattedText ftext = new FormattedText(m_Text, new CultureInfo("en-US"), FlowDirection.LeftToRight, typeface, m_FontSize, m_FontColor); 

ftext.TextAlignment = CenterText ? TextAlignment.Center : TextAlignment.Left; 

if (m_DrawOutline) 
{ 
    Geometry geom = ftext.BuildGeometry(CenterText ? new Point(ftext.Width, 0) : new Point()); 
    dc.DrawGeometry(m_FontColor, DrawOutline ? new Pen(m_OutlineColor, m_OutlineWidth) : null, geom); 
} 
else 
    dc.DrawText(ftext, CenterText ? new Point(ftext.Width, 0) : new Point()); 

Le programme arrête simplement de répondre à chaque fois que les méthodes ftext.BuildGeometry, dx.DrawText ou la propriété ftext.Width est appelée, quelle que soit la police et les paramètres de texte utilisés. Cela se produit uniquement sur un ordinateur, qui est un ordinateur portable à écran tactile (pas sûr que cela soit pertinent) fonctionnant sous Windows 7. Nous avons déjà essayé de réinstaller le .NET Framework mais cela n'a pas aidé.

Est-ce que quelqu'un a rencontré un problème similaire? Des idées pour résoudre, contourner ou au moins en savoir plus sur la raison de ce problème?

Merci.

+1

Avez-vous essayé la mise à jour/déclasser le pilote de carte graphique? Pour être sûr de ce qui est exactement le coupable obtenir la pile à partir d'un débogueur ou un explorateur de processus. Si vous vous retrouvez coincé dans le pilote, c'est du matériel ou du logiciel, mais vous ne pouvez rien résoudre directement de toute façon. Si c'est dans DirectX ou le noyau ... je ne sais pas peut-être contacter un support de micsosoft via MSDN. –

Répondre

1

Je n'ai jamais personnellement rencontré ce problème et j'utilise Windows 7 à la maison. Cependant, si ce n'est que sur une machine, il y a fort à parier que le problème n'est pas lié au logiciel. La première étape que je voudrais essayer est de télécharger les pilotes d'affichage vidéo les plus récents et les installer. Si cela vous cause toujours un problème, essayez de démarrer en mode sans échec et voyez s'il fonctionnera.

+0

Merci pour votre réponse. Nous avons déjà essayé d'installer les derniers pilotes grahpics (c'est une carte ATI) mais cela n'a pas aidé ... Je vais demander au client d'essayer le mode sans échec. Que dirait-il si cela fonctionnait en mode sans échec? – Lukasz

+0

Si cela fonctionne en mode sans échec, alors il me dit qu'il ya un pilote ou une application logicielle qui interfère avec le fonctionnement de votre programme. Peut-être qu'un balayage de virus pourrait être nécessaire aussi? – Icemanind