Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.17;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
3-56537
Yuri
2003-10-27 10:07
2003.11.17
обнулять автоинкрементное поле?


14-56888
Balepa
2003-10-26 00:50
2003.11.17
Прога зацик-тся


14-56826
REA
2003-10-28 10:33
2003.11.17
В каждой шутке...


3-56476
Vemer
2003-10-28 10:28
2003.11.17
Превращение столбца в строку


8-56767
VLoB
2003-07-19 14:20
2003.11.17
звук в видео