Lex Posted February 28, 2005 Report Share Posted February 28, 2005 Мне нужно закрыть форму2 и передать управление процедуре на форме1, но чтоб эта процедура выполнялась после того, как форма2 уже закрылась!! делаю так: form2.Close; form1.Ins; //ins - моя процедура ..но форма2 ещё не закрывается, а "Ins" уже выполняется!? (видимо из за того, что всё в одной процедуре) Подскажите, как на одно нажатие кнопки выполнить: 1). Закрыть форму2; 2). Запустить мою процедуру на форме 1. Quote Link to comment Share on other sites More sharing options...
Darhazer Posted February 28, 2005 Report Share Posted February 28, 2005 Попробуй визват процедуро Ins в собитие onClose форме. Да и на всякий случай провер в процедуре существует ли форма 2. Может бит тебе будет необходим таймер что проследит когда Form2 перестала существоват и тогда виполнит процедуру Quote Link to comment Share on other sites More sharing options...
Lex Posted February 28, 2005 Author Report Share Posted February 28, 2005 Через событие onClose не получится, т.к. Ins нужно вызывать только по нажатию необходимой кнопки, а не на всё onClose. А на счёт таймера - подскажи пожалуйста поконкретней!! Чтоб при нажатии кнопки он следил, когда форма перестанет существовать и тогда передалось управление процедуре Ins. Заранее благодарен!! Quote Link to comment Share on other sites More sharing options...
Сергей Плоткин Posted February 28, 2005 Report Share Posted February 28, 2005 Вызывай форму при помощи ShowModal примерно таким макаром: procedure TForm1.Button1OnClick(Sender:TObject);begin Form2.Tag:=0; Form2.ShowModal; If Form2.Tag=1 then Ins;end; У кнопки на форме 2 делай примерно такой код: procedure TForm2.Button1OnClick(Sender:TObject);begin Tag:=1; Close;end; Quote Link to comment Share on other sites More sharing options...
Darhazer Posted February 28, 2005 Report Share Posted February 28, 2005 А если форма не модальная... лучше : procedure TForm2.Button1OnClick(Sender:TObject);beginFrom1.Timer1.enabled:=true;Close;end; а в собитие onTimer: if Assigned(Form2) thenInselseTimer1.enabled=trueend; К сожеленю Delphi у меня сейчаш се установлен чтоби написах несколько примера Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.