Hi! I don't know if this is a bug, or not. I'll just explain what happened, and then it's…
I will check it
regards.
Jesus Reyes A.

Mailing lists / lazarus / 2003-12
2 messages · 2 people ·
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Hi! I don't know if this is a bug, or not. I'll just explain what happened, and then it's…
I will check it
regards.
Jesus Reyes A.
Hi!
I don't know if this is a bug, or not. I'll just explain what happened, and then it's up to you to decide it.
I've put a StringGrid to my Form, and filled it up with data from a file. The StringGrid1.Scrollbars is set to 'SSAUTOVERTICAL', so if the data is "too much" a scrollbar will appear. I have a 'refresh' button on the same Form, and when I click on it, the data will be rereaded from the data file, and the StringGrid will be filled up with the new data. In the beginning this StringGrid has only two rows. One fixed (for the headers) and one empty (this is necesary if I have a fixed row). During the filling up, I'm increasing the RowCount after each row adding, so the RowCount-1 will be equal with the newly added rows. When I push that 'refresh' button, I want to reset the RowCount (otherwise I'll get a lot of empty rows). So, when I click the 'refresh' button, it's doing this:
StringGrid1.RowCount := 2;
And the filling comes after that.
Now the StringGrid has filled, and the scrollbar has appeared, and I scrolled down until I saw the last element. If then I click the refresh button, my whole application crashes, and I get this error message in the console (it's because of the StringGrid1.RowCount := 2, not especialy of the 'refresh' button):
TApplication.HandleException List index exceeds bounds (3) TApplication.HandleException: there was another exception during showing the first exception
[TgtkObject.Destroy] WARNING: There are 1 unreleased DCs, a detailed dump follows:
[TgtkObject.Destroy] DCs: 083C0494
[TgtkObject.Destroy] WARNING: There are 3 unreleased GDIObjects, a detailed dump follows:
[TgtkObject.Destroy] GDIOs: 08394734 08394794 08394A34 [TgtkObject.Destroy] gdiBrush: 1
[TgtkObject.Destroy] gdiFont: 1
[TgtkObject.Destroy] gdiPen: 1
So in the StringGrid if I scrolled down to the last element, and after I set the rowcount less than the existing rows, it crashes. Hope that this is understandable, I gathered my whole english knowledge to write this letter :) I know it could've been better. Please ask me if you don't understand what the problem is.
ps.: I have changed my application, so it will only add new rows during the filling up if it is realy necesary, and I commented the Rowcount setting out, so it is working fine, but I think that it has to work in the other way too.
Thanks!
Daniel