Subject RE: [IBO] DML Caching Problem
Author IBO Support List
Thomas,

I think something more graceful should happen.
I wonder if you would please be willing to make a little sample app for this
issue?

Thanks,
Jason

-----Original Message-----
From: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com] On Behalf
Of Thomas Steinmaurer
Sent: 17 January 2012 12:34 AM
To: IBObjects@yahoogroups.com
Subject: [IBO] DML Caching Problem

Hello Jason,

I encounter a problem (or possibly this is as designed) with the DML
Caching functionality.

I have one TIB_Transaction (tiCommitted, AutoCommit=True). Two TIB_Query
pointing to this transaction object, both using the same query and
RequestLive is set to True. Both query objects have all DMLCacheFlags
set to True so both will send and can receive notifications.

Steps to reproduce:

- Go into insert mode with query 1
- Go into insert mode with query 2
- Enter data for query 2 and post
- Enter data for query 1 and post. At this point, I get a "Dataset is
currently open" exception with the following stack trace:


----------------------------------------------------------------------------
-----------------------
|Address |Module |Unit |Class
|Procedure/Method |Line |
----------------------------------------------------------------------------
-----------------------
|*Exception Thread: ID=2816; Priority=0; Class=; [Main]
|
|---------------------------------------------------------------------------
----------------------|
|005C1BC5|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|SysExecute |26720[2] |
|005C0F5D|DML_Caching.exe|IB_Components.pas|TIB_Dataset |SysOpen
|26445[34] |
|005C0DCC|DML_Caching.exe|IB_Components.pas|TIB_Dataset |SysOpen
|26411[0] |
|005C1948|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|SysRefresh |26672[147]|
|005C0A0B|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|RefreshAll |26288[12] |
|005C09B4|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|RefreshAll |26276[0] |
|005C09AC|DML_Caching.exe|IB_Components.pas|TIB_Dataset |Refresh
|26272[1] |
|005C98E0|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|SysStateChanged |30257[15] |
|005C9878|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|SysStateChanged |30242[0] |
|005C9806|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|EnableControls |30225[7] |
|005C97CC|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|EnableControls |30218[0] |
|005C1AEA|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|SysRefresh |26703[178]|
|005C0A0B|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|RefreshAll |26288[12] |
|005C09B4|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|RefreshAll |26276[0] |
|005C09AC|DML_Caching.exe|IB_Components.pas|TIB_Dataset |Refresh
|26272[1] |
|005C98E0|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|SysStateChanged |30257[15] |
|005C9878|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|SysStateChanged |30242[0] |
|005C9806|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|EnableControls |30225[7] |
|005C97CC|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|EnableControls |30218[0] |
|005C82DE|DML_Caching.exe|IB_Components.pas|TIB_Dataset |SysPost
|29484[62] |
|005C8010|DML_Caching.exe|IB_Components.pas|TIB_Dataset |SysPost
|29422[0] |
|005CDB99|DML_Caching.exe|IB_Components.pas|TIB_BDataset |SysPost
|31988[4] |
|005BCF49|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|CheckBrowseMode |24804[9] |
|005BCEE4|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|CheckBrowseMode |24795[0] |
|005C8FB3|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|SysBeforeScroll |29936[6] |
|005C8F78|DML_Caching.exe|IB_Components.pas|TIB_Dataset
|SysBeforeScroll |29930[0] |
|005D0580|DML_Caching.exe|IB_Components.pas|TIB_BDataset
|SysBeforeScroll |33174[1] |
|005D3346|DML_Caching.exe|IB_Components.pas|TIB_BDataset
|SetRowNum |34440[10] |
|00629262|DML_Caching.exe|IB_Grid.pas |TIB_CustomGrid |Scroll
|4380[37] |
|0062C5B9|DML_Caching.exe|IB_Grid.pas |TIB_CustomGrid |KeyDown
|5760[286] |
|006257AB|DML_Caching.exe|IB_Grid.pas |TIB_GridInplaceEdit|KeyDown
|2467[38] |
|0062F66C|DML_Caching.exe|IB_Grid.pas |TIB_CustomGrid
|DefaultHandler |7367[1] |
|7707813E|ntdll.dll | |
|RtlUnlockHeap | |
|77062210|ntdll.dll | |
|RtlLeaveCriticalSection| |
|006253B6|DML_Caching.exe|IB_Grid.pas |TIB_GridInplaceEdit|WndProc
|2370[25] |
|75007DF5|USER32.dll | |
|DispatchMessageW | |
|75007DEB|USER32.dll | |
|DispatchMessageW | |
|0063D081|DML_Caching.exe|DML_Caching.dpr | |
|14[4] |
|74C23675|kernel32.dll | |
|BaseThreadInitThunk | |
----------------------------------------------------------------------------
-----------------------


Any ideas?



Thanks,
Thomas