2.1.44 Build 498 - Icons Betriebsicherheit erhöhen

Hhm, leider gibt es bei fehlenden Icons noch ein Problem. Wenn man nur die Automation laufen lässt klappt alles.
Wenn jedoch das Element x mit fehlendem Bild editiert wird kracht es.

Cannot open file “\onair01\audio256\images\ro3_13_0.png”. Das System kann die angegebene Datei nicht finden

Montag, 7. April 2008, 20:23:52

Program Version 2.1.44 Build 496

Call stack:

[0056545A] PlaylistItemPicture.PlaylistItemPicture.TPlaylistItemPicture.RebuildGraphic (Line 144, “PlaylistItemPicture.pas” + 40) + $F
[004273D2] Classes.Classes.TFileStream.Create + $11E
[00792240] JclHookExcept.JclHookExcept.DoExceptNotify (Line 231, “JclHookExcept.pas” + 24) + $5
[0079225A] JclHookExcept.JclHookExcept.DoExceptNotify (Line 234, “JclHookExcept.pas” + 27) + $0
[007922C0] JclHookExcept.JclHookExcept.HookedRaiseException (Line 252, “JclHookExcept.pas” + 4) + $7
[004273D2] Classes.Classes.TFileStream.Create + $11E
[0040492B] System.System.@ClassCreate + $7
[00427290] Classes.Classes.TFileStream.Create + $20
[004275BE] Classes.Classes.TMemoryStream.LoadFromFile + $12
[005652FA] PlaylistItemPicture.PlaylistItemPicture.TPlaylistItemPicture.RebuildGraphic (Line 112, “PlaylistItemPicture.pas” + 8) + $C
[005656DB] PlaylistItemPicture.PlaylistItemPicture.TPlaylistItemPicture.Assign (Line 203, “PlaylistItemPicture.pas” + 12) + $2
[00435BE8] Graphics.Graphics.TResourceManager.Unlock + $4
[00435DFB] Graphics.Graphics.TResourceManager.ChangeResource + $63
[004368DA] Graphics.Graphics.TFont.SetData + $2A
[00436C34] Graphics.Graphics.TFont.SetName + $4C
[004789BD] Controls.Controls.TWinControl.CMInvalidate + $9
[00472463] Controls.Controls.TControl.WndProc + $2BB
[0040B72F] SysUtils.SysUtils.TryStrToInt + $B
[004762B9] Controls.Controls.TWinControl.WndProc + $499
[00435BE8] Graphics.Graphics.TResourceManager.Unlock + $4
[00435D56] Graphics.Graphics.TResourceManager.FreeResource + $82
[00435BE8] Graphics.Graphics.TResourceManager.Unlock + $4
[00435D56] Graphics.Graphics.TResourceManager.FreeResource + $82
[004720F0] Controls.Controls.TControl.Perform + $24
[00406E64] System.System.DynArrayClear + $0
[00406E9B] System.System.DynArraySetLength + $2F
[00424F21] Classes.Classes.TStrings.AddStrings + $3D
[00424F68] Classes.Classes.TStrings.AddStrings + $84
[00424F85] Classes.Classes.TStrings.AddStrings + $A1
[0040790E] System.System.TInterfacedObject._AddRef + $A
[00407851] System.System.@IntfCopy + $9
[00568E86] PlaylistItem.PlaylistItem.TPlaylistItem.Assign (Line 222, “PlaylistItem.pas” + 27) + $1C
[005AC7D6] FilePlaylistItem.FilePlaylistItem.TFilePlaylistItem.Assign (Line 104, “FilePlaylistItem.pas” + 3) + $6
[00568C91] PlaylistItem.PlaylistItem.TPlaylistItem.Clone (Line 187, “PlaylistItem.pas” + 2) + $10
[0063AE84] EditItem.EditItem.TEditItemForm.SetItem (Line 206, “EditItem.pas” + 10) + $B
[007A4A7D] Main.Main.TMainForm.CreateEditItemForm (Line 1156, “Main.pas” + 11) + $6
[007A52D9] Main.Main.TMainForm.EditItem (Line 1326, “Main.pas” + 1) + $9
[005C6F5A] PlaybackTreeView.PlaybackTreeView.TPlaybackTreeView.DoColumnDblClick (Line 1613, “PlaybackTreeView.pas” + 3) + $24
[004F84B2] VirtualTrees.VirtualTrees.TBaseVirtualTree.HandleMouseDblClick (Line 20404, “VirtualTrees.pas” + 10) + $1F
[004F12BC] VirtualTrees.VirtualTrees.TBaseVirtualTree.WMLButtonDblClk (Line 16119, “VirtualTrees.pas” + 5) + $8
[00472463] Controls.Controls.TControl.WndProc + $2BB
[004E9377] VirtualTrees.VirtualTrees.TVTHeader.InHeader (Line 10977, “VirtualTrees.pas” + 8) + $D
[004E8A51] VirtualTrees.VirtualTrees.TVTHeader.HandleMessage (Line 10656, “VirtualTrees.pas” + 278) + $8
[004762B9] Controls.Controls.TWinControl.WndProc + $499
[004720F0] Controls.Controls.TControl.Perform + $24
[00423AD8] Classes.Classes.TThreadList.UnlockList + $4
[00475A44] Controls.Controls.TWinControl.MainWndProc + $2C
[00475A59] Controls.Controls.TWinControl.MainWndProc + $41
[00475DCC] Controls.Controls.TWinControl.IsControlMouseMsg + $60
[004762B9] Controls.Controls.TWinControl.WndProc + $499
[004FCF52] VirtualTrees.VirtualTrees.TBaseVirtualTree.WndProc (Line 23061, “VirtualTrees.pas” + 32) + $4
[00475A44] Controls.Controls.TWinControl.MainWndProc + $2C
[0042F4D4] Classes.Classes.StdWndProc + $14
[0046D7DE] Controls.Controls.FindControl + $42
[0048F9A8] Forms.Forms.TApplication.ProcessMessage + $FC
[0048F9E2] Forms.Forms.TApplication.HandleMessage + $A
[0048FC02] Forms.Forms.TApplication.Run + $96
(004CCAE7) [008CDAE7]

