procedure tdmmainmo.f18monthlistcalcfields(DataSet: TDataSet);
begin
with dataset do begin
        edit;
        fields[1].asmsestring:= monthnames1[fields[0].asinteger];
        post;
end;
end;

SF occurs atter multiple calls of OnCalcFileds. The stack :

#0  0040C3CE :0 fpc_initialize()
#1  006B3160 :0 VTBL_MSESQLDB_TMSESQLQUERY_$_IMSELOCATE()
#2  000A07B8 :0 ??()
#3  005BFBFD :0 MSESQLDB_TMSESQLQUERY_$__INHERITEDDATAEVENT$TDATAEVENT$LONGINT()
#4  00568316 :0 MSEDB_TDSCONTROLLER_$__DATAEVENT$TDATAEVENT$LONGINT()
#5  005BFBB3 :0 MSESQLDB_TMSESQLQUERY_$__DATAEVENT$TDATAEVENT$LONGINT()
#6  0054C3C2 :0 MDB_TDATASET_$__CHECKBROWSEMODE()
#7  0054C65A :0 MDB_TDATASET_$__DOINSERTAPPEND$BOOLEAN()
#8  0054C213 :0 MDB_TDATASET_$__APPEND()
#9  0054CB06 :0 MDB_TDATASET_$__EDIT()
#10  0043AEEA dmmain.pas:659
TDMMAINMO__F18MONTHLISTCALCFIELDS(DATASET=0xa07b8, this=<error reading
variable>)
#11  0054A45E dmmain.pas:0 MDB_TDATASET_$__DOONCALCFIELDS()
#12  005B9E1D dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__CALCULATEFIELDS$PCHAR()
#13  0054A5AB dmmain.pas:0 MDB_TDATASET_$__GETCALCFIELDS$PCHAR()
#14  005AF32A dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__GETRECORD$PCHAR$TGETMODE$BOOLEAN$$TGETRESULT()
#15  0054AF01 dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORD$$BOOLEAN()
#16  0054AFAB dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORDS$$LONGINT()
#17  0054C6D8 dmmain.pas:0 MDB_TDATASET_$__DOINSERTAPPEND$BOOLEAN()
#18  0054C213 dmmain.pas:0 MDB_TDATASET_$__APPEND()
#19  0054CB06 dmmain.pas:0 MDB_TDATASET_$__EDIT()
#20  0043AEEA dmmain.pas:659
TDMMAINMO__F18MONTHLISTCALCFIELDS(DATASET=0xa07b8, this=<error reading
variable>)
#21  0054A45E dmmain.pas:0 MDB_TDATASET_$__DOONCALCFIELDS()
#22  005B9E1D dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__CALCULATEFIELDS$PCHAR()
#23  0054A5AB dmmain.pas:0 MDB_TDATASET_$__GETCALCFIELDS$PCHAR()
#24  005AF32A dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__GETRECORD$PCHAR$TGETMODE$BOOLEAN$$TGETRESULT()
#25  0054AF01 dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORD$$BOOLEAN()
#26  0054AFAB dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORDS$$LONGINT()
#27  0054C6D8 dmmain.pas:0 MDB_TDATASET_$__DOINSERTAPPEND$BOOLEAN()
#28  0054C213 dmmain.pas:0 MDB_TDATASET_$__APPEND()
#29  0054CB06 dmmain.pas:0 MDB_TDATASET_$__EDIT()
#30  0043AEEA dmmain.pas:659
TDMMAINMO__F18MONTHLISTCALCFIELDS(DATASET=0xa07b8, this=<error reading
variable>)
#31  0054A45E dmmain.pas:0 MDB_TDATASET_$__DOONCALCFIELDS()
#32  005B9E1D dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__CALCULATEFIELDS$PCHAR()
#33  0054A5AB dmmain.pas:0 MDB_TDATASET_$__GETCALCFIELDS$PCHAR()
#34  005AF32A dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__GETRECORD$PCHAR$TGETMODE$BOOLEAN$$TGETRESULT()
#35  0054AF01 dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORD$$BOOLEAN()
#36  0054AFAB dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORDS$$LONGINT()
#37  0054C6D8 dmmain.pas:0 MDB_TDATASET_$__DOINSERTAPPEND$BOOLEAN()
#38  0054C213 dmmain.pas:0 MDB_TDATASET_$__APPEND()
#39  0054CB06 dmmain.pas:0 MDB_TDATASET_$__EDIT()
#40  0043AEEA dmmain.pas:659
TDMMAINMO__F18MONTHLISTCALCFIELDS(DATASET=0xa07b8, this=<error reading
variable>)
#41  0054A45E dmmain.pas:0 MDB_TDATASET_$__DOONCALCFIELDS()
#42  005B9E1D dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__CALCULATEFIELDS$PCHAR()
#43  0054A5AB dmmain.pas:0 MDB_TDATASET_$__GETCALCFIELDS$PCHAR()
#44  005AF32A dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__GETRECORD$PCHAR$TGETMODE$BOOLEAN$$TGETRESULT()
#45  0054AF01 dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORD$$BOOLEAN()
#46  0054AFAB dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORDS$$LONGINT()
#47  0054C6D8 dmmain.pas:0 MDB_TDATASET_$__DOINSERTAPPEND$BOOLEAN()
#48  0054C213 dmmain.pas:0 MDB_TDATASET_$__APPEND()
#49  0054CB06 dmmain.pas:0 MDB_TDATASET_$__EDIT()
#50  0043AEEA dmmain.pas:659
TDMMAINMO__F18MONTHLISTCALCFIELDS(DATASET=0xa07b8, this=<error reading
variable>)
#51  0054A45E dmmain.pas:0 MDB_TDATASET_$__DOONCALCFIELDS()
#52  005B9E1D dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__CALCULATEFIELDS$PCHAR()
#53  0054A5AB dmmain.pas:0 MDB_TDATASET_$__GETCALCFIELDS$PCHAR()
#54  005AF32A dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__GETRECORD$PCHAR$TGETMODE$BOOLEAN$$TGETRESULT()
#55  0054AF01 dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORD$$BOOLEAN()
#56  0054AFAB dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORDS$$LONGINT()
#57  0054C6D8 dmmain.pas:0 MDB_TDATASET_$__DOINSERTAPPEND$BOOLEAN()
#58  0054C213 dmmain.pas:0 MDB_TDATASET_$__APPEND()
#59  0054CB06 dmmain.pas:0 MDB_TDATASET_$__EDIT()
#60  0043AEEA dmmain.pas:659
TDMMAINMO__F18MONTHLISTCALCFIELDS(DATASET=0xa07b8, this=<error reading
variable>)
#61  0054A45E dmmain.pas:0 MDB_TDATASET_$__DOONCALCFIELDS()
#62  005B9E1D dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__CALCULATEFIELDS$PCHAR()
#63  0054A5AB dmmain.pas:0 MDB_TDATASET_$__GETCALCFIELDS$PCHAR()
#64  005AF32A dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__GETRECORD$PCHAR$TGETMODE$BOOLEAN$$TGETRESULT()
#65  0054AF01 dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORD$$BOOLEAN()
#66  0054AFAB dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORDS$$LONGINT()
#67  0054C6D8 dmmain.pas:0 MDB_TDATASET_$__DOINSERTAPPEND$BOOLEAN()
#68  0054C213 dmmain.pas:0 MDB_TDATASET_$__APPEND()
#69  0054CB06 dmmain.pas:0 MDB_TDATASET_$__EDIT()
#70  0043AEEA dmmain.pas:659
TDMMAINMO__F18MONTHLISTCALCFIELDS(DATASET=0xa07b8, this=<error reading
variable>)
#71  0054A45E dmmain.pas:0 MDB_TDATASET_$__DOONCALCFIELDS()
#72  005B9E1D dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__CALCULATEFIELDS$PCHAR()
#73  0054A5AB dmmain.pas:0 MDB_TDATASET_$__GETCALCFIELDS$PCHAR()
#74  005AF32A dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__GETRECORD$PCHAR$TGETMODE$BOOLEAN$$TGETRESULT()
#75  0054AF01 dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORD$$BOOLEAN()
#76  0054AFAB dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORDS$$LONGINT()
#77  0054C6D8 dmmain.pas:0 MDB_TDATASET_$__DOINSERTAPPEND$BOOLEAN()
#78  0054C213 dmmain.pas:0 MDB_TDATASET_$__APPEND()
#79  0054CB06 dmmain.pas:0 MDB_TDATASET_$__EDIT()
#80  0043AEEA dmmain.pas:659
TDMMAINMO__F18MONTHLISTCALCFIELDS(DATASET=0xa07b8, this=<error reading
variable>)
#81  0054A45E dmmain.pas:0 MDB_TDATASET_$__DOONCALCFIELDS()
#82  005B9E1D dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__CALCULATEFIELDS$PCHAR()
#83  0054A5AB dmmain.pas:0 MDB_TDATASET_$__GETCALCFIELDS$PCHAR()
#84  005AF32A dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__GETRECORD$PCHAR$TGETMODE$BOOLEAN$$TGETRESULT()
#85  0054AF01 dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORD$$BOOLEAN()
#86  0054AFAB dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORDS$$LONGINT()
#87  0054C6D8 dmmain.pas:0 MDB_TDATASET_$__DOINSERTAPPEND$BOOLEAN()
#88  0054C213 dmmain.pas:0 MDB_TDATASET_$__APPEND()
#89  0054CB06 dmmain.pas:0 MDB_TDATASET_$__EDIT()
#90  0043AEEA dmmain.pas:659
TDMMAINMO__F18MONTHLISTCALCFIELDS(DATASET=0xa07b8, this=<error reading
variable>)
#91  0054A45E dmmain.pas:0 MDB_TDATASET_$__DOONCALCFIELDS()
#92  005B9E1D dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__CALCULATEFIELDS$PCHAR()
#93  0054A5AB dmmain.pas:0 MDB_TDATASET_$__GETCALCFIELDS$PCHAR()
#94  005AF32A dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__GETRECORD$PCHAR$TGETMODE$BOOLEAN$$TGETRESULT()
#95  0054AF01 dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORD$$BOOLEAN()
#96  0054AFAB dmmain.pas:0 MDB_TDATASET_$__GETPRIORRECORDS$$LONGINT()
#97  0054C6D8 dmmain.pas:0 MDB_TDATASET_$__DOINSERTAPPEND$BOOLEAN()
#98  0054C213 dmmain.pas:0 MDB_TDATASET_$__APPEND()
#99  0054CB06 dmmain.pas:0 MDB_TDATASET_$__EDIT()
#100  0043AEEA dmmain.pas:659
TDMMAINMO__F18MONTHLISTCALCFIELDS(DATASET=0xa07b8, this=<error reading
variable>)


=========================================

Without the EDIT/POST frame, fkInternalCalc-filds can't be edited
(exception about non edit/insert state of the dataset). The stack :

#0  0040B416 :0 fpc_raiseexception()
#1  0054805C :0 MDB_DATABASEERRORFMT$ANSISTRING$array_of_const$TCOMPONENT()
#2  005B06A3 :0
MSEBUFDATASET_TMSEBUFDATASET_$__GETFIELDBUFFER$TFIELD$BOOLEAN$LONGINT$$POINTER()
#3  005B0EB7 :0
MSEBUFDATASET_TMSEBUFDATASET_$__SETMSESTRINGDATA$TMSESTRINGFIELD$UNICODESTRING()
#4  0055FA77 :0 MSEDB_TMSESTRINGFIELD_$__SETASUNICODESTRING$UNICODESTRING()
#5  0043AF2B dmmain.pas:660
TDMMAINMO__F18MONTHLISTCALCFIELDS(DATASET=0xa07b8, this=<error reading
variable>)
#6  0054A44E dmmain.pas:0 MDB_TDATASET_$__DOONCALCFIELDS()
#7  005B9E0D dmmain.pas:0
MSEBUFDATASET_TMSEBUFDATASET_$__CALCULATEFIELDS$PCHAR()
#8  0054A59B dmmain.pas:0 MDB_TDATASET_$__GETCALCFIELDS$PCHAR()
#9  0054CB4E dmmain.pas:0 MDB_TDATASET_$__EDIT()
#10  0055A09C dmmain.pas:0 MDB_TDATASOURCE_$__EDIT()
#11  005594B0 dmmain.pas:0 MDB_TDATALINK_$__EDIT$$BOOLEAN()
#12  00510A55 dmmain.pas:0
MSEDBEDIT_TCUSTOMEDITWIDGETDATALINK_$__EDIT$$BOOLEAN()
#13  00510B27 dmmain.pas:0 MSEDBEDIT_TCUSTOMEDITWIDGETDATALINK_$__MODIFIED()
#14  00513147 dmmain.pas:0 MSEDBEDIT_TDBBOOLEANEDIT_$__MODIFIED()
#15  005A12CD dmmain.pas:0 MSEGRAPHEDITS_TGRAPHDATAEDIT_$__VALUECHANGED()
#16  005A233A dmmain.pas:0
MSEGRAPHEDITS_TCUSTOMBOOLEANEDIT_$__SETVALUE$BOOLEAN()
#17  005A1FE6 dmmain.pas:0
MSEGRAPHEDITS_TCUSTOMBOOLEANEDIT_$__INTERNALCHECKVALUE$formal$BOOLEAN()
#18  005A0967 dmmain.pas:0
MSEGRAPHEDITS_TGRAPHDATAEDIT_$__DOCHECKVALUE$formal$$BOOLEAN()
#19  005A2039 dmmain.pas:0
MSEGRAPHEDITS_TCUSTOMBOOLEANEDIT_$__TOGGLEVALUE$BOOLEAN$BOOLEAN()
#20  005A1ADB dmmain.pas:0
MSEGRAPHEDITS_TTOGGLEGRAPHDATAEDIT_$__MOUSEEVENT$MOUSEEVENTINFOTY()
#21  0042AF0C msegui.pas:13597 TWINDOW__DISPATCHMOUSEEVENT(INFO={MOUSE
= {EVENTKIND = EK_BUTTONRELEASE, SHIFTSTATE = [], POS = {X = 18, Y =
6}, EVENTSTATE = [], TIMESTAMP = 4108611408, BUTTON = MB_LEFT}, WHEEL
= {EVENTKIND = EK_BUTTONRELEASE, SHIFTSTATE = [], POS = {X = 18, Y =
6}, EVENTSTATE = [], TIMESTAMP = 4108611408, WHEEL = MW_UP, DELTA =
0}}, CAPTURE=0xce968, this=<error reading variable>)
#22  0042E673 msegui.pas:15240
TINTERNALAPPLICATION__PROCESSMOUSEEVENT(EVENT=0x3fff2b8, this=<error
reading variable>)
#23  004305C6 msegui.pas:16172
TINTERNALAPPLICATION__EVENTLOOP(ONCE=false, this=<error reading
variable>)
#24  00431A47 msegui.pas:16767
TINTERNALAPPLICATION__DOEVENTLOOP(ONCE=false, this=<error reading
variable>)
#25  00477245 mseapplication.pas:1607
TCUSTOMAPPLICATION__RUN(this=<error reading variable>)
#26  00402312 podpiska.pas:41 main()

------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
mseide-msegui-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk

Reply via email to