Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
1-56673
512 ram
2003-11-05 08:09
2003.11.17
Можно ли с помощью средств Delphi запустить файл


1-56753
Максим
2003-11-06 16:43
2003.11.17
добавление TabControl(ов) в PageControl в runtime


14-56831
Халява
2003-10-28 00:04
2003.11.17
Поможите


14-56873
Dimaz-z
2003-10-26 15:01
2003.11.17
Помогите, никто не знает, где найти документацию по vCard?


1-56639
KoSt1
2003-11-05 14:07
2003.11.17
форма




   Наверх