Hm, offenbar inzwischen eher eine Warnmeldung als einer Fehlermeldung, die aber nicht ordentlich abgefangen wird.

Ich habe den Code nun mal so modifiziert, dass stattdessen das bekannte “Fehler”-Playlist-Icon angezeigt wird. Probier doch mal bitte, ob die Fehlermeldung nun weg ist. Ab Build 497 drin.

Sobald 497 auf dem Server ist werde ich testen ::slight_smile:

Beim laden der Playlist kommt nun folgende Meldung:

[005624A8] pngimage.pngimage.TPNGObject.RaiseError (Line 4566, “pngimage.pas” + 1) + $C

Montag, 7. April 2008, 21:45:41

Program Version 2.1.44 Build 497

Call stack:

[00563589] pngimage.pngimage.TPNGObject.LoadFromResourceName (Line 5142, “pngimage.pas” + 3) + $19
[0055DD6A] pngimage.pngimage.TResourceStream.Create + $42
[00792508] JclHookExcept.JclHookExcept.DoExceptNotify (Line 231, “JclHookExcept.pas” + 24) + $5
[00792522] JclHookExcept.JclHookExcept.DoExceptNotify (Line 234, “JclHookExcept.pas” + 27) + $0
[00792588] JclHookExcept.JclHookExcept.HookedRaiseException (Line 252, “JclHookExcept.pas” + 4) + $7
[0055DD6A] pngimage.pngimage.TResourceStream.Create + $42
[00563559] pngimage.pngimage.TPNGObject.LoadFromResourceName (Line 5141, “pngimage.pas” + 2) + $1A
[00564E8C] PNG.PNG.TPNGStore.GetPNG (Line 140, “PNG.pas” + 11) + $1C
[0056561D] PlaylistItemPicture.PlaylistItemPicture.TPlaylistItemPicture.RebuildGraphic (Line 144, “PlaylistItemPicture.pas” + 40) + $C
[004273D2] Classes.Classes.TFileStream.Create + $11E
[00792508] JclHookExcept.JclHookExcept.DoExceptNotify (Line 231, “JclHookExcept.pas” + 24) + $5
[00792522] JclHookExcept.JclHookExcept.DoExceptNotify (Line 234, “JclHookExcept.pas” + 27) + $0
[00792588] JclHookExcept.JclHookExcept.HookedRaiseException (Line 252, “JclHookExcept.pas” + 4) + $7
[004273D2] Classes.Classes.TFileStream.Create + $11E
[0040492B] System.System.@ClassCreate + $7
[00427290] Classes.Classes.TFileStream.Create + $20
[004275BE] Classes.Classes.TMemoryStream.LoadFromFile + $12
[005654C2] PlaylistItemPicture.PlaylistItemPicture.TPlaylistItemPicture.RebuildGraphic (Line 112, “PlaylistItemPicture.pas” + 8) + $C
[00565E98] PlaylistItemPicture.PlaylistItemPicture.TPlaylistItemPicture.LoadFromXML (Line 285, “PlaylistItemPicture.pas” + 10) + $3
[0056A06A] PlaylistItem.PlaylistItem.TPlaylistItem.LoadFromXML (Line 345, “PlaylistItem.pas” + 46) + $4B
[005ACB39] FilePlaylistItem.FilePlaylistItem.TFilePlaylistItem.LoadFromXML (Line 135, “FilePlaylistItem.pas” + 1) + $6
[005B19B5] mAirListFactory.mAirListFactory.TmAirListFactory.CreatePlaylistItemFromXML (Line 246, “mAirListFactory.pas” + 7) + $A
[005A35F1] Playlist.Playlist.TPlaylist.LoadFromXML (Line 905, “Playlist.pas” + 7) + $2D
[0078095D] PlaybackControl.PlaybackControl.TPlaybackControl.LoadFromXML (Line 684, “PlaybackControl.pas” + 12) + $18
[007A38F4] Main.Main.TMainForm.OpenDesktop (Line 944, “Main.pas” + 15) + $2F
[007A6015] Main.Main.TMainForm.acOpenExecute (Line 1515, “Main.pas” + 10) + $24
[007A5E62] Main.Main.TMainForm.tbOpenClick (Line 1486, “Main.pas” + 4) + $4
[00472968] Controls.Controls.TControl.Click + $64
[004BBBC0] ComCtrls.ComCtrls.TToolButton.Click + $0
[00472DE3] Controls.Controls.TControl.WMLButtonUp + $6B
[00472463] Controls.Controls.TControl.WndProc + $2BB
[00472CFE] Controls.Controls.TControl.WMMouseMove + $6E
[0040482F] System.System.TObject.Dispatch + $13
[00472463] Controls.Controls.TControl.WndProc + $2BB
[004762B9] Controls.Controls.TWinControl.WndProc + $499
[004720F0] Controls.Controls.TControl.Perform + $24
[00475B3A] Controls.Controls.GetControlAtPos + $AA
[00475C02] Controls.Controls.TWinControl.ControlAtPos + $A6
[004720F0] Controls.Controls.TControl.Perform + $24
[00475E0D] Controls.Controls.TWinControl.IsControlMouseMsg + $A1
[00476173] Controls.Controls.TWinControl.WndProc + $353
[004BDB51] ComCtrls.ComCtrls.TToolBar.UpdateButtonState + $51
[004BDB92] ComCtrls.ComCtrls.TToolBar.UpdateButtonStates + $36
[004C03D9] ComCtrls.ComCtrls.TToolBar.WndProc + $241
[00423AD8] Classes.Classes.TThreadList.UnlockList + $4
[00475A44] Controls.Controls.TWinControl.MainWndProc + $2C
[0042F4D4] Classes.Classes.StdWndProc + $14
[0048C1BE] Forms.Forms.TraverseClients + $5E
[0042FD4E] Contnrs.Contnrs.TComponentList.GetItems + $A
[0048F9A8] Forms.Forms.TApplication.ProcessMessage + $FC
[0048F9E2] Forms.Forms.TApplication.HandleMessage + $A
[0048FC02] Forms.Forms.TApplication.Run + $96
(004CCAE7) [008CDAE7]

Mein Fehler. Build 498 ist oben.

Aha, Fehler Icon.

Wenn ich nun das Element mit Eigenschaften öffne und okay drücke kommen viele mAirList Anwendungsfehler. Kann mAirList nicht mehr beenden!
Hilf nur noch ein taskkill

Michel

Access violation at address 004047EE in module ‘mAirList.exe’. Read of address 74DB8417

Dienstag, 8. April 2008, 08:22:25

Program Version 2.1.44 Build 498

Call stack:

[0056244D] pngimage.pngimage.TPNGObject.GetWidth (Line 4552, “pngimage.pas” + 2) + $2
[00565AFB] PlaylistItemPicture.PlaylistItemPicture.TPlaylistItemPicture.Draw (Line 246, “PlaylistItemPicture.pas” + 19) + $2
[00407924] System.System.TInterfacedObject._Release + $C
[00407840] System.System.@IntfClear + $10
[0040790E] System.System.TInterfacedObject._AddRef + $A
[00407851] System.System.@IntfCopy + $9
[0056B232] PlaylistItem.PlaylistItem.TPlaylistItem.GetPicture (Line 658, “PlaylistItem.pas” + 1) + $8
[005C51EB] PlaybackTreeView.PlaybackTreeView.TPlaybackTreeView.DoPaintNode (Line 1115, “PlaybackTreeView.pas” + 25) + $1E
[005025BE] VirtualTrees.VirtualTrees.TBaseVirtualTree.PaintTree (Line 27017, “VirtualTrees.pas” + 299) + $7
[004FA962] VirtualTrees.VirtualTrees.TBaseVirtualTree.Paint (Line 21640, “VirtualTrees.pas” + 16) + $17
[0047ACE7] Controls.Controls.TCustomControl.PaintWindow + $57
[00476455] Controls.Controls.TWinControl.PaintHandler + $55
[00476A37] Controls.Controls.TWinControl.WMPaint + $3F
[004FEDB8] VirtualTrees.VirtualTrees.TBaseVirtualTree.GetDisplayRect (Line 24393, “VirtualTrees.pas” + 58) + $12
[0047AC80] Controls.Controls.TCustomControl.WMPaint + $10
[004F18D9] VirtualTrees.VirtualTrees.TBaseVirtualTree.WMPaint (Line 16369, “VirtualTrees.pas” + 8) + $4
[00472463] Controls.Controls.TControl.WndProc + $2BB
[004FA525] VirtualTrees.VirtualTrees.TBaseVirtualTree.MouseMove (Line 21477, “VirtualTrees.pas” + 50) + $C
[0047639B] Controls.Controls.TWinControl.DefaultHandler + $D7
[004047C0] System.System.@CallDynaInst + $4
[00472CFE] Controls.Controls.TControl.WMMouseMove + $6E
[0040482F] System.System.TObject.Dispatch + $13
[00472463] Controls.Controls.TControl.WndProc + $2BB
[004762B9] Controls.Controls.TWinControl.WndProc + $499
[004C03D9] ComCtrls.ComCtrls.TToolBar.WndProc + $241
[004FCF52] VirtualTrees.VirtualTrees.TBaseVirtualTree.WndProc (Line 23061, “VirtualTrees.pas” + 32) + $4
[00475A44] Controls.Controls.TWinControl.MainWndProc + $2C
[0042F4D4] Classes.Classes.StdWndProc + $14
[0046D7DE] Controls.Controls.FindControl + $42
[0048F9A8] Forms.Forms.TApplication.ProcessMessage + $FC
[0048F9E2] Forms.Forms.TApplication.HandleMessage + $A
[0048FC02] Forms.Forms.TApplication.Run + $96
(004CCAE7) [008CDAE7]

plus

Access violation at address 0063D2E0 in module ‘mAirList.exe’. Read of address 00000000

Dienstag, 8. April 2008, 08:23:43

Program Version 2.1.44 Build 498

Call stack:

[00472463] Controls.Controls.TControl.WndProc + $2BB
[00437F9C] Graphics.Graphics.TCanvas.RequiredState + $64
[0044740D] StdCtrls.StdCtrls.TCustomGroupBox.Paint + $38D
[00402F84] System.System.@FreeMem + $4
[00405585] System.System.@LStrArrayClr + $21
[00447459] StdCtrls.StdCtrls.TCustomGroupBox.Paint + $3D9
[004720F0] Controls.Controls.TControl.Perform + $24
[00476725] Controls.Controls.TWinControl.PaintControls + $18D
[00476531] Controls.Controls.TWinControl.PaintHandler + $131
[00476A37] Controls.Controls.TWinControl.WMPaint + $3F
[0040482F] System.System.TObject.Dispatch + $13
[00472463] Controls.Controls.TControl.WndProc + $2BB
[0040482F] System.System.TObject.Dispatch + $13
[0047AC80] Controls.Controls.TCustomControl.WMPaint + $10
[00472463] Controls.Controls.TControl.WndProc + $2BB
[0047639B] Controls.Controls.TWinControl.DefaultHandler + $D7
[00472CFE] Controls.Controls.TControl.WMMouseMove + $6E
[0040482F] System.System.TObject.Dispatch + $13
[00472463] Controls.Controls.TControl.WndProc + $2BB
[004762B9] Controls.Controls.TWinControl.WndProc + $499
[00487D8D] Forms.Forms.TCustomForm.WndProc + $4C1
[00423AD8] Classes.Classes.TThreadList.UnlockList + $4
[0043B6A4] Graphics.Graphics.FreeMemoryContexts + $98
[00475A44] Controls.Controls.TWinControl.MainWndProc + $2C
[0042F4D4] Classes.Classes.StdWndProc + $14
[0046D7DE] Controls.Controls.FindControl + $42
[0048F9A8] Forms.Forms.TApplication.ProcessMessage + $FC
[0048F9E2] Forms.Forms.TApplication.HandleMessage + $A
[0048FC02] Forms.Forms.TApplication.Run + $96
(004CCAE7) [008CDAE7]

Na gut, dann muss ich doch nochmal in Ruhe drauf gucken. Ich melde mich. Bis dahin bitte keine fehlerhaften oder fehlenden Icons verwenden :wink:

Lässt sich statt dem messagebox_warning.png das stop.png für fehlende Icons verwenden?

Ich werde noch ein eigenes Icon dafür definieren, das man dann beliebig austauschen kann. Das habe ich gestern aber nicht so schnell geschafft, daher hab ich erstmal das von “Datei fehlerhaft” kopiert.

Hier übrigens, aus dem Sourcecode kopiert, die Liste der aktuellen Default-Icons mit der Zuordnung zu den Nuvola-Dateinamen:


png_icon_comment RCDATA "png/icons/nuvola/info.png"
png_icon_file RCDATA "png/icons/nuvola/sound.png"
png_icon_break RCDATA "png/icons/nuvola/krec.png"
png_icon_stream RCDATA "png/icons/nuvola/html.png"
png_icon_container RCDATA "png/icons/nuvola/tar.png"
png_icon_regioncontainer RCDATA "png/icons/nuvola/html.png"
png_icon_silence RCDATA "png/icons/nuvola/empty.png"
png_icon_command RCDATA "png/icons/nuvola/package_development.png"
png_icon_history RCDATA "png/icons/nuvola/trashcan_full.png"
png_icon_error RCDATA "png/icons/nuvola/important.png"
png_icon_playlist RCDATA "png/icons/nuvola/document.png"
png_icon_dummy RCDATA "png/icons/nuvola/empty.png"
png_icon_advertisement RCDATA "png/icons/nuvola/kchart_chrt.png"

[quote=“lifechannel, post:1, topic:4939”]Hhm, leider gibt es bei fehlenden Icons noch ein Problem. Wenn man nur die Automation laufen lässt klappt alles.
Wenn jedoch das Element x mit fehlendem Bild editiert wird kracht es.[/quote]
Hmm, ich weiß ja nicht… Ich habe bei mir gerade auch so ein paar Kandidaten vom Sender, welche ich von Hand per ID3-Editor bearbeiten muss, weil das Icon (bzw. das Laufwerk) garnicht existiert. Allerdings lässt sich das Objekt dann garnicht erst Laden, geschweige denn in mAirTag bearbeiten…

Hängt das mit diesem Bug zusammen, oder ist meine Geschichte wieder ein extra Bug?

Liebe Grüße,
d4d4

PS: mAirList 2.1.44, Build 490 bei mir

Hängt schon alles irgendwie zusammen.

Ich konnte es für’s erste nur so reparieren, dass bei einem fehlerhaften Icon so getan wird, als sei gar keins gesetzt. Build 499 ist verfügbar.

DANKE! Habe den Build 499 gerade auf unserem Testsystem gestartet.

Michel