Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Странная ситуация с Application.Title [D6]


Separator ©   (2002-09-26 14:34:00) 

Почему так работае:

T:= "My Program";
Application.Title:= T;

а так не хочет:

Application.Title:= "My Program";
T:= Application.Title

Все это пишется в модуле dpr. В общем во втором случае проект вообще не хочется компилироваться. В чем проблема?
А то мне для определения Application.Title приходится делать во так:

var
T: PChar;

begin
T:= StrAlloc(255);
GetWindowText(Application.Handle, T, 255);
end


Внук   (2002-09-26 15:37:00) [1]

Содержимое dpr-файла во многом управляет поведением IDE и наоборот, поэтому бывают трудности вроде приведенных выше. Приходится идти на обман, например, как здесь написал NP-237. Или компилировать из командной строки :))


Толик   (2002-09-26 15:29:00) [2]

Не так давно на этом форуме уже было обсуждение этого вопроса. Сошлись на мнении, что Borland просто не хочет давать на чтение св-во Title в dpr-файле. Что это, глюк или фитча сказать трудно, но это повторяется в Делфях от версии к версии, так что видимо здесь есть какой-то скрытый смысл. Ну или Borland думает, что он здесь есть :))
Если очень хочется узнать Title в dpr-файле, то можно воспользоваться GetWindowText(Application.Handle, ...);


NP-237   (2002-09-26 15:28:00) [3]

А Еще
sStr := (Application).Title;

Что это с D6 ???


NP-237   (2002-09-26 15:23:00) [4]

Хм. Вот эта х-ня работает.

var sStr:String;
App:TApplication;
begin
Application.Initialize;
App := Application;
sStr := App.Title;
Application.MessageBox(PChar(sStr),"",0);

А слово Application.Title - какое-то волшебное.


NP-237   (2002-09-26 15:19:00) [5]

Интересно, попробовал в D2 - там работает.
Это что, хитрые свойства D6 ?


NP-237   (2002-09-26 15:03:00) [6]

property Title: WideString;


Separator   (2002-09-26 15:00:00) [7]

Чтобы узнать Title


Mike Kouzmine   (2002-09-26 14:52:00) [8]

А зачем?


Separator   (2002-09-26 14:48:00) [9]

Так это да работае, но попробуй потом сделать так:
T:= Application.Title;(T: string)


Mike Kouzmine   (2002-09-26 14:37:00) [10]

Application.Initialize;
Application.Title := "My Program"; - все работает


Наверх

Титульная страница Поиск, карта сайта Написать письмо