Форум: "Основная";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
ВнизПри создании закладок программа зависает. Найти похожие ветки
← →
Gear (2007-03-22 15:35) [0]Добрый день.
Имею на форме компонент самописный и PageControl, на котором динамически создаю TabSheets процедурой.
Если эту процедуру привязать к кнопке, то всё замечательно создаётся. Но стоит только функцию повестить на событие от компоненты, то страница создаётся и приложение повисает. Непойму в чём дело. Что может быть?
Вот немного кода:
procedure TForm4.CreateTab(name: string);
var
T: TTabSheet;
begin
T := TTabSheet.Create(Self);
T.Caption := name;
T.PageControl := PageControl1;
end;
//так работает
procedure TForm2.Button1Click(Sender: TObject);
begin
Form4.CreateTab("закладка");
end;
//а так создаёт и сразу виснет
procedure TForm2.MyComponent1OnRead(mess: string);
begin
Form4.CreateTab(mess);
end;
//В самой компоненте:
TOnRead = procedure(mess:string) of object;
...
private
FOnRead: TOnRead;
...
published
property OnRead: TOnRead read FOnRead write FOnRead;
...
procedure TMyComponent.OnData(Response:string);
begin
...
if Response<>"" then
if assigned (FOnRead) then
FOnRead("test");
end;
← →
ЮЮ © (2007-03-24 07:40) [1]Когда вызавется обработчик OnRead твоего компонента? Существует ли на данный момент Form4. Поставить брэкпоинт в предложенных нам строках и последовать дпльше с помощью отладчика не учили?
P.S. Может всё-же эти манипуляции делать не в OnRead компонента, а в OnCreate формы(TForm2.FormCreate или TForm4.FormCreate в зависимости от того, кто позднее создается), коль уж компонент сам не может создать всё, что ему надо и этот код переносится в методы TForm2 ?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c