Форум: "Потрепаться";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
ВнизОшибка при FormActivate Найти похожие ветки
← →
VHS (2004-07-23 14:14) [0]История:
Создаю форму, которая будет как MDIChild, в ней, на равне с описанием всех элементов, добавляю свои ф-ции. Так:type
TfrmEditPayBlacklist = class(TForm)
......
public
idxs : TStringList;
idxk : TStringList;
procedure ShowList;
end;
Естественно убираю в проекте автосоздание формы.
Теперь, из главного (родительского) окна, создаю вот это свое окно:procedure TfrmMain.actShowBlackListExecute(Sender: TObject);
begin
with TfrmBlackList.Create(application) do Show;
end;
Окно появляется. Все рады. Все выполняется. Но, усложняем задачу. Не закрывая этого созданного окна, создаем его еще раз, выполняя вушеуказанную ф-цию. Получаем второе, такоеже окно. Вродебы опять все в норме.
Суть проблемы:
В создаваемой форме, на метод OnActivate стоит ф-цция:procedure TfrmBlackList.FormActivate(Sender: TObject);
begin
ShowList; //можно было задать как self.ShowList - результат тотже.
end;
И когда мы, имея два одинаковых дочерних окна на экране, переходим на предыдущее окно, вызывая событие FormActivate, то при вызове ф-ции ShowList, получаем Error access viotation. Причем, что странно, затыкается олько на ф-циях, которые я задаю сам.
А. Вот еще. Этот SHowList задан в программе так:procedure TfrmBlackList.ShowList;
var
....
begin
......
end;
Вопрос:
Как правильно задавать процедуры в динамически создаваемых окнах чтобы небыло такой вот фигни? Или надо по-другому создавать эти формы? Или еще чего?
← →
VHS (2004-07-23 14:16) [1]Так. Похоже ошибся конференцией. Извините.
← →
Плохиш © (2004-07-23 14:19) [2]
> begin
> ......
>
> end;
Вот в ...... и находится ошибка
← →
VMcL © (2004-07-23 14:20) [3]Главный вопрос: что в TfrmBlackList.ShowList?
← →
VHS (2004-07-23 14:25) [4]Всем спасибо! Нашел ошибку. Странно, но вываливалось при application.ProcessMessages
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c