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

Вниз

Application.Title   Найти похожие ветки 

 
Толик   (2002-05-30 12:25) [0]

Уважаемые мастера. В одной из рассылок встретил вопрос про Application.Title и мне вспомнилась проблема, суть которой в своё время я так и не смог понять. А проблема в следующем: есть стандартный файл проекта

begin
Application.Initialize();
Application.Title := "заголовок";
...
Application.Run();
end.

вопрос: почему в ФАЙЛЕ ПРОЕКТА св-ву Application.Title можно ТОЛЬКО ПРИСВАИВАТЬ значения? Например, нельзя написать ShowMessage(Application.Title) - сразу же становятся недоступными кнопка компиляции проекта (ессно F9 тоже не работает). Хотя следующее работает:

var
pStr: pchar;//про выделение и осв. памяти я помню :)
begin
Application.Title := "заголовок";
...
GetWindowText(Application.Handle, pStr, 255);
ShowMessage(pStr);
...
end.

Причём это не зависит ни от версии Делфей, ни от её переустановки. М.б. я что-то упустил и в dpr-файле св-во Title является read-only???


 
Игорь Шевченко   (2002-05-30 12:39) [1]

dpr управляется и анализируется средой обычно. Поэтому между строками Application.Initialize и Application.Run настоятельно не рекомендуется что-либо вставлять


 
Толик   (2002-05-30 13:07) [2]

to Игорь Шевченко ©:

А про то, что нельзя (не рекомендуется) править руками dpr-файл где-нибудь можно почитать (ссылки)? Какие причины (последствия) этого могут быть? Очень часто бывает необходимо выполнять некие свои действия в файле проекта ещё до создания форм (я вообще все формы создаю руками) например спросить password, проверить наличие файлов, что-нибудь куда-нибудь скопировать, да мало ли чего ещё! А если учесть то, что бывают проги вооюще без форм, то без написания dpr-файла руками вообще не обойтись.

А как же насчёт Application.Title?


 
eSKey   (2002-05-30 14:17) [3]

Кстати, еще такая деталь - если делать Application.Title:="заголовок", это проходит, а вот если сделать Application.Title:=strMyHeader (причем strMyHeader - константа), вылетает с ошибкой. Проходит перенос этой строки в Create главной формы.

Как это объясняется?


 
Игорь Шевченко   (2002-05-30 14:23) [4]

Почитать можно в документации от Borland"а


 
eSKey   (2002-05-30 14:58) [5]


> Игорь Шевченко


Хых, а в каком разделе?


 
Толик   (2002-05-30 15:21) [6]

to Игорь Шевченко ©:
Читаем:
Project file

Because Delphi maintains the project file, you should not modify (т.е. не нужно, но можно) it manually. You can (именно МОЖЕМ, а не ДОЛЖНЫ) change the project file by using the Project Manager.

Казалось бы документация от Borland, а нигде не написано про то, что КАТЕГОРИЧЕСКИ ЗАПРЕЩАЕТСЯ менять dpr-файл руками...
М.б. это просто глюк (или баг)?


 
Внук   (2002-05-30 15:52) [7]

>>Толик ©
А категорически и не запрещается. Я могу привести в пример вполне работоспособную и содержательную программу, состоящую только из dpr-файла (даже res-файл не требуется). Однако, речь идет об отдельных инструкциях, управление которыми происходит из IDE (точнее, IDE, а не только компилятор, их распознает), поэтому их трогать не рекомендуется.


 
Игорь Шевченко   (2002-05-30 15:53) [8]

Я же не писал, что запрещается. Я писал, что не рекомендуется :-)


 
Толик   (2002-05-30 16:04) [9]

ОК, значит сойдёмся на том, что если в dpr-файле хочется узнать значение Application.Title, то надо пользоваться GetWindowText. Видимо так того хочет Borland.
Спасибо всем откликнувшимся.


 
Внук   (2002-05-30 16:12) [10]

Толик © (30.05.02 16:04)
Есть и другой способ:

Создаем новый модуль

Unit MyTitle;

...
function GetAppTitle:string;
begin
Result:=Application.Title;
end;
...

В dpr-файле пишем
uses MyTitle;

...
GetAppTitle;
...



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

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

Наверх





Память: 0.46 MB
Время: 0.007 c
3-30707
GenBr
2002-05-18 13:20
2002.06.10
Grid


4-31059
Darlok
2002-04-02 19:20
2002.06.10
Окно всегда пониз всех окон


8-30918
Beer
2002-01-25 03:28
2002.06.10
TChart Может не совсем в тему, но графика


6-30938
Andrews
2002-03-29 11:08
2002.06.10
Хочу попасть в сетевую папку защищенную паролем


3-30691
AlexNord
2002-05-06 02:19
2002.06.10
UpadteSQL...:(





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