Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: CL | DM;

Вниз

При создании закладок программа зависает.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
2-1178206705
RomanLN
2007-05-03 19:38
2007.05.20
Возможно ли создать таблицу зарание незная сколько будет полей


15-1177175038
oxffff
2007-04-21 21:03
2007.05.20
Баги компилятора. Опять. Опять. Опять :(


6-1163591918
ГореПрограммер
2006-11-15 14:58
2007.05.20
Получение картинки GET


2-1178205311
Человек
2007-05-03 19:15
2007.05.20
Поиск


15-1176755469
ppcumax
2007-04-17 00:31
2007.05.20
Где взять библиотеку kernel32.dll?