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

Вниз

Поиск окна...   Найти похожие ветки 

 
OlegG   (2002-03-06 16:36) [0]

Здравствуйте, уважаемые мастера!
Подскажите пожалуйста, столкнулся со следующей проблемой: необходимо проверить в моем приложении открыта мне нужная форма или нет для того, чтобы не открывать несколько экземпляров. Для этого я ищу окно: FindWindow(nil, "заголовок окна") и если результат <> 0, то вызываю форму: Form:= TForm.Create(Application); Но дело в том, что если я уже взывал эту форму, а потом ее закрывал по Close(), то FindWindow все равно возвращает результат отличный от 0. Может быть нужно что-то добавить в OnDestroy формы?


 
Виктор Щербаков   (2002-03-06 16:38) [1]

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree
end;


 
VuDZ   (2002-03-06 17:40) [2]

ShowWindow(hwnd, SW_SHOW) или SW_RESTORE И ваши волосы будут мягкими и шеловистыми.


 
Юрий Зотов   (2002-03-06 18:11) [3]

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree // Форма уничтожается при своем закрытии
end

procedure TForm1.FormDestroy(Sender: TObject);
begin
Form1 := nil // Ссылка на форму очищается при ее уничтожении
end;

И теперь создаем так:

if Form1 = nil then Form1 := TForm1.Create(Application);


 
OlegG   (2002-03-07 09:15) [4]

Большое спасибо всем ответившим...



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

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

Наверх




Память: 0.44 MB
Время: 0.006 c
1-26169
R0M-k
2002-04-24 11:15
2002.05.09
Событие для кнопок


1-26187
ERW
2002-04-25 16:12
2002.05.09
Как сделать переход из DBGrid-a по TabOrder-у


3-25979
sky3d
2002-04-15 11:34
2002.05.09
Нетривиальный UPDATE


4-26287
ted
2002-03-06 13:33
2002.05.09
Как получить IP адрес???


1-26098
armen13
2002-04-26 16:27
2002.05.09
Большой целый тип.





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