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

Вниз

Вопрос ? MyForm:TForm.Create(applications);   Найти похожие ветки 

 
Sergo_Zero ©   (2005-01-09 18:01) [0]

Имеем  две процедуры все на главной форме

procedure MyProc(Sender: TObject);//Создаём новую форму
begin
 MyForm1:=TForm.Create(applications);
 MyForm.parent:=applications;
 .............................
 Button1:=TButton.Create(MyForm1);//Создаём новую кнопку
 Button1.parent:=MyForm1;
 Button1.Onclick:=buttonclick //обрабатываем
 MyForm.Show
.............................
end
...............................
procedure buttonclick(Sender: TObject)
begin
  with (Sender as TComponent).Owner do
 begin
   // или  DestroyComponents  ;
   BeforeDestruction; // Ошибка  адресфции ...  
   free
 end;
end;

Но когда на главной форме ставиш кокую небудь кнопку по умолчанию
активной то ашибка пропадает или когда вызываешь подобную процедуру кнопкой с главной формы с кнопками типа TSpeedButton фокус проходит но не всегда (речь шла только о кнопках главной формы, кнопки в модальной форме работают любые)


 
Семен Сорокин ©   (2005-01-09 22:03) [1]

типа уничтожение кнопки при нажатии?
используйте
PostMessage(TWinControl(Sender).Handle, CM_RELEASE, 0, 0)
потому как после onClick проходит еще onMouseUp, и то что в модальной форме работате - еще не факт что там нет ошибки работы с памятью.
Советую пройтись отладчиком в вашем коде если не верите.


 
jack128 ©   (2005-01-10 03:22) [2]

Sergo_Zero ©   (09.01.05 18:01)
BeforeDestruction

этот метод не нужно вызывать напрямую..



Страницы: 1 вся ветка

Текущий архив: 2005.01.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
3-1103532449
Garry_c
2004-12-20 11:47
2005.01.23
Как динамически создать представление в Interbase?


1-1105523884
mariya_mezenceva
2005-01-12 12:58
2005.01.23
ole-объект 1с


4-1101966989
SergeyDon
2004-12-02 08:56
2005.01.23
получить координаты иконок на рабочем столе!


8-1097458381
Tatyana
2004-10-11 05:33
2005.01.23
ресурсы видеокарты


3-1102955048
Dmitrich
2004-12-13 19:24
2005.01.23
Большой текст