Hallo,
ich hab da ein Problem mit nem Canvas in TK. Das Programm wurde während des Schreibens immer mit perl5.8.4 auf Funktionsfähigkeit getestet. Nun muss allerdings im normalen Betrieb perl5.8.0 verwendet werden.
Nun kamen natürlich bei den ersten Tests mit 580 eingige Fehler auf(bilf nicht vollständig angezeigt; keine spinbox) was aber nichts weiter zur Sache tut da diese alle behoben wurden(hoffe ich zmd.).
1) Nur ein Fehler beschäftigt mich noch immer: Das Programm verwendet ein Canvas mit mehreren Items die transparenten Gifs sind. Die Items werden immer wieder configuriert und die Bilder gewechselt.
Im perl584 funktioniert das genau so wie es soll. Bloß in perl580 passiert es manchmal dass eines der Bilder auf den hinteren Ebenen transparent angezeigt wird. Also quasi dass an der Stelle wo man einen Teil dieses Bildes sehen sollte einfach Hintergrund angezeigt wird. Dieses Stück in welchem Hintergrund angezeigt sieht so aus als wäre es ein anderes weiter vorne leigendes Bild(wenn vorne liegende Items nicht angezeigt werden sollen wird ihnen ein transparentes Bild zugewiesen).
Wie kann man das beheben? Muss man das Canvas irgendwie aktualisieren?
2) Und noch ein Problem tritt auf(welches eigentlich viel schwerwiegender ist):
Wenn das Programm des längeren läuft stürzt es ab. Dann kommt ein typisches Windowsfehlermelungsfenster ala Perl Command Line Interoreter hat ein Problem festgestellt und muss beendet werden. In der Shell keine Fehlermeldung. Wenn man auf den "hier klicken" Link im Fehlermeldungsfenster geht heißt es irgendwann in tk.dll würde eine Exception nicht behandelt.
Nach weiterem Testen viel mir dann auf dass auch in Perl584 dieses Problem auftritt. Allerdings ohne Windowsfehlermeldungsfenster aber mit Meldung in der Shell:
"Fail to create pixmap with Tk_GetPixmap in ImgPhotoInstanceSetSize.
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information."
("contact the a. s. team" -> *g* ich soll mich selbst kontaktieren?? wie nett...)
Ich vermute, dass es daran liegt, dass einige Bilder durch andere mit anderen Abmessungen ersetzt werden, hab aber im Grunde keine Ahnung ob es das wirklich ist und werde einfach mal probieren ob ich es irgendwie wegbekomme. Wäre aber äußerst erfreut wenn mir jemand sagen kann, ob es das ist bzw wenn nicht, was es sonst sein könnte, denn es dauert immer einige Zeit bis dieser Fehler auftritt und das testen ist dann schon recht aufwendig.
Vielen Dank schonmal
Gruß
print uc 'i',chr(29*4).q+'s +.++($_=q-m-),++$_;
print chr for 116,$_[0],97,$_[0],98;
print 'ug,',chr(), scalar reverse qq?!erutaef a s'ti?;