Форум: "Основная";
Текущий архив: 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.006 c