Главная страница
    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.01 c
1-56590
Andrew287
2003-11-07 13:23
2003.11.17
TDBRichEdit и табуляция


1-56582
Игоряныч
2003-11-06 09:21
2003.11.17
Есть у кого нибудь исходник - как печатать из делфи через Word.


1-56652
Zn
2003-11-05 11:06
2003.11.17
Как сделать цикл по всем элементам формы.


3-56448
paul_k
2003-10-29 10:45
2003.11.17
Борьба с дублированием


14-56900
Ertong
2003-10-25 15:44
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский