Subject | Strange behaviour of some controls |
---|---|
Author | Riho-Rene Ellermaa |
Post date | 2003-10-07T10:06:53Z |
IBO 4.2Ib, BCB5, FB1.03
I encountered strange behaviour in TIB_Date and TIB_Memo.
When I set focus to these fields and press Backspace key, then TIB_Date tries to go to Edit mode twice and because of that tries to save changes in second round. TIB_Memo swallows the first keypress, i.e. the character is not deleted. If I use Delete key, then everything works normaly - controls enter the Edit mode and character under cursor is deleted.
I tried to duplicate it in separate project, but failed - it works normaly there!!
Can anyone give me a hint what setting could cause this kind of action?
I include the stack from TIB_Date modification (DataSource:Modify is called twice):
0072DEF9 Ib_components::TIB_Dataset::SysEdit(Self=:031F493C)
00742DDF Ib_components::TIB_DataSource::Edit(Self=:0280B688)
00742E9E Ib_components::TIB_DataSource::Modify(Self=:0280B688)
00743EDE Ib_components::TIB_DataLink::Modify(Self=:027FE1DC)
0087AF05 Ib_fielddatalink::TIB_FieldDataLink::Modify(Self=:027FE1DC)
00869C9C Ib_controls::TIB_CustomEdit::EditCanModify(Self=:027FD738)
0086DA4C Ib_controls::TIB_CustomDate::EditCanModify(Self=:027FD738)
0086DBB1 Ib_controls::TIB_CustomDate::KeyPress(Self=:027FD738, Key=:0012F541)
4006F8C3 C:\WINNT\system32\VCL50.BPL
0086DA0D Ib_controls::TIB_CustomDate::WndProc(Self=:027FD738, Message=????)
4006DF7B C:\WINNT\system32\VCL50.BPL
400511D6 C:\WINNT\system32\VCL50.BPL
77E12CA8 C:\WINNT\system32\user32.dll
77E12DC5 C:\WINNT\system32\user32.dll
77E1577D C:\WINNT\system32\user32.dll
0073B9EA Ib_components::TIB_BDataset::DoKeyDataChange(Self=:0280B758, AField=NULL)
007245DB Ib_components::TIB_Dataset::SysKeyDataChange(Self=:0280B758, AField=NULL)
0072468E Ib_components::TIB_Dataset::IB_KeyDataChange(Self=:0280B758, ADataLink=:0280C7B0, ADataSource=:0280B688, AField=NULL)
007452D2 Ib_components::TIB_DataLink::DoDataChange(Self=:0280C7B0, AField=NULL)
00745FE3 Ib_components::TIB_KeyDataLink::SysDataChange(Self=:0280C7B0, AField=NULL)
00745B55 Ib_components::TIB_DataLink::ProcessStatementEvent(Self=:0280C7B0, AEvent=22 /* setFieldsDataChange */, Info=0)
00743448 Ib_components::TIB_DataSource::ProcessEvent(Self=:0280B688, AEvent=22 /* setFieldsDataChange */, Info=0)
007218C5 Ib_components::TIB_Statement::ProcessLinkEvent(Self=:031F493C, AEvent=22 /* setFieldsDataChange */, Info=0)
007308A5 Ib_components::TIB_Dataset::ProcessLinkEvent(Self=:031F493C, AEvent=22 /* setFieldsDataChange */, Info=0)
0072D036 Ib_components::TIB_Dataset::DataChange(Self=:031F493C)
00739078 Ib_components::TIB_BDataset::SetRowNum(Self=:031F493C, AValue=1)
007379DB Ib_components::TIB_BDataset::SysMoveBy(Self=:031F493C, IncRows=0)
0073050E Ib_components::TIB_Dataset::InvalidateRowNum(Self=:031F493C, ARowNum=1)
0073B22A Ib_components::TIB_BDataset::InvalidateRowNum(Self=:031F493C, ARowNum=1)
02ECC14E TDataModule2::QMasterBeforeEdit(this=:0283B764, IB_Dataset=:031F493C)
00730145 Ib_components::LaunchDSEvent(DS=:031F493C, EV={TDataModule2::QMasterBeforeEdit,:0283B764})
0073016A Ib_components::TIB_Dataset::DoBeforeEdit(Self=:031F493C)
0072FA68 Ib_components::TIB_Dataset::SysBeforeEdit(Self=:031F493C)
0072DF01 Ib_components::TIB_Dataset::SysEdit(Self=:031F493C)
00742DDF Ib_components::TIB_DataSource::Edit(Self=:0280B688)
00742E9E Ib_components::TIB_DataSource::Modify(Self=:0280B688)
00743EDE Ib_components::TIB_DataLink::Modify(Self=:027FE1DC)
0087AF05 Ib_fielddatalink::TIB_FieldDataLink::Modify(Self=:027FE1DC)
00869C9C Ib_controls::TIB_CustomEdit::EditCanModify(Self=:027FD738)
0086DA4C Ib_controls::TIB_CustomDate::EditCanModify(Self=:027FD738)
400B413D C:\WINNT\system32\VCL50.BPL
4006F72F C:\WINNT\system32\VCL50.BPL
4006B7C4 C:\WINNT\system32\VCL50.BPL
0086DA0D Ib_controls::TIB_CustomDate::WndProc(Self=:027FD738, Message=????)
4006DF7B C:\WINNT\system32\VCL50.BPL
400511D6 C:\WINNT\system32\VCL50.BPL
77E12CA8 C:\WINNT\system32\user32.dll
77E12DC5 C:\WINNT\system32\user32.dll
77E1577D C:\WINNT\system32\user32.dll
00401C65 WinMain( =:00400000, =NULL, str=:00134C43, =9)
3257E14F C:\Program Files\Borland\CBuilder5\Projects\Telehansa\CC3250MT.DLL
Riho-Rene Ellermaa
senior programmer
I encountered strange behaviour in TIB_Date and TIB_Memo.
When I set focus to these fields and press Backspace key, then TIB_Date tries to go to Edit mode twice and because of that tries to save changes in second round. TIB_Memo swallows the first keypress, i.e. the character is not deleted. If I use Delete key, then everything works normaly - controls enter the Edit mode and character under cursor is deleted.
I tried to duplicate it in separate project, but failed - it works normaly there!!
Can anyone give me a hint what setting could cause this kind of action?
I include the stack from TIB_Date modification (DataSource:Modify is called twice):
0072DEF9 Ib_components::TIB_Dataset::SysEdit(Self=:031F493C)
00742DDF Ib_components::TIB_DataSource::Edit(Self=:0280B688)
00742E9E Ib_components::TIB_DataSource::Modify(Self=:0280B688)
00743EDE Ib_components::TIB_DataLink::Modify(Self=:027FE1DC)
0087AF05 Ib_fielddatalink::TIB_FieldDataLink::Modify(Self=:027FE1DC)
00869C9C Ib_controls::TIB_CustomEdit::EditCanModify(Self=:027FD738)
0086DA4C Ib_controls::TIB_CustomDate::EditCanModify(Self=:027FD738)
0086DBB1 Ib_controls::TIB_CustomDate::KeyPress(Self=:027FD738, Key=:0012F541)
4006F8C3 C:\WINNT\system32\VCL50.BPL
0086DA0D Ib_controls::TIB_CustomDate::WndProc(Self=:027FD738, Message=????)
4006DF7B C:\WINNT\system32\VCL50.BPL
400511D6 C:\WINNT\system32\VCL50.BPL
77E12CA8 C:\WINNT\system32\user32.dll
77E12DC5 C:\WINNT\system32\user32.dll
77E1577D C:\WINNT\system32\user32.dll
0073B9EA Ib_components::TIB_BDataset::DoKeyDataChange(Self=:0280B758, AField=NULL)
007245DB Ib_components::TIB_Dataset::SysKeyDataChange(Self=:0280B758, AField=NULL)
0072468E Ib_components::TIB_Dataset::IB_KeyDataChange(Self=:0280B758, ADataLink=:0280C7B0, ADataSource=:0280B688, AField=NULL)
007452D2 Ib_components::TIB_DataLink::DoDataChange(Self=:0280C7B0, AField=NULL)
00745FE3 Ib_components::TIB_KeyDataLink::SysDataChange(Self=:0280C7B0, AField=NULL)
00745B55 Ib_components::TIB_DataLink::ProcessStatementEvent(Self=:0280C7B0, AEvent=22 /* setFieldsDataChange */, Info=0)
00743448 Ib_components::TIB_DataSource::ProcessEvent(Self=:0280B688, AEvent=22 /* setFieldsDataChange */, Info=0)
007218C5 Ib_components::TIB_Statement::ProcessLinkEvent(Self=:031F493C, AEvent=22 /* setFieldsDataChange */, Info=0)
007308A5 Ib_components::TIB_Dataset::ProcessLinkEvent(Self=:031F493C, AEvent=22 /* setFieldsDataChange */, Info=0)
0072D036 Ib_components::TIB_Dataset::DataChange(Self=:031F493C)
00739078 Ib_components::TIB_BDataset::SetRowNum(Self=:031F493C, AValue=1)
007379DB Ib_components::TIB_BDataset::SysMoveBy(Self=:031F493C, IncRows=0)
0073050E Ib_components::TIB_Dataset::InvalidateRowNum(Self=:031F493C, ARowNum=1)
0073B22A Ib_components::TIB_BDataset::InvalidateRowNum(Self=:031F493C, ARowNum=1)
02ECC14E TDataModule2::QMasterBeforeEdit(this=:0283B764, IB_Dataset=:031F493C)
00730145 Ib_components::LaunchDSEvent(DS=:031F493C, EV={TDataModule2::QMasterBeforeEdit,:0283B764})
0073016A Ib_components::TIB_Dataset::DoBeforeEdit(Self=:031F493C)
0072FA68 Ib_components::TIB_Dataset::SysBeforeEdit(Self=:031F493C)
0072DF01 Ib_components::TIB_Dataset::SysEdit(Self=:031F493C)
00742DDF Ib_components::TIB_DataSource::Edit(Self=:0280B688)
00742E9E Ib_components::TIB_DataSource::Modify(Self=:0280B688)
00743EDE Ib_components::TIB_DataLink::Modify(Self=:027FE1DC)
0087AF05 Ib_fielddatalink::TIB_FieldDataLink::Modify(Self=:027FE1DC)
00869C9C Ib_controls::TIB_CustomEdit::EditCanModify(Self=:027FD738)
0086DA4C Ib_controls::TIB_CustomDate::EditCanModify(Self=:027FD738)
400B413D C:\WINNT\system32\VCL50.BPL
4006F72F C:\WINNT\system32\VCL50.BPL
4006B7C4 C:\WINNT\system32\VCL50.BPL
0086DA0D Ib_controls::TIB_CustomDate::WndProc(Self=:027FD738, Message=????)
4006DF7B C:\WINNT\system32\VCL50.BPL
400511D6 C:\WINNT\system32\VCL50.BPL
77E12CA8 C:\WINNT\system32\user32.dll
77E12DC5 C:\WINNT\system32\user32.dll
77E1577D C:\WINNT\system32\user32.dll
00401C65 WinMain( =:00400000, =NULL, str=:00134C43, =9)
3257E14F C:\Program Files\Borland\CBuilder5\Projects\Telehansa\CC3250MT.DLL
Riho-Rene Ellermaa
senior programmer