Frage

Ich habe ein Stück Software, die fein auf vielen Maschinen gearbeitet hat, althoughon eine Maschine gibt es ein Problem, dass occasionaly auftreten erscheint, das Menustrip und Toolstrip erscheinen sowohl als leeren weißen Hintergrund mit einem roten Kreuz darüber, wie eine individuelle Steuerung würde, wenn Sie ein null-Objekt erstellt. Dies geschieht nicht, während ich das Debuggen und ich weiß nicht, wie das Problem erneut auftreten zu machen, aber es kommt vor. Ich habe mich gefragt, ob jemand weiß, was das Problem sein könnte?

Wäre es die Version des .NET Framework sein?

Danke

War es hilfreich?

Lösung

Dies ist ein gemeinsames Auftreten, wenn es ein Problem GDI + ( "The Red X of Death"). Tun Sie eine benutzerdefinierte in OnPaint Zeichnung? Oder vielleicht ist es eine Grafik-Ressource oder eine Glyphe, die beschädigt ist oder nicht ordnungsgemäß entsorgt werden.

Edit: Ich habe wieder lesen Ihre Frage. Sie scheinen dies auf einer der Maschinen nur zu haben. Ich habe für diese um ein bisschen gegoogelt und ich gestolpert dieser alten Thread . Der Pfosten am Boden legt nahe, dass es möglicherweise ein Problem mit Virtual Memory ausgeschaltet:

  

Wir schaffen dies zu lösen - wir waren   Sehen Sie das Problem auf einem Gerät läuft   XP embedded. Der XPe Bildentwickler   hatte aus virtuellem Speicher eingeschaltet und als   sobald wir stellte sich das Problem   ging weg. Ich glaube, es ist nur ein   Symptom des Systems läuft aus   Speicher, um die Grafik anzuzeigen (vielleicht   vor allem, wenn Sie eine Menge verwenden   Double-Buffering)

Ich hoffe, das hilft.

Andere Tipps

Klingt wie ein Symptom einer Out Of Memory Exception zu mir.

Edit: Die manchmal kann auf ein System.InvalidOperationException: BufferedGraphicsContext führen

Versuchen Sie, die GUI-Controls von einem anderen Thread als der GUI-Thread zu aktualisieren? Kombinieren Sie den Querfadenbetrieb mit einem Ausnahme-Handler, der alles geschluckt und wir hatten das Verhalten, das Sie (auf einer Grid-Control, keinen Menustrip bar) beschreiben auf einer App Ich wurde beibehalten.

Definitiv klingt wie ein Cross-Thread-Problem.

Stellen Sie sicher, Invoke verwenden, wenn Kontrollen Zugriff und / oder Ereignisse aus einem Thread Brennen, die nicht der Haupt-UI-Thread ist.

Bei diesem Anblick auf nur einen Computer passiert von mehr als 1000, die unsere prouducts haben. An diesem einen Computer sehe ich ein occassionally .NET 3.5-Programm auf das rote X auf dem Datenraster zeigen. Und noch ein weit einfacheres bekam .NET 2.0-Programm auf die roten X auf seinem Menustrip. Ich habe nur Quellcode für das einfachere Programm, aber ich kann sagen, dass es keinen Benutzer-Code überhaupt ist, das diese Komponente beeinflusst. Keine verkanten Sachen, weil nichts aktualisiert sie. Es ist Inhalte werden zur Entwicklungszeit festgelegt mit einem Element, um es bei Programmlast hinzugefügt. Der Red X Ausfall war auch nach dem Programmlast.

Ich war sehr überrascht, dass das Problem auf zwei verschiedene Rahmen zu sehen und auf einem Programm, das keine Datenbindungen hat. Ich hoffe sehr sehnsüchtig, dass der Computer seinen virtuellen Speicher ausgeschaltet hat.

Wenn es nicht, dass dann eine Anleitung auf Systemteilen, die über .NET 2.0 gemeinsam genutzt werden und .NET 3.5 würde geschätzt.

Update: Der Benutzer mit dem Problem im Ruhestand die Computer und ersetzt es (was das Problem gelöst)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top