Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];

Вниз

Close из Activate   Найти похожие ветки 

 
DimDim ©   (2007-04-01 19:57) [0]

Уважаемые Мастера, не сочтите за труд!
Открываю модальное окно, передаю в него (в Edit-ы) определенные значения, программно нажимаю на кнопку "Найти". Если поиск прошел нормально, то это окно должно быть закрыто. Если нет - остаться открытым для изменения Edit-ов.
Так вот: все это выполняется в процедуре Activate модального окна и команда Close там работать не хочет (пока Activate не отработало до конца). Как это обойти? А то что-то я перегрелся...
Заранее спасибо!


 
Palladin ©   (2007-04-01 20:35) [1]

ну и делай exit после close


 
DimDim ©   (2007-04-01 23:22) [2]

Извините, не понял с exit...
У меня:

procedure TFormPoisk.FormActivate(Sender: TObject);
begin
...
if Poisk=True then Close;
end;


По Close должно закрыться окно, а оно не закрывается. Как я понимаю потому, что до конца не отработала функция Activate. При чем exit?


 
Palladin ©   (2007-04-01 23:26) [3]

справку почитаешь и узнаешь...
за одно поитересуйся операторными скобками begin end


 
sniknik ©   (2007-04-01 23:47) [4]

> procedure TFormPoisk.FormActivate(Sender: TObject);
> begin
> ...
> if Poisk=True then Close;
> end;

const
 WM_DOCLOSE = WM_USER + 101;

type
 TFormPoisk= class(TForm)
   procedure FormActivate(Sender: TObject);
 private
   procedure WMDoClose(var Message: TMessage); message WM_DOCLOSE;
 public
 end;

var
 FormPoisk: TFormPoisk;

implementation

procedure TFormPoisk.WMDoClose(var Message: TMessage);
begin
 Close;
end;

procedure TFormPoisk.FormActivate(Sender: TObject);
begin
 if Poisk then PostMessage(Handle, WM_DOCLOSE, 0, 0);
end;

(свое событие для наглядности можно стандартное типа WM_CLOSE послать)

хотя, это плохое решение, формой мигать..., лучше не допускать открытия/активации до, вместо того чтобы бороться с последствиями после.


 
SergGG ©   (2007-04-02 09:20) [5]

У тебя не выполняется условие
>if Poisk=True then


 
_Аноним   (2007-04-02 09:59) [6]

Действительно не закрывается при таком раскладе, можете проверить.
Правильный ответ - sniknik


 
Reindeer Moss Eater ©   (2007-04-02 11:10) [7]

Так вот: все это выполняется в процедуре Activate модального окна

А что, нет более подходящего места для этого кода?



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

Форум: "Начинающим";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.047 c
15-1175082295
0leg
2007-03-28 15:44
2007.04.22
Функция замены специальных HTML символов


15-1174843678
leonidus
2007-03-25 21:27
2007.04.22
Помогите написать алгоритм перебора


2-1175172742
Jacks
2007-03-29 16:52
2007.04.22
Запрос


4-1164636280
samael6
2006-11-27 17:04
2007.04.22
Остановка драйвера


4-1164480139
trubin
2006-11-25 21:42
2007.04.22
Где взять список файлов как в окне "Выбор программы"





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский