Problem:Weshalb wird beim Versuch zu drucken, eine durch IEA verursachte Schutzverletzung in der Datei GDI.EXE gemeldet?
Lösung: Diese Meldung wird in der Regel durch einen Software-Konflikt zwischen Top Producer, dem Bildschirmschoner und dem Druckertreiber hervorgerufen. Top Producer empfiehlt, den Bildschirmschoner auszuschalten, um das Problem zu beheben.
paßt zwar nicht zusammen, aber wer weiß.
über gdi:
GDI-Funktionen nutzen
Anstatt selbst zu programmieren, sparen Sie sich die Arbeit und nutzen GDI-Funktionen (Graphic Device Interface) von Windows.
Es wäre ein Wunder, wenn so naheliegende Lösungen wie die eben gezeigten PolyLine- und PolyGon-Objekte, nicht in Windows vordefiniert wären. Folgende Deklarationszeilen, im Standardmodul eingefügt, machen sie Ihnen in Polygon.bas verfügbar. Sie nutzen die Funktionen mit jeweils zwei Zeilen Programmcode in den beiden Zeichnen-Prozeduren:
Sub PolyLineZeichnen (Obj As PictureBox)
Nr = PolyLine(Obj.hDC, Poly(0),_
UBound(Poly))
Obj.Refresh
End Sub
Sub PolyGonZeichnen (Obj As PictureBox)
Nr = PolyGon(Obj.hDC, Poly(0),_
UBound(Poly))
End Sub
Wichtig ist, daß Sie Obj.Refresh einsetzen. Ohne diese Zeilen würden die Ob-jekte erst gezeichnet, wenn Sie die Form nochmals anklicken. Die Übergabe des Poly-Array durch das erste, zu zeichnende Element ist eine Besonderheit aller API-Funktionen. Die Anzahl der zu zeichnenden Elemente ist das letzte Argument. Wollen Sie nur Teile eines PolyGon-Linienzugs zeichnen, dann setzen Sie das erste zu zeichnende Element an die Stelle von Poly(0) und ersetzen den Funtionsaufruf UBound(Poly) durch die Zahl der zu zeichnenden Elemente. Die Anzahl der Elemente muß dabei mindestens zwei sein. Zudem darf sie nicht größer als die der UBound-Elemente sein:
Nr = PolyGon(Obj.hDC, Poly(10),_
UBound(Poly) - 10)
Obj.Refresh
hilft dir zwar nicht, aber das ist alles was ich über gdi.exe gefunden hab.
spunz
|