![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MDI приложение [D6, Win2k]
Dmitriy Polskoy © (2002-09-18 14:28:00)Ситуация такая: есть MDI приложение. Каждая дочерняя форма создается как экземпляр некой формы TMDIChild. В этой форме создаются стринглисты, данные из которых отображаются в StringGrid. Эти стринглисты уничтожаются после закрытия формы. Но возникает проблема - когда я закрываю хоть одну форму, то возникает ошибка доступа к памяти. Подскажите, что надо сделать, чтобы такого небыло?
Digitman (2002-09-18 14:56:00) [21]имен чего ?
Dmitriy Polskoy (2002-09-18 14:51:00) [22]Мне кажется я понял в чем ошибка - я создаю экземпляры форм используя одну и ту же переменную(Child: TMDIChild). Поэтому когда я закрываю хоть одну форму, то все данные уничтожаются.
В этом случае возникает следующий вопрос - как организовать перечень имен(ну, можно массивом, конечно) и как сказать главной форме с каким именем работать в данный момент?
Dmitriy Polskoy (2002-09-18 14:37:00) [23]Вот кусок кода из процедуры обработки OnDrawCell
if ShowListParam.Strings[l_Row - 1][1] = "#" then
begin
grdShowData.RowHeights[l_Row] := 22;
Canvas.Brush.Color := clYellow;
Canvas.Font.Style := Canvas.Font.Style + [fsBold];
Canvas.Font.Size := 11;
end
Ошибка выскакивает на первой строке, т.е. такое впечатление, что когда я убиваю одну форму, то уничтожаются все стринглисты во всех дочерних окнах.
Digitman (2002-09-18 14:33:00) [24]
> ошибка доступа к памяти
На какой строчке ?
REA (2002-09-18 14:30:00) [25]Код нужен обработчиков MDI формы. Убиваешь наверно что-то раньше времени. Пройдись отладчиком.