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

Вниз

ClassName   Найти похожие ветки 

 
KyRo   (2003-11-05 21:54) [0]

Подскажите как получить ClassName для моего приложения и
надо ли ей его как то присваивать???


 
Ig   (2003-11-05 21:56) [1]

>Подскажите как получить ClassName для моего приложения
То есть?


 
KyRo   (2003-11-05 22:00) [2]

То есть мне надо воспользоватся функцией
Result:=FindWindow("СlassName" , nil)<>0;
Да и еще мне его надо получить из компонента.
Может через Owner ??


 
y-soft   (2003-11-05 22:44) [3]

>KyRo © (05.11.03 22:00) [2]

Класс окна? Тогда непонятно какого (overlapped, popup, child...)?

Для приложений Delphi по умолчанию:

Главное окно - "TApplication"

Для форм - соответствует наименованию класса формы

Непонятно, зачем присваивать - Delphi сама с этим неплохо справляется :)

Или я вопрос не понял?


 
KyRo   (2003-11-06 01:17) [4]

Ну вобщем мне надо воспользоватся FindWindow("СlassName" , nil)
чтобы проверить есть ли моя уже моя программа в треэ или нет.


 
kDenis   (2003-11-06 01:52) [5]

Project\ViewSource\
Там, после begin"а пиши
if FindWindow("TForm", PChar(Application.MainForm.Caption))<>0 then
Application.Terminate;


 
kDenis   (2003-11-06 01:54) [6]

И незабудь подключить Windows в разделе uses


 
Stratos   (2003-11-06 07:55) [7]

IMHO, если главная форма типа TMyMainForm
if FindWindow("TMyMainForm", PChar(Application.MainForm.Caption))<>0 then
Application.Terminate;

а лучше
if FindWindow(TMyMainForm.ClassName, PChar(Application.MainForm.Caption))<>0 then
Application.Terminate;

так как у форм имя виндового класса совпадает с именем самого класса и его можно достать из ClassName, и писать это надо уже после создания главной формы, т.к. при вызове Application.MainForm.Captio будет access violation.


 
y-soft   (2003-11-06 08:58) [8]

>KyRo © (06.11.03 01:17) [4]
Ну вобщем мне надо воспользоватся FindWindow("СlassName" , nil)
чтобы проверить есть ли моя уже моя программа в треэ или нет.


В смысле - чтобы не допустить запуск 2-й копии приложения?

Тогда данный способ плох, хотя бы потому, что может существовать другое приложение, использующее такое же наименование класса окна с таким же заголовком. Кроме того, если приложения запускаются с маленьким интервалом, в момент проверки окна еще может не существовать.

Для надежной проверки используются другие способы (см. например статью http://www.delphimaster.ru/articles/limit.html)



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

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

Наверх





Память: 0.46 MB
Время: 0.011 c
14-56827
Карелин Артем
2003-10-28 10:03
2003.11.17
TIBQuery.UniDirectional


1-56679
Ivolg
2003-11-07 19:00
2003.11.17
Изменения в проге!


4-56963
V-A-V
2003-09-19 10:23
2003.11.17
Сохранение проиаттаченых файлов из потовых сообщений формата MSG


1-56672
Stas
2003-11-05 09:14
2003.11.17
Запуск файла из TMemoryStream


1-56749
MMA
2003-11-06 15:50
2003.11.17
Проблема с процессами





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