Was ist der UseJTAImageDecoder() und wie entfernt man den?
- The_Dark_Zim-.-
- Beiträge: 372
- Registriert: 18.03.2008 16:53
Was ist der UseJTAImageDecoder() und wie entfernt man den?
Hey,
ich habe seit einiger Zeit das Problem, dass bei einem meiner Fenster/Forms folgende Zeile ergänzt wird "UseJTAImageDecoder()". Das Teil gibt es scheinbar aber gar nicht und entsprechend kann ich nicht Compilieren, bis ich das wieder entferne. Hat das mal einer gehabt und weiß wie ich das verhindern kann? Ich nutze den Fensterdesigner von PureBasic.
Ich benutze zur Zeit PureBasic in der Version 5.72 x64 unter Linux. Ich habe gerade nicht mehr im Kopf ob es auch unter Windows auftritt.
Mit freundlichen Grüßen
Zim
ich habe seit einiger Zeit das Problem, dass bei einem meiner Fenster/Forms folgende Zeile ergänzt wird "UseJTAImageDecoder()". Das Teil gibt es scheinbar aber gar nicht und entsprechend kann ich nicht Compilieren, bis ich das wieder entferne. Hat das mal einer gehabt und weiß wie ich das verhindern kann? Ich nutze den Fensterdesigner von PureBasic.
Ich benutze zur Zeit PureBasic in der Version 5.72 x64 unter Linux. Ich habe gerade nicht mehr im Kopf ob es auch unter Windows auftritt.
Mit freundlichen Grüßen
Zim
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
- The_Dark_Zim-.-
- Beiträge: 372
- Registriert: 18.03.2008 16:53
Re: Was ist der UseJTAImageDecoder() und wie entfernt man de
Hey,
ich habe den Grund ausfindig machen können. Aber ich verstehe nicht warum es so ist. Ich habe bei mir die Grafik "vd_textgadget.png" eingebunden und das verursacht dieses verhalten bei mir. Ich habe es aus dem "SilkTheme.zip" Archiv, welches PureBasic mitbringt. Kann das einer von euch reproduzieren?
Einfach ein neues Fenster mit ImageGadget erstellen und hier diese Grafik einbinden, wenn man jetzt von dem Grafischen in die Code Ansicht wechselt müsste die Zeile "UseJTAImageDecoder()" vorhanden sein.
Mit freundlichen Grüßen
Zim
ich habe den Grund ausfindig machen können. Aber ich verstehe nicht warum es so ist. Ich habe bei mir die Grafik "vd_textgadget.png" eingebunden und das verursacht dieses verhalten bei mir. Ich habe es aus dem "SilkTheme.zip" Archiv, welches PureBasic mitbringt. Kann das einer von euch reproduzieren?
Einfach ein neues Fenster mit ImageGadget erstellen und hier diese Grafik einbinden, wenn man jetzt von dem Grafischen in die Code Ansicht wechselt müsste die Zeile "UseJTAImageDecoder()" vorhanden sein.
Mit freundlichen Grüßen
Zim
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
Re: Was ist der UseJTAImageDecoder() und wie entfernt man de
Ich arbeite mit dem Formdesigner nicht. Aber falls das dein einziges PNG-Bild ist, das du benutzt, vermute ich einfach einen Bug in der Codegenerierung oder gar einfach nur einen Tippfehler. Vermutlich sollte einfach nur UsePNGImageDecoder() eingebunden werden. Von einem UseJTAImageDecoder() habe ich jedenfalls auch noch nie gehört.
- The_Dark_Zim-.-
- Beiträge: 372
- Registriert: 18.03.2008 16:53
Re: Was ist der UseJTAImageDecoder() und wie entfernt man de
Ich habe noch mal ein wenig experimentiert. Unter Windows 10 gleiches Problem. Wenn ich das Bild nachbaue, Ist ja einfach ein 16x16 Bild mit einem "A" und transparenten Hintergrund, bekomme ich das gleiche Resultat. Nutze ich eine andere Grafik ist alles okay. Z. B. das für Hyperlinks.
@NicTheQuick Ich habe mehrere png's in Verwendung die alle keine Probleme machen. Er setzt UsePNGImageDecoder() und darunter direkt UseJTAImageDecoder().
Beispiel:
<pfad> ist für das Beispiel nur eingesetzt, weil wegen Geheim und so
@NicTheQuick Ich habe mehrere png's in Verwendung die alle keine Probleme machen. Er setzt UsePNGImageDecoder() und darunter direkt UseJTAImageDecoder().
Beispiel:
Code: Alles auswählen
Global Window_3
Global Image_0
Global Img_Window_3_0
UsePNGImageDecoder()
UseJTAImageDecoder()
Img_Window_3_0 = LoadImage(#PB_Any,"/<pfad>/vd_textgadget.png")
Procedure OpenWindow_3(x = 0, y = 0, width = 600, height = 400)
Window_3 = OpenWindow(#PB_Any, x, y, width, height, "", #PB_Window_SystemMenu)
Image_0 = ImageGadget(#PB_Any, 80, 80, 16, 16, ImageID(Img_Window_3_0))
EndProcedure
Procedure Window_3_Events(event)
Select event
Case #PB_Event_CloseWindow
ProcedureReturn #False
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
EndSelect
ProcedureReturn #True
EndProcedure
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
Re: Was ist der UseJTAImageDecoder() und wie entfernt man de
Das wird es wohl sein! Der FormDesigner der PureBasic IDE generiert diesen Code!NicTheQuick hat geschrieben:... Bug in der Codegenerierung ...
Windows 10
PB Last Final / (Sometimes testing Beta versions)
PB Last Final / (Sometimes testing Beta versions)
- The_Dark_Zim-.-
- Beiträge: 372
- Registriert: 18.03.2008 16:53
Re: Was ist der UseJTAImageDecoder() und wie entfernt man de
Ja, schon klar das die Codegenerierung das ist... Aber warum bei dem Bild bzw. dieser Art von Bild, wenn es bei den anderen kein Problem gibt.
PB: 5.xx LTS x86/x64 | WIN: 10 Pro x64, Linux Mint x64
Re: Was ist der UseJTAImageDecoder() und wie entfernt man de
Das liegt an der IDE! Siehe folgenden Code im Github-Repo:
==> https://github.com/fantaisie-software/p ... #L218-L234
Im Quellcode des FormDesigners sind gleich zwei Fehler enthalten.
(1) Wenn der Dateiname (nicht nur die Extension) den String "tga" enthält, wird die boolsche Variable "tgadecoder" gesetzt (siehe Zeile 218).
(2) Wenn "tgadecoder" gesetzt ist, dann wird im Code der Befehl "UseJTAImageDecoder()" hinzugefügt (siehe Zeile 233).
Korrektur des PureBasic-Quellcodes:
(1) Statt den gesamten Dateinamen auf den String "tga" zu prüfen, dürfte nur die Extension geprüft werden. Dies gilt auch für die Strings "jpg", "jpeg", "tiff" und "png"!
(2) Statt UseJTAImageDecoder() müsste UseTGAImageDecoder() hinzugefügt werden!
Gruß aus Niederbayern!
==> https://github.com/fantaisie-software/p ... #L218-L234
Im Quellcode des FormDesigners sind gleich zwei Fehler enthalten.
(1) Wenn der Dateiname (nicht nur die Extension) den String "tga" enthält, wird die boolsche Variable "tgadecoder" gesetzt (siehe Zeile 218).
(2) Wenn "tgadecoder" gesetzt ist, dann wird im Code der Befehl "UseJTAImageDecoder()" hinzugefügt (siehe Zeile 233).
Korrektur des PureBasic-Quellcodes:
(1) Statt den gesamten Dateinamen auf den String "tga" zu prüfen, dürfte nur die Extension geprüft werden. Dies gilt auch für die Strings "jpg", "jpeg", "tiff" und "png"!
(2) Statt UseJTAImageDecoder() müsste UseTGAImageDecoder() hinzugefügt werden!
Gruß aus Niederbayern!
Windows 10
PB Last Final / (Sometimes testing Beta versions)
PB Last Final / (Sometimes testing Beta versions)
Re: Was ist der UseJTAImageDecoder() und wie entfernt man de
Vorläufiger Workaround für Dein PNG-Bild: Den Dateinamen umbenennen
Windows 10
PB Last Final / (Sometimes testing Beta versions)
PB Last Final / (Sometimes testing Beta versions)
Re: Was ist der UseJTAImageDecoder() und wie entfernt man de
Habe es mal bei mir un der Linux mit World.png Bild probiert und es tritt nicht auf.
Gehe mal im FormDesigner in den Bildmanager. Vielleicht ist dort Müll drin.
Ah ja, ich verwende meinen eigenen PB-IDE Build mit den Bug-Fixes ...
P.S.
@helpy,
wenn ich Zeit habe, korregiere ich es in meinen PB-IDE Build ...
Gehe mal im FormDesigner in den Bildmanager. Vielleicht ist dort Müll drin.
Ah ja, ich verwende meinen eigenen PB-IDE Build mit den Bug-Fixes ...
P.S.
@helpy,
wenn ich Zeit habe, korregiere ich es in meinen PB-IDE Build ...
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Was ist der UseJTAImageDecoder() und wie entfernt man de
Das png von World.png in tga_world.png umbenennen, dann wird wohl Fehler mit der Standard-IDE/FormDesigner auftreten.mk-soft hat geschrieben:Habe es mal bei mir un der Linux mit World.png Bild probiert und es tritt nicht auf.
Gehe mal im FormDesigner in den Bildmanager. Vielleicht ist dort Müll drin.
Windows 10
PB Last Final / (Sometimes testing Beta versions)
PB Last Final / (Sometimes testing Beta versions)