Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.049 c
1-1174714805
Dismember
2007-03-24 08:40
2007.05.20
TrackBar, реагирующий на нажатия в своей области.


4-1166374037
Чапаев
2006-12-17 19:47
2007.05.20
Получить оповещение об изменении системного времени


2-1177625197
Riply
2007-04-27 02:06
2007.05.20
ERROR_MR_MID_NOT_FOUND и как с ней бороться ?


15-1176762147
фывов
2007-04-17 02:22
2007.05.20
PHP скрипт...


1-1174561093
Димыч
2007-03-22 13:58
2007.05.20
ScrollBar в Treeview





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский