Subject | A Weird One |
---|---|
Author | sboydlns |
Post date | 2012-10-09T21:48:20Z |
I am using 4.9.14.52 with Delphi XE2 on Windows 7. I am having the strangest problem. I will try to describe it coherently.
In my application I have enabled automatic OAT processing to clean up transactions left open through the use of TDBGrids and the like. No problems with that per se. It works really well. Until I try to display something in a form using TWebBrowser. I don't know if this has anything to do with it, but this particular form has to wait until the web page is fully rendered before it can complete its own processing and return control to the caller. If the IBO timer expires and AOT processing kicks off during the time that the browser window is being rendered I will get "could not complete network request to localhost" in one of the IBO commit methods. Once that happens, the transaction in question (in this case, the default transaction) goes into limbo. You can't start another transaction because it is already active. You can't commit it either. Basically you have to use Task Manager to kill the program. If I use TIB_Connection.CloseTransactions to close all open transactions before attempting to render the web page the problem does not occur.
Bizarre, I know. Any ideas?
In my application I have enabled automatic OAT processing to clean up transactions left open through the use of TDBGrids and the like. No problems with that per se. It works really well. Until I try to display something in a form using TWebBrowser. I don't know if this has anything to do with it, but this particular form has to wait until the web page is fully rendered before it can complete its own processing and return control to the caller. If the IBO timer expires and AOT processing kicks off during the time that the browser window is being rendered I will get "could not complete network request to localhost" in one of the IBO commit methods. Once that happens, the transaction in question (in this case, the default transaction) goes into limbo. You can't start another transaction because it is already active. You can't commit it either. Basically you have to use Task Manager to kill the program. If I use TIB_Connection.CloseTransactions to close all open transactions before attempting to render the web page the problem does not occur.
Bizarre, I know. Any ideas?