It is a puzzler. I have almost all code in mainform commented. I'm
also removing local binnary files (exec, ppu, o). Placed TIcon on main
form and this code:
ticon1.imagelist := IconMng.imlstDyn16;
ticon1.imagenum := iICO16_MAIN;
... is working fine. Heaptrc is not detecting any memory leak. Moved
code from "afterconstruction" to mouse button and same error. Button
is executing "Test" method. Here is stack trace (as you can see,
finall error message is different compared to afterconstruction):
0 SYSTEM_SYSGETMEM_VAR$QWORD$$POINTER() 0 0041C43C
1 ??() 0 00000940
2 ??() 0 F7FDB740
3 INIT_MSETYPES_QWORDARTY() 0 009E931B
4 ??() 0 00000920
5 ??() 0 000004A0
6 SYSTEM_SYSGETMEM$QWORD$$POINTER() 0 0041C5B1
7 ??() 0 FFFFD8B0
8 ??() 0 F7FDB740
9 ??() 0 F7F9D3E8
10 SYSTEM_GETMEM$POINTER$QWORD() 0 0041B4D4
11 ??() 0 009E9310
12 fpc_dynarray_setlength() 0 004144BD
13 GUI_SETWINDOWICON(ID=88080967, ICON=88081056, MASK=88081054)
/home/dibo/programowanie/mse_git/lib/common/kernel/linux/mseguiintf.pas
1948 00504BB8
14 ICONCHANGED(this=0x7ffff7f977d0, SENDER=0x7ffff7f80b80)
/home/dibo/programowanie/mse_git/lib/common/widgets/mseforms.pas 1939
00661465
15 DOCHANGE(this=0x7ffff7f80b80)
/home/dibo/programowanie/mse_git/lib/common/graphics/msebitmap.pas
1268 00512439
16 ENDUPDATE(this=0x7ffff7f80b80)
/home/dibo/programowanie/mse_git/lib/common/graphics/msebitmap.pas
1376 005127CF
17 GETIMAGE(this=0x7ffff7e7a240, INDEX=0, DEST=0x7ffff7f80b80)
/home/dibo/programowanie/mse_git/lib/common/graphics/msebitmap.pas
3076 0051790F
18 TEST(this=0x7ffff7f977d0, SENDER=0x7ffff7fa0d10)
/home/dibo/tc_home/projects/multimediachat_laz_v2/mse/main.pas 73
0045F398
19 DOACTIONEXECUTE1(SENDER=0x7ffff7fa0d10, INFO={ACTION = 0x0,
CAPTIONTEXT = 0x0, CAPTION1 = {TEXT = 0x0, FORMAT = 0x0, FLAGS = 0},
STATE = 8388608, OPTIONS = 0, SHORTCUT = 0x0, SHORTCUT1 = 0x0, GROUP =
0, IMAGENR = -1, IMAGENRDISABLED = -2, COLORGLYPH = 2147483649, COLOR
= 2147483649, IMAGECHECKEDOFFSET = 0, IMAGELIST = 0x0, HINT = 0x0, TAG
= 0, TAGPOINTER = 0x0, ONEXECUTE = {Proc = {procedure (POINTER,
TOBJECT)} 0x7ffff7fa1198, Self = 0x7ffff7f977d0}, ONBEFOREEXECUTE =
{Proc = {procedure (POINTER, TOBJECT, BOOLEAN)} 0x7ffff7fa1198, Self =
0x0}, ONAFTEREXECUTE = {Proc = {procedure (POINTER, TOBJECT)}
0x7ffff7fa1198, Self = 0x0}}, CHANGED=false, NOCHECKBOX=false,
NOCANDEFOCUS=false, BEFOREEXECUTE={Proc = {procedure (POINTER)}
0x7fffffffdb80, Self = 0x0})
/home/dibo/programowanie/mse_git/lib/common/kernel/mseact.pas 421
004D39DE
20 DOACTIONEXECUTE(SENDER=0x7ffff7fa0d10, INFO={ACTION = 0x0,
CAPTIONTEXT = 0x0, CAPTION1 = {TEXT = 0x0, FORMAT = 0x0, FLAGS = 0},
STATE = 8388608, OPTIONS = 0, SHORTCUT = 0x0, SHORTCUT1 = 0x0, GROUP =
0, IMAGENR = -1, IMAGENRDISABLED = -2, COLORGLYPH = 2147483649, COLOR
= 2147483649, IMAGECHECKEDOFFSET = 0, IMAGELIST = 0x0, HINT = 0x0, TAG
= 0, TAGPOINTER = 0x0, ONEXECUTE = {Proc = {procedure (POINTER,
TOBJECT)} 0x7ffff7fa1198, Self = 0x7ffff7f977d0}, ONBEFOREEXECUTE =
{Proc = {procedure (POINTER, TOBJECT, BOOLEAN)} 0x7ffff7fa1198, Self =
0x0}, ONAFTEREXECUTE = {Proc = {procedure (POINTER, TOBJECT)}
0x7ffff7fa1198, Self = 0x0}}, NOCHECKBOX=false, NOCANDEFOCUS=false,
BEFOREEXECUTE={Proc = {procedure (POINTER)} 0x7fffffffdba0, Self =
0x0}) /home/dibo/programowanie/mse_git/lib/common/kernel/mseact.pas
440 004D3A91
21 DOEXECUTE(this=0x7ffff7fa0d10)
/home/dibo/programowanie/mse_git/lib/common/widgets/msesimplewidgets.pas
868 0062B922
22 INTERNALEXECUTE(this=0x7ffff7fa0d10)
/home/dibo/programowanie/mse_git/lib/common/widgets/msewidgets.pas
2188 0059C664
23 DOSHAPEEXECUTE(this=0x7ffff7fa0d10, ATAG=0, INFO={EVENTKIND =
EK_BUTTONRELEASE, SHIFTSTATE = 0, POS = {X = 23, Y = 13}, EVENTSTATE =
16, TIMESTAMP = 3230770000, BUTTON = MB_LEFT})
/home/dibo/programowanie/mse_git/lib/common/widgets/msewidgets.pas
2195 0059C684
24 UPDATEMOUSESHAPESTATE(INFO={CA = {DIM = {X = 0, Y = 0, CX = 50, CY
= 21, POS = {X = 0, Y = 0}, SIZE = {CX = 50, CY = 21}}, CAPTION =
{TEXT = 0x0, FORMAT = 0x0, FLAGS = 0}, FONT = 0x7ffff7e7a740,
TEXTFLAGS = 9, IMAGEPOS = IP_CENTER, CAPTIONDIST = 2, IMAGENR = -1,
COLORGLYPH = 2147483649, IMAGELIST = 0x0, IMAGEDIST = 0, IMAGEDISTTOP
= 0, IMAGEDISTBOTTOM = 0, CAPTIONCLIPPED = false}, FOCUSRECTDIST = 1,
STATE = 393472, TABPOS = 0, GROUP = 0, COLOR = 2147483651, COLORACTIVE
= 0, IMAGENRDISABLED = -2, IMAGECHECKEDOFFSET = 0, FACE = 0x0, FRAME =
0x0, CHECKBOXFRAME = 0x0, MOUSEFRAME = {LEFT = 0, TOP = 0, RIGHT = 0,
BOTTOM = 0, TOPLEFT = {CX = 0, CY = 0}, BOTTOMRIGHT = {CX = 0, CY =
0}}, TAG = 0, DOEXECUTE = {Proc = {procedure (POINTER, LONGINT,
MOUSEEVENTINFOTY)} 0x7ffff7fa10d0, Self = 0x7ffff7fa0d10}},
MOUSEEVENT={EVENTKIND = EK_BUTTONRELEASE, SHIFTSTATE = 0, POS = {X =
23, Y = 13}, EVENTSTATE = 16, TIMESTAMP = 3230770000, BUTTON =
MB_LEFT}, WIDGET=0x7ffff7fa0d10, AFRAME=0x0, INFOARPO=0x0,
CANCLICK=true) /home/dibo/programowanie/mse_git/lib/common/kernel/mseshapes.pas
437 005C743C
25 CLIENTMOUSEEVENT(this=0x7ffff7fa0d10, INFO={EVENTKIND =
EK_BUTTONRELEASE, SHIFTSTATE = 0, POS = {X = 23, Y = 13}, EVENTSTATE =
16, TIMESTAMP = 3230770000, BUTTON = MB_LEFT})
/home/dibo/programowanie/mse_git/lib/common/widgets/msewidgets.pas
2209 0059C73E
26 DOCLIENTMOUSEEVENT(parentfp=0x7fffffffde30)
/home/dibo/programowanie/mse_git/lib/common/kernel/msegui.pas 10210
004429F0
27 MOUSEEVENT(this=0x7ffff7fa0d10, INFO={EVENTKIND = EK_BUTTONRELEASE,
SHIFTSTATE = 0, POS = {X = 23, Y = 13}, EVENTSTATE = 16, TIMESTAMP =
3230770000, BUTTON = MB_LEFT})
/home/dibo/programowanie/mse_git/lib/common/kernel/msegui.pas 10327
00442860
28 MOUSEEVENT(this=0x7ffff7fa0d10, INFO={EVENTKIND = EK_BUTTONRELEASE,
SHIFTSTATE = 0, POS = {X = 23, Y = 13}, EVENTSTATE = 16, TIMESTAMP =
3230770000, BUTTON = MB_LEFT})
/home/dibo/programowanie/mse_git/lib/common/widgets/msewidgets.pas
5095 005A52AF
29 DISPATCHMOUSEEVENT(this=0x7ffff7f69300, INFO={MOUSE = {EVENTKIND =
EK_BUTTONRELEASE, SHIFTSTATE = 0, POS = {X = 23, Y = 13}, EVENTSTATE =
16, TIMESTAMP = 3230770000, BUTTON = MB_LEFT}, WHEEL = {EVENTKIND =
EK_BUTTONRELEASE, SHIFTSTATE = 0, POS = {X = 23, Y = 13}, EVENTSTATE =
16, TIMESTAMP = 3230770000, WHEEL = MW_UP, DELTA = 0}},
CAPTURE=0x7ffff7fa0d10)
/home/dibo/programowanie/mse_git/lib/common/kernel/msegui.pas 15146
004505AB
30 PROCESSMOUSEEVENT(this=0x7ffff7f948f0, EVENT=0x7ffff7febb80)
/home/dibo/programowanie/mse_git/lib/common/kernel/msegui.pas 16912
00455AFB
31 EVENTLOOP(this=0x7ffff7f948f0, ONCE=false)
/home/dibo/programowanie/mse_git/lib/common/kernel/msegui.pas 17860
00458255
32 DOEVENTLOOP(this=0x7ffff7f948f0, ONCE=false)
/home/dibo/programowanie/mse_git/lib/common/kernel/msegui.pas 18545
00459DFD
33 RUN(this=0x7ffff7f948f0)
/home/dibo/programowanie/mse_git/lib/common/kernel/mseapplication.pas
1619 004E995C
34 main() /home/dibo/tc_home/projects/multimediachat_laz_v2/mse/chatplayer.pas
16 00405758
This is stack trace in case where icon is set in afterconstruction,
little weird and short:
0 SYSTEM_CONCAT_TWO_BLOCKS$PMEMCHUNK_VAR$PMEMCHUNK_VAR() 0 0041BB4A
1 ??() 0 F7FA7F00
2 U_SYSTEM_FREELISTS() 0 00BBC1F8
3 ??() 0 00000020
4 SYSTEM_TRY_CONCAT_FREE_CHUNK_FORWARD$PMEMCHUNK_VAR$$BOOLEAN() 0 0041BBD4
5 ??() 0 F7FA7F98
6 SYSTEM_TRY_CONCAT_FREE_CHUNK$PMEMCHUNK_VAR$$PMEMCHUNK_VAR() 0 0041BC00
7 ??() 0 000004C0
8 U_SYSTEM_FREELISTS() 0 00BBC1F8
9 ??() 0 00C171A0
10 SYSTEM_SYSFREEMEM_VAR$PFREELISTS$PMEMCHUNK_VAR$$QWORD() 0 0041C7B1
11 ??() 0 F7FA7FA8
12 U_SYSTEM_FREELISTS() 0 00BBC1F8
13 ??() 0 F7FA7FB0
14 ??() 0 00000000
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
mseide-msegui-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk