i have added a shortstring var at the procedure where the try-except is...same error, no change.
(gdb)
<-stack-info-depth>
^done,depth="57",time={wallclock="0.02917",user="0.02193",system="0.00676",start="1274423088.325308",end="1274423088.354477"}
(gdb)
<-stack-list-arguments 1 0 0>
^done,stack-args={frame={level="0",args={}}},time={wallclock="0.00003",user="0.00003",system="0.00000",start="1274423088.354715",end="1274423088.354744"}
(gdb)
<-stack-list-frames 0 0>
^done,stack={frame={level="0",addr="0x00024780",fp="0xbfffd5f0",func="SYSTEM_HANDLEERRORADDRFRAME$LONGINT$POINTER$POINTER",optimized="0"}},time={wallclock="0.00010",user="0.00010",system="0.00001",start="1274423088.354903",end="1274423088.355006"}
(gdb)
<-stack-list-arguments 1 1 1>
^done,stack-args={frame={level="1",args={}}},time={wallclock="0.00003",user="0.00002",system="0.00000",start="1274423088.355185",end="1274423088.355212"}
(gdb)
<-stack-list-frames 1 1>
^done,stack={frame={level="1",addr="0x000248ad",fp="0xbfffd610",func="SYSTEM_HANDLEERRORFRAME$LONGINT$POINTER",optimized="0"}},time={wallclock="0.00008",user="0.00008",system="0.00000",start="1274423088.355365",end="1274423088.355445"}
(gdb)
<-stack-list-arguments 1 2 2>
^done,stack-args={frame={level="2",args={{name="SENDER",value="(^TOBJECT) 0x177a0c0"},{name="this",value="(TFORM1) 0x177a8e0"}}}},time={wallclock="0.00017",user="0.00013",system="0.00005",start="1274423088.355614",end="1274423088.355788"}
(gdb)
<-stack-list-frames 2 2>
^done,stack={frame={level="2",addr="0x000445ff",fp="0xbfffda50",func="TFORM1__BUTTON1CLICK",optimized="0",file="unit1.pas",fullname="/Users/riko/Entwicklung/test/unit1.pas",line="48",dir="/Users/riko/Entwicklung/test/"}},time={wallclock="0.00066",user="0.00014",system="0.00015",start="1274423088.355940",end="1274423088.356603"}
(gdb)
<-stack-select-frame 2>
^done,time={wallclock="0.00006",user="0.00005",system="0.00000",start="1274423088.356785",end="1274423088.356840"}
(gdb)
<-stack-list-frames 0 0>
^done,stack={frame={level="0",addr="0x00024780",fp="0xbfffd5f0",func="SYSTEM_HANDLEERRORADDRFRAME$LONGINT$POINTER$POINTER",optimized="0"}},time={wallclock="0.00009",user="0.00009",system="0.00001",start="1274423088.408020",end="1274423088.408111"}
(gdb)
<-exec-continue>
^running
(gdb)
*stopped,time={wallclock="0.00144",user="0.00054",system="0.00087",start="1274423138.525024",end="1274423138.526461"},reason="breakpoint-hit",commands="no",times="1",bkptno="2",thread-id="1"
(gdb)
<-data-evaluate-expression ^^shortstring(^pointer($rdi)^+24)^^>
^error,msg="Invalid cast."
(gdb)
<x/s ^Exception($rdi)^.FMessage>
&"x/s ^Exception($rdi)^.FMessage\n"