View Issue Details

IDProjectCategoryView StatusLast Update
0016523LazarusLCLpublic2011-04-03 12:41
ReporterIan UptonAssigned ToJesus Reyes 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Platformintel 386OSWindowsOS VersionXP SP3
Product VersionProduct Build22279 svn 
Target VersionFixed in Version0.9.29 (SVN) 
Summary0016523: DGrid - OnExit events when moving within DBGrid
DescriptionWhen using DBGrid.

OnExit events occur when;

Mouse: Selecting a different cell, leaving the DBGrid.
Keyboard: First character after entering cell.

According to documentation (delphi, Lazarus, tutorials, etc) the onexit should only occur when leaving the DBGrid.

raised this in the lazarus forum. Suggested I raise it here.

Steps To ReproduceCreated simple test project (attached).

Test project uses DBgrid-datasource-TMemDataset.
Dbgrid OnCellClick and Onexit and ButtonClick are programmed to log occurrence in memo.
Displays multiple exits.
TagsNo tags attached.
Fixed in Revision25255
LazTarget0.99.0
Widgetset
Attached Files
  • test-7.7z (68,198 bytes)
  • test-empty-project.zip (128,848 bytes)
  • 30oct10-Exit-Problem.txt (9,581 bytes)
        
    
    DataModuleDB.DM.ZQueryResults.ApplyUpdates;     
    
    
    
    Before post at line 578 in ZAbstractDataset 
    
    procedure TZAbstractDataset.ApplyUpdates; 
    begin
      if not Active then
        Exit;
    
      Connection.ShowSQLHourGlass;
      try
        if State in [dsEdit, dsInsert] then
           Post;
    
        DoBeforeApplyUpdates; {bangfauzan addition}    
    
    #0 TZABSTRACTDATASET__APPLYUPDATES(<error reading variable>) at C:\SW\ZEOSDBO-7.0.0-alpha\src\component\ZAbstractDataset.pas:577
    #1 TFORMMAIN__DBGRIDRESULTSKEYDOWN(0x34ec050, 52, [], <error reading variable>) at formmain.pas:2097
    #2 TWINCONTROL__KEYDOWN(52, [], <error reading variable>) at .\include\wincontrol.inc:5441
    #3 TCUSTOMGRID__KEYDOWN(52, [], <error reading variable>) at grids.pas:6128
    #4 TCUSTOMDBGRID__KEYDOWN(52, [], <error reading variable>) at dbgrids.pas:2130
    #5 TCUSTOMGRID__EDITORKEYDOWN(0x34ec670, 52, [], <error reading variable>) at grids.pas:7031
    #6 DOEDITORKEYDOWN(0x2e1f99c) at grids.pas:8415
    #7 TSTRINGCELLEDITOR__KEYDOWN(52, [], <error reading variable>) at grids.pas:8465
    #8 TWINCONTROL__KEYDOWNBEFOREINTERFACE(52, [], <error reading variable>) at .\include\wincontrol.inc:5449
    #9 TWINCONTROL__DOKEYDOWNBEFOREINTERFACE({MSG = 48384, CHARCODE = 52, UNUSED = 737, KEYDATA = 327681, RESULT = 0}, false, <error reading variable>) at .\include\wincontrol.inc:5618
    #10 TWINCONTROL__CNKEYDOWN({MSG = 48384, CHARCODE = 52, UNUSED = 737, KEYDATA = 327681, RESULT = 0}, <error reading variable>) at .\include\wincontrol.inc:6899
    #11 SYSTEM_TOBJECT_$__DISPATCH$formal at :0
    #12 RAISELOOP(0x2e1fc7c) at .\include\wincontrol.inc:6808
    #13 TWINCONTROL__WNDPROC({MSG = 48384, WPARAM = 48300084, LPARAM = 327681, RESULT = 0, WPARAMLO = 52, WPARAMHI = 737, LPARAMLO = 1, LPARAMHI = 5, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5207
    #14 TSTRINGCELLEDITOR__WNDPROC({MSG = 48384, WPARAM = 48300084, LPARAM = 327681, RESULT = 0, WPARAMLO = 52, WPARAMHI = 737, LPARAMLO = 1, LPARAMHI = 5, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:8377
    #15 DELIVERMESSAGE(0x34ec670, void) at lclmessageglue.pas:110
    #16 WINDOWPROC(1311082, 256, 52, 327681) at win32callback.inc:2420
    #17 ?? at :0
    #18 ?? at :0
    #19 ?? at :0
    #20 ?? at :0
    #21 ?? at :0
    #22 GETNEEDPARENTPAINT(0x519e80, 0x2e1fdb0) at win32callback.inc:188
    #23 ?? at :0
    #24 GETNEEDPARENTPAINT(0x0, 0x7e418830) at win32callback.inc:188
    #25 ?? at :0
    #26 ?? at :0
    
    wincontrol.inc 8009
    
    procedure TWinControl.CMExit(var Message: TLMessage);
    begin
      DoExit;
    end;            
    
    #0 TWINCONTROL__CMEXIT({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8009
    #1 SYSTEM_TOBJECT_$__DISPATCH$formal at :0
    #2 TWINCONTROL__CMENTER({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8005
    #3 TWINCONTROL__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5207
    #4 TSTRINGCELLEDITOR__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:8377
    #5 TCONTROL__PERFORM(45083, 0, 0, <error reading variable>) at .\include\control.inc:1025
    #6 SENDENTEREXITLOOP(0x2e1eb54) at .\include\customform.inc:2256
    #7 TCUSTOMFORM__SETFOCUSEDCONTROL(0x346cb00, <error reading variable>) at .\include\customform.inc:2353
    #8 TWINCONTROL__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5133
    #9 TCUSTOMGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:4213
    #10 TCUSTOMDBGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at dbgrids.pas:1208
    #11 DELIVERMESSAGE(0x346cb00, void) at lclmessageglue.pas:110
    #12 WINDOWPROC(2490718, 7, 983320, 0) at win32callback.inc:2420
    #13 ?? at :0
    #14 ?? at :0
    #15 ?? at :0
    #16 ?? at :0
    #17 ?? at :0
    
    wincontrol.inc 8009
    
    procedure TWinControl.CMExit(var Message: TLMessage);
    begin
      DoExit;
    end;            
    
    #0 TWINCONTROL__CMEXIT({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8009
    #1 SYSTEM_TOBJECT_$__DISPATCH$formal at :0
    #2 TWINCONTROL__CMENTER({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8005
    #3 TWINCONTROL__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5207
    #4 TCUSTOMGRID__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:4213
    #5 TCUSTOMDBGRID__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at dbgrids.pas:1208
    #6 TCONTROL__PERFORM(45083, 0, 0, <error reading variable>) at .\include\control.inc:1025
    #7 SENDENTEREXITLOOP(0x2e1eb54) at .\include\customform.inc:2256
    #8 TCUSTOMFORM__SETFOCUSEDCONTROL(0x346cb00, <error reading variable>) at .\include\customform.inc:2353
    #9 TWINCONTROL__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5133
    #10 TCUSTOMGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:4213
    #11 TCUSTOMDBGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at dbgrids.pas:1208
    #12 DELIVERMESSAGE(0x346cb00, void) at lclmessageglue.pas:110
    #13 WINDOWPROC(2490718, 7, 983320, 0) at win32callback.inc:2420
    #14 ?? at :0
    #15 ?? at :0
    #16 ?? at :0
    #17 ?? at :0
    #18 ?? at :0
    
    exit
    
    procedure TFormMain.DBGridResultsExit(Sender: TObject);
    // Leaving the results entry dbgrid, tidy up
    
    begin
      DataModuleDB.DM.EventLog.Debug('ResultsGrid EXIT ');      
    
    #0 TFORMMAIN__DBGRIDRESULTSEXIT(0x34ec050, <error reading variable>) at formmain.pas:1963
    #1 TWINCONTROL__DOEXIT(<error reading variable>) at .\include\wincontrol.inc:6384
    #2 TCUSTOMGRID__DOEXIT(<error reading variable>) at grids.pas:6039
    #3 TCUSTOMDBGRID__DOEXIT(<error reading variable>) at dbgrids.pas:2409
    #4 TWINCONTROL__CMEXIT({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8009
    #5 SYSTEM_TOBJECT_$__DISPATCH$formal at :0
    #6 TWINCONTROL__CMENTER({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8005
    #7 TWINCONTROL__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5207
    #8 TCUSTOMGRID__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:4213
    #9 TCUSTOMDBGRID__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at dbgrids.pas:1208
    #10 TCONTROL__PERFORM(45083, 0, 0, <error reading variable>) at .\include\control.inc:1025
    #11 SENDENTEREXITLOOP(0x2e1eb54) at .\include\customform.inc:2256
    #12 TCUSTOMFORM__SETFOCUSEDCONTROL(0x346cb00, <error reading variable>) at .\include\customform.inc:2353
    #13 TWINCONTROL__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5133
    #14 TCUSTOMGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:4213
    #15 TCUSTOMDBGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at dbgrids.pas:1208
    #16 DELIVERMESSAGE(0x346cb00, void) at lclmessageglue.pas:110
    #17 WINDOWPROC(2490718, 7, 983320, 0) at win32callback.inc:2420
    #18 ?? at :0
    #19 ?? at :0
    #20 ?? at :0
    #21 ?? at :0
    #22 ?? at :0
    
    
    
    
    
    
    
    
    30oct10-Exit-Problem.txt (9,581 bytes)

Activities

2010-05-20 06:12

 

test-7.7z (68,198 bytes)

Jesus Reyes

2010-05-21 06:13

developer   ~0037834

Sorry, this problem can't be reproduced in current Lazarus either in Linux or Windows.

Please test a newer revision, it looks r22279 (0.9.28.3?) is too old at least for grid support. After testing please give some feedback if there is some problem remaining.

Jesus Reyes

2010-05-21 21:59

developer   ~0037850

Last edited: 2010-05-21 22:00

I was also surprised that currently it was working because I was familiar with the OnExit/OnEnter problem between grid and editor, so I investigated why it's working and found the cause: the focus problem was fixed in r25255 so the grid now works fine, thanks Paul!.

Ian Upton

2010-05-26 03:27

reporter   ~0037989

Apologies for the slow response but i had to download Laz, install firebird, zeos, etc to construct the environment.

Lazarus daily snapshot 0.9.29 - 25626.

Paul is corrct, the onExit problem is fixed.

Thank you for the assistance, Ian.

Jesus Reyes

2010-05-26 03:42

developer   ~0037990

ok, then please close this report.

Ian Upton

2010-06-29 00:22

reporter   ~0038861

Woops......

Progressing with the project, performed some more testing and woops, the DBGrid EXIT occurs on entering data into a cell.

My test program does not show the problem.

Created a new form in my project. Added a DBGRID pointing to the same database.
The EXIT problem does NOT occur.

Added a grid to the same form that has the grids that fail.
The EXIT problem DOES occur on the new grid!!

So it would appear that something on the form or a cobination of things on the form is creating a focus issue.

I will try and produce a small version of the problem and upload it.

Ian

2010-06-29 08:27

 

test-empty-project.zip (128,848 bytes)

Jesus Reyes

2010-09-12 02:17

developer   ~0040977

I cannot reproduce the problem with the supplied test-empty-project.zip project using lazarus r27317, using any imaginable edit technique the log show consistently only changes of focus between the two grids.

Please try again, if you can reproduce, write the actual actions one have to replay to reproduce the problem. I mean click here, type this, etc.

Ian Upton

2010-09-19 06:52

reporter   ~0041192

Thanks for the response.

I slightly modified the program (added some 'keydown' event handlers on grid1 and grid2 to display that a keydown was processed).

I tested with version 0.9.29 - 25626.

Test procedure was as follows:

1. Load-run program. Form displays with focus on the top grid.
2. Press the 'down arrow' three times.
Display in the memo should be

DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 keydown!

3. Click on the bottom grid
Display in the memo should be

DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 exit!

Focus is on the bottom grid.

4. Press the 'down arrow' key.
The display is

DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 exit!
DBgrid2 keydown! <<< Key down - 'down arrow key'
DBgrid2 exit! <<< WHY DOES THIS HAPPEN??????

Focus is now on the top grid.

5. Press the 'down arrow'.
Memo display is

DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 exit!
DBgrid2 keydown!
DBgrid2 exit!
DBgrid1 keydown! <<< WE are in the top grid.

6. Press the 'down arrow' a couple more times and the display is then

DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 exit!
DBgrid2 keydown!
DBgrid2 exit!
DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 keydown!

7. Click on the top cell of the bottom grid.
Memo display is then

DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 exit!
DBgrid2 keydown!
DBgrid2 exit!
DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 keydown!

DBgrid1 exit! <<< Caused by click on bottom grid

8. press the 'down arrow' key several times.
Display is then

DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 exit!
DBgrid2 keydown!
DBgrid2 exit! <<<<<< Note 1: Exit grid2 on first keydown in grid 2.
DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 keydown!
DBgrid1 exit!
DBgrid2 keydown! <<<<<< Why no exit from grid1 on keydown?? Like Note 1 above??
DBgrid2 keydown!
DBgrid2 keydown!
DBgrid2 keydown!
DBgrid2 keydown!

Why the exit from Grid2 ????????????????????????????????????????????????

I have also tested with version 27377 of lazarus.

NOTE 1:

THE PROBLEM DISPLAYED IN ITEM 8 ABOVE (THE CHANGE OF FOCUS ON
<<<<<< Note 1: Exit grid2 on first keydown in grid 2) DOES NOT OCCUR!!!!!!!!!

It would appear that something has changed between0.9.29 - 25626 and 27377.

NOTE 2.

The problem still appears to occur on my project. The projects main form has 3 grids and extensive data verification and control on two of these grids.

I will try to get more relevant data on what the project does. My own traces, debug halts and snaps of the stack.

Is there anything else I can enable down in the bowels to get morerelvant data???

Ian

Jesus Reyes

2010-09-19 10:29

developer   ~0041197

>4. Press the 'down arrow' key.
>The display is
>
>DBgrid1 keydown!
>DBgrid1 keydown!
>DBgrid1 keydown!
>DBgrid1 exit!
>DBgrid2 keydown! <<< Key down - 'down arrow key'
>DBgrid2 exit! <<< WHY DOES THIS HAPPEN??????
>
>Focus is now on the top grid."

This is the revealing part, why does this happen? answer: because the grid is losing focus and if it's losing focus then the OnExit event should trigger, so that part is working OK. What is not working fine is the grid should not lose the focus on keydown (arrow key). And this looks very much like bug report 17239 which was fixed in Lazarus revision 27183, that may explain why I wasn't able to reproduce the issue here.

Ian Upton

2010-09-19 11:17

reporter   ~0041199

Thanks for the quick response.

Would also explain why it is not there in 27377.

I will persue the problem in my project and see what is going on there.

Ian

Ian Upton

2010-09-20 04:59

reporter   ~0041218

More information.........

Version: 27377.

Program: My project which is used to enter and validate results from athletic meetings. I have added some debug traces.

For test purposes I have performed a simple entry of an athletes number into one column of the 'results' grid.

The program starts and gives focus to the results grid on the athletes 'number' entry column (top cell). I type in the number '245' and press ENTER, the number is then validated against an in-memory table (TsdfDataSet).

The number is found to be valid and a record should be written to the cached record of a FireBird (using ZEOS 7) database table.

The selected cell should then be moved to the following row of the grid (AutoAdvance = aaDown).

Instead focus is passed to the 'event' grid. Press the 'arrow down' key and the selected row highlight moves down the 'event' grid.

The following log file extract illustrates the process (comments flagged with <<<).

 [2010-09-19 20:53:57.642 Info] FormMain: GetCurrent: 5
 [2010-09-19 20:53:57.642 Warning] Round: 2 Event: 5 800 metres ResultCount(Lanes+Data): 56 Wind= N
 [2010-09-19 20:54:05.095 Debug] KeyEnter 245 <<< Enter 245 and press ENTER Key, enter DBGridResultsKeyDown event code.
 [2010-09-19 20:54:05.095 Info] RegChecks 245
 [2010-09-19 20:54:05.095 Info] FormReg: FindBin: 245 <<< find in memory table
 [2010-09-19 20:54:05.111 Info] FormReg: GetRegData 1
 [2010-09-19 20:54:05.111 Info] FormMain: GetCurrent: 5
 [2010-09-19 20:54:05.111 Info] FormMain: GetCurrent: 5
 [2010-09-19 20:54:05.111 Info] FormMain: GetCurrent: 5
 [2010-09-19 20:54:05.111 Info] SetUpRegData 245
 [2010-09-19 20:54:05.111 Info] SetUpBulkPerfData <<< Trouble (?) commences here!!!!
The code is
DataModuleDB.DM.ZQueryResults.Edit;
          SetUpRegData(DebugReg);
          SetUpBulkPerfData(DataModuleDB.DM.ZQueryResults); <<< Load all required fields in the Fireburd table cache.
          DataModuleDB.DM.ZQueryResults.Post; <<< If I put a breakpoint on this line and then 'step' the next code executed is the DBGridResults EXIT event.

 [2010-09-19 20:54:05.111 Info] FormMain: GetCurrent: 5
 [2010-09-19 20:54:05.111 Info] FormMain: GetCurrent: 5
 [2010-09-19 20:54:05.111 Debug] ResultsGrid EXIT <<< WOOPS DBGridResults EXIT event
 [2010-09-19 20:54:05.111 Info] CommitData ZQueryResults <<< code in EXIT event.
 [2010-09-19 20:54:20.939 Info] Menu - EXIT, click <<< Me clicking on exit menu entry.

The stack trace (unfortunately it does not mean much to me) taken at the DBGridResults EXIT is as follows:

#0 TFORMMAIN__DBGRIDRESULTSEXIT(0x346a290, <error reading variable>) at formmain.pas:1908
0000001 TWINCONTROL__DOEXIT(<error reading variable>) at .\include\wincontrol.inc:6384
0000002 TCUSTOMGRID__DOEXIT(<error reading variable>) at grids.pas:6039
0000003 TCUSTOMDBGRID__DOEXIT(<error reading variable>) at dbgrids.pas:2409
0000004 TWINCONTROL__CMEXIT({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8009
0000005 SYSTEM_TOBJECT_$__DISPATCH$formal at :0
0000006 TWINCONTROL__CMENTER({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8005
0000007 TWINCONTROL__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5207
0000008 TCUSTOMGRID__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:4213
0000009 TCUSTOMDBGRID__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at dbgrids.pas:1208
0000010 TCONTROL__PERFORM(45083, 0, 0, <error reading variable>) at .\include\control.inc:1025
0000011 SENDENTEREXITLOOP(0x2e1ec04) at .\include\customform.inc:2256
0000012 TCUSTOMFORM__SETFOCUSEDCONTROL(0x3466170, <error reading variable>) at .\include\customform.inc:2353
0000013 TWINCONTROL__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5133
0000014 TCUSTOMGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:4213
0000015 TCUSTOMDBGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at dbgrids.pas:1208
0000016 DELIVERMESSAGE(0x3466170, void) at lclmessageglue.pas:110
0000017 WINDOWPROC(17237156, 7, 118555936, 0) at win32callback.inc:2420
0000018 ?? at :0
0000019 ?? at :0
0000020 ?? at :0
0000021 ?? at :0
0000022 ?? at :0


Any thoughts???? Ian

Ian Upton

2010-09-20 06:42

reporter   ~0041220

A little more on this.

I have another grid for relay race entry (the requirements for relays are enough different that it requires a separate grid).

Works OK, does not do an exit to another grid, simply moves onto the next column as I require.

I will see if I can find any differences between the results grid and relay grid processing.

Ian

Ian Upton

2010-09-20 07:13

reporter   ~0041221

Aha,

Chased my way through the relay grid code, then back to the results code.

Removed the post from the following code:

          DataModuleDB.DM.ZQueryResults.Edit;
          SetUpRegData(DebugReg);
          SetUpBulkPerfData(DataModuleDB.DM.ZQueryResults);
          // DataModuleDB.DM.ZQueryResults.Post;

NO EXIT from the results grid.
Other issues but we stay in the grid......

Ian

Jesus Reyes

2010-09-20 19:36

developer   ~0041238

The interesting frames in stack trace are the missing ones 23-? :) they would explain why zqueryresults.post trigger a focus change on DBGrid.

If you think it's OK to send me in private your project I could try to find what is going on bad here. If you do, please don't send me binaries (*.exe, *.o, *.ppu), and in case of Firebird, include a script or a backup to recreate database. I use Firebird 2.1

Ian Upton

2010-09-21 08:23

reporter   ~0041251

I will investigate either sending the project and/or trying to reproduce the .post issue in a simple test program.

In the meantime I tried the stack trace again, got a couple earlier entries, perhaps they may indicate something to you. Earlier entries as follows:

0000015 TCUSTOMDBGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at dbgrids.pas:1208
0000016 DELIVERMESSAGE(0x3466540, void) at lclmessageglue.pas:110
0000017 WINDOWPROC(3736044, 7, 4719142, 0) at win32callback.inc:2420
0000018 ?? at :0
0000019 ?? at :0
0000020 ?? at :0
0000021 GETIMAGECLASS(0x519fa0) at .\include\rasterimage.inc:869
0000022 ?? at :0
0000023 GETNEEDPARENTPAINT(0x0, 0x7e418830) at win32callback.inc:188
0000024 ?? at :0
0000025 ?? at :0

Ian

Ian Upton

2010-10-30 10:39

reporter   ~0042392

Last edited: 2010-10-30 10:42

Apologies for the long delay in responding.

Life got in the way.
Amongst other things, do not renovate the kitchen......
Lots of $ and time.....

Attempts to reproduce the exit problem in a smaller program have failed.

Attached is a file containing stack traces taken from the before the update to the exit from the grid.

Ian

2010-10-30 10:55

 

30oct10-Exit-Problem.txt (9,581 bytes)
    

DataModuleDB.DM.ZQueryResults.ApplyUpdates;     



Before post at line 578 in ZAbstractDataset 

procedure TZAbstractDataset.ApplyUpdates; 
begin
  if not Active then
    Exit;

  Connection.ShowSQLHourGlass;
  try
    if State in [dsEdit, dsInsert] then
       Post;

    DoBeforeApplyUpdates; {bangfauzan addition}    

#0 TZABSTRACTDATASET__APPLYUPDATES(<error reading variable>) at C:\SW\ZEOSDBO-7.0.0-alpha\src\component\ZAbstractDataset.pas:577
#1 TFORMMAIN__DBGRIDRESULTSKEYDOWN(0x34ec050, 52, [], <error reading variable>) at formmain.pas:2097
#2 TWINCONTROL__KEYDOWN(52, [], <error reading variable>) at .\include\wincontrol.inc:5441
#3 TCUSTOMGRID__KEYDOWN(52, [], <error reading variable>) at grids.pas:6128
#4 TCUSTOMDBGRID__KEYDOWN(52, [], <error reading variable>) at dbgrids.pas:2130
#5 TCUSTOMGRID__EDITORKEYDOWN(0x34ec670, 52, [], <error reading variable>) at grids.pas:7031
#6 DOEDITORKEYDOWN(0x2e1f99c) at grids.pas:8415
#7 TSTRINGCELLEDITOR__KEYDOWN(52, [], <error reading variable>) at grids.pas:8465
#8 TWINCONTROL__KEYDOWNBEFOREINTERFACE(52, [], <error reading variable>) at .\include\wincontrol.inc:5449
#9 TWINCONTROL__DOKEYDOWNBEFOREINTERFACE({MSG = 48384, CHARCODE = 52, UNUSED = 737, KEYDATA = 327681, RESULT = 0}, false, <error reading variable>) at .\include\wincontrol.inc:5618
#10 TWINCONTROL__CNKEYDOWN({MSG = 48384, CHARCODE = 52, UNUSED = 737, KEYDATA = 327681, RESULT = 0}, <error reading variable>) at .\include\wincontrol.inc:6899
#11 SYSTEM_TOBJECT_$__DISPATCH$formal at :0
#12 RAISELOOP(0x2e1fc7c) at .\include\wincontrol.inc:6808
#13 TWINCONTROL__WNDPROC({MSG = 48384, WPARAM = 48300084, LPARAM = 327681, RESULT = 0, WPARAMLO = 52, WPARAMHI = 737, LPARAMLO = 1, LPARAMHI = 5, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5207
#14 TSTRINGCELLEDITOR__WNDPROC({MSG = 48384, WPARAM = 48300084, LPARAM = 327681, RESULT = 0, WPARAMLO = 52, WPARAMHI = 737, LPARAMLO = 1, LPARAMHI = 5, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:8377
#15 DELIVERMESSAGE(0x34ec670, void) at lclmessageglue.pas:110
#16 WINDOWPROC(1311082, 256, 52, 327681) at win32callback.inc:2420
#17 ?? at :0
#18 ?? at :0
#19 ?? at :0
#20 ?? at :0
#21 ?? at :0
#22 GETNEEDPARENTPAINT(0x519e80, 0x2e1fdb0) at win32callback.inc:188
#23 ?? at :0
#24 GETNEEDPARENTPAINT(0x0, 0x7e418830) at win32callback.inc:188
#25 ?? at :0
#26 ?? at :0

wincontrol.inc 8009

procedure TWinControl.CMExit(var Message: TLMessage);
begin
  DoExit;
end;            

#0 TWINCONTROL__CMEXIT({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8009
#1 SYSTEM_TOBJECT_$__DISPATCH$formal at :0
#2 TWINCONTROL__CMENTER({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8005
#3 TWINCONTROL__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5207
#4 TSTRINGCELLEDITOR__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:8377
#5 TCONTROL__PERFORM(45083, 0, 0, <error reading variable>) at .\include\control.inc:1025
#6 SENDENTEREXITLOOP(0x2e1eb54) at .\include\customform.inc:2256
#7 TCUSTOMFORM__SETFOCUSEDCONTROL(0x346cb00, <error reading variable>) at .\include\customform.inc:2353
#8 TWINCONTROL__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5133
#9 TCUSTOMGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:4213
#10 TCUSTOMDBGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at dbgrids.pas:1208
#11 DELIVERMESSAGE(0x346cb00, void) at lclmessageglue.pas:110
#12 WINDOWPROC(2490718, 7, 983320, 0) at win32callback.inc:2420
#13 ?? at :0
#14 ?? at :0
#15 ?? at :0
#16 ?? at :0
#17 ?? at :0

wincontrol.inc 8009

procedure TWinControl.CMExit(var Message: TLMessage);
begin
  DoExit;
end;            

#0 TWINCONTROL__CMEXIT({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8009
#1 SYSTEM_TOBJECT_$__DISPATCH$formal at :0
#2 TWINCONTROL__CMENTER({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8005
#3 TWINCONTROL__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5207
#4 TCUSTOMGRID__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:4213
#5 TCUSTOMDBGRID__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at dbgrids.pas:1208
#6 TCONTROL__PERFORM(45083, 0, 0, <error reading variable>) at .\include\control.inc:1025
#7 SENDENTEREXITLOOP(0x2e1eb54) at .\include\customform.inc:2256
#8 TCUSTOMFORM__SETFOCUSEDCONTROL(0x346cb00, <error reading variable>) at .\include\customform.inc:2353
#9 TWINCONTROL__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5133
#10 TCUSTOMGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:4213
#11 TCUSTOMDBGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at dbgrids.pas:1208
#12 DELIVERMESSAGE(0x346cb00, void) at lclmessageglue.pas:110
#13 WINDOWPROC(2490718, 7, 983320, 0) at win32callback.inc:2420
#14 ?? at :0
#15 ?? at :0
#16 ?? at :0
#17 ?? at :0
#18 ?? at :0

exit

procedure TFormMain.DBGridResultsExit(Sender: TObject);
// Leaving the results entry dbgrid, tidy up

begin
  DataModuleDB.DM.EventLog.Debug('ResultsGrid EXIT ');      

#0 TFORMMAIN__DBGRIDRESULTSEXIT(0x34ec050, <error reading variable>) at formmain.pas:1963
#1 TWINCONTROL__DOEXIT(<error reading variable>) at .\include\wincontrol.inc:6384
#2 TCUSTOMGRID__DOEXIT(<error reading variable>) at grids.pas:6039
#3 TCUSTOMDBGRID__DOEXIT(<error reading variable>) at dbgrids.pas:2409
#4 TWINCONTROL__CMEXIT({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8009
#5 SYSTEM_TOBJECT_$__DISPATCH$formal at :0
#6 TWINCONTROL__CMENTER({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:8005
#7 TWINCONTROL__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5207
#8 TCUSTOMGRID__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:4213
#9 TCUSTOMDBGRID__WNDPROC({MSG = 45083, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at dbgrids.pas:1208
#10 TCONTROL__PERFORM(45083, 0, 0, <error reading variable>) at .\include\control.inc:1025
#11 SENDENTEREXITLOOP(0x2e1eb54) at .\include\customform.inc:2256
#12 TCUSTOMFORM__SETFOCUSEDCONTROL(0x346cb00, <error reading variable>) at .\include\customform.inc:2353
#13 TWINCONTROL__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at .\include\wincontrol.inc:5133
#14 TCUSTOMGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at grids.pas:4213
#15 TCUSTOMDBGRID__WNDPROC({MSG = 7, WPARAM = 0, LPARAM = 0, RESULT = 0, WPARAMLO = 0, WPARAMHI = 0, LPARAMLO = 0, LPARAMHI = 0, RESULTLO = 0, RESULTHI = 0}, <error reading variable>) at dbgrids.pas:1208
#16 DELIVERMESSAGE(0x346cb00, void) at lclmessageglue.pas:110
#17 WINDOWPROC(2490718, 7, 983320, 0) at win32callback.inc:2420
#18 ?? at :0
#19 ?? at :0
#20 ?? at :0
#21 ?? at :0
#22 ?? at :0







30oct10-Exit-Problem.txt (9,581 bytes)

Jesus Reyes

2010-11-23 08:25

developer   ~0043393

Still cannot reproduce this problem, it's not ok to block 0.9.30

Ian Upton

2011-01-25 09:52

reporter   ~0045467

OK to close this. All works OK.

Issue History

Date Modified Username Field Change
2010-05-20 06:12 Ian Upton New Issue
2010-05-20 06:12 Ian Upton File Added: test-7.7z
2010-05-20 08:14 Jesus Reyes Status new => assigned
2010-05-20 08:14 Jesus Reyes Assigned To => Jesus Reyes
2010-05-20 08:14 Jesus Reyes Project FPC => Lazarus
2010-05-20 08:15 Jesus Reyes LazTarget => -
2010-05-20 08:15 Jesus Reyes Category Compiler => LCL
2010-05-20 08:15 Jesus Reyes Product Version 2.2.4 =>
2010-05-21 06:13 Jesus Reyes Note Added: 0037834
2010-05-21 06:13 Jesus Reyes Status assigned => feedback
2010-05-21 21:59 Jesus Reyes Fixed in Revision => 25255
2010-05-21 21:59 Jesus Reyes LazTarget - => 0.9.30
2010-05-21 21:59 Jesus Reyes Status feedback => resolved
2010-05-21 21:59 Jesus Reyes Fixed in Version => 0.9.29 (SVN)
2010-05-21 21:59 Jesus Reyes Resolution open => fixed
2010-05-21 21:59 Jesus Reyes Note Added: 0037850
2010-05-21 22:00 Jesus Reyes Target Version => 0.9.30
2010-05-21 22:00 Jesus Reyes Note Edited: 0037850
2010-05-26 03:27 Ian Upton Status resolved => assigned
2010-05-26 03:27 Ian Upton Resolution fixed => reopened
2010-05-26 03:27 Ian Upton Note Added: 0037989
2010-05-26 03:42 Jesus Reyes Status assigned => resolved
2010-05-26 03:42 Jesus Reyes Resolution reopened => fixed
2010-05-26 03:42 Jesus Reyes Note Added: 0037990
2010-06-29 00:22 Ian Upton Note Added: 0038861
2010-06-29 08:27 Ian Upton File Added: test-empty-project.zip
2010-06-29 18:41 Jesus Reyes Status resolved => assigned
2010-06-29 18:41 Jesus Reyes Resolution fixed => reopened
2010-09-12 02:17 Jesus Reyes Note Added: 0040977
2010-09-12 02:17 Jesus Reyes Status assigned => feedback
2010-09-19 06:52 Ian Upton Note Added: 0041192
2010-09-19 10:29 Jesus Reyes Note Added: 0041197
2010-09-19 11:17 Ian Upton Note Added: 0041199
2010-09-20 04:59 Ian Upton Note Added: 0041218
2010-09-20 06:42 Ian Upton Note Added: 0041220
2010-09-20 07:13 Ian Upton Note Added: 0041221
2010-09-20 19:36 Jesus Reyes Note Added: 0041238
2010-09-21 08:23 Ian Upton Note Added: 0041251
2010-10-30 10:39 Ian Upton Note Added: 0042392
2010-10-30 10:42 Ian Upton Note Edited: 0042392
2010-10-30 10:55 Ian Upton File Added: 30oct10-Exit-Problem.txt
2010-11-19 10:53 Vincent Snijders Status feedback => assigned
2010-11-23 08:25 Jesus Reyes LazTarget 0.9.30 => 0.99.0
2010-11-23 08:25 Jesus Reyes Note Added: 0043393
2010-11-23 08:25 Jesus Reyes Target Version 0.9.30 => 0.99.0
2011-01-25 09:52 Ian Upton Note Added: 0045467
2011-03-12 18:50 Jesus Reyes Status assigned => resolved
2011-03-12 18:50 Jesus Reyes Resolution reopened => fixed
2011-04-03 12:41 Ian Upton Status resolved => closed