Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2009, 10:38   #1
Veiron
Форумчанин
 
Аватар для Veiron
 
Регистрация: 01.12.2007
Сообщений: 346
По умолчанию Особенности Delphi 2009

В Delphi 2009 стало невозможно задать фиксированны заголовок приложению, по сему поле [ Project - Options - Application - Title: ] стало попросту безсмысленным, но это не все "косяки" и далеко не самое важное, больше всего не понравился полный игнор подобной процедуры которая написана ниже:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Hide;
end;
По сему приходится создавать таймер с хотябы миллисикундным интервалом для вызова такой функции как выше.

Это я все к тому, что может быть кто нашел лекарство от подобных неприятных запахов в этом инструменте?
Win 10 x64 | VS 2015 | MSSQL 2014
autovestitv.ru
Veiron вне форума Ответить с цитированием
Старый 24.05.2009, 11:50   #2
andreibtzt
Заблокирован
 
Регистрация: 04.04.2009
Сообщений: 43
По умолчанию

postavi timer1 na 1

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
form1.Hide;
end;

Последний раз редактировалось Stilet; 24.06.2009 в 08:39.
andreibtzt вне форума Ответить с цитированием
Старый 24.05.2009, 12:12   #3
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

1. Это не косяк, просто на таскбаре отображается главная форма, мне это больше нравится. Project - View Source - удаляем строчку
Код:
Application.MainFormOnTaskbar := True;
и Title перестаёт быть бессмысленным.

2. Вот это вроде как подходит
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.ShowMainForm := False;
end;
Until The End Of Time
Showy вне форума Ответить с цитированием
Старый 24.05.2009, 14:42   #4
Veiron
Форумчанин
 
Аватар для Veiron
 
Регистрация: 01.12.2007
Сообщений: 346
По умолчанию

Showy
Спасибо. В этот же View Source и добавил Application.ShowMainForm := False; так даже лучше оказалось.

Как можно убрать автосортировку кода?

Как создать проект Active Form? File - New - Customize... не помогло.
Win 10 x64 | VS 2015 | MSSQL 2014
autovestitv.ru

Последний раз редактировалось Stilet; 24.06.2009 в 08:41.
Veiron вне форума Ответить с цитированием
Старый 24.06.2009, 06:42   #5
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Delphi 2009 мне постоянно действует на нервы своими идеотскими неправильными подчёркиванями кода. В Delphi 2009 действительно очень и очень много косяков и ляпов. Object inspector иногда глючит.
Цитата:
Код:
Application.MainFormOnTaskbar := True;
эта строчка меня тоже на днях взбесила. Я тоже форму никак скрыть не мог. Вообще, на кой она там, что она даёт?
Altera вне форума Ответить с цитированием
Старый 24.06.2009, 08:28   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
эта строчка меня тоже на днях взбесила. Я тоже форму никак скрыть не мог. Вообще, на кой она там, что она даёт?
вместо возмущений достаточно просто посомтреть )

Код:
procedure TApplication.SetMainFormOnTaskBar(const Value: Boolean);
var
  ActivateFrm: Boolean;
begin
  if Value <> FMainFormOnTaskBar then
  begin
    FMainFormOnTaskBar := Value;
    if (FMainForm <> nil) and FMainForm.HandleAllocated and
       not (csDesigning in FMainForm.ComponentState) and
       not (csReading in FMainForm.ComponentState) then
    begin
      if Value then
      begin
        ChangeAppWindow(Handle, False, False);
        ChangeAppWindow(FMainForm.Handle, True, FMainForm.Visible);
      end
      else
      begin
        ActivateFrm := GetForeGroundWindow = FMainForm.Handle;
        ChangeAppWindow(FMainForm.Handle, False, FMainForm.Visible);
        // Restore the TApplication window's taskbar style
        ChangeAppWindow(Handle, True, True);
        if ActivateFrm then
          SetForeGroundWindow(FMainForm.Handle);
      end;
      // Recreate Main form to ensure correct owner
      FMainForm.Perform(CM_RECREATEWND, 0, 0);
    end;

    // Prevent TApplication Window from appearing in Task Manager's Application list
    if Value then
    begin
      SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
      SetWindowText(Handle, nil)
    end
    else
    begin
      SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) and not WS_EX_TOOLWINDOW);
      SetWindowText(Handle, FTitle);
    end;
  end;
end;
"Не правильно" код подчеркивает когда компилятор в design time не знает ту или иную переменную/метод, что решается компиляцией модуля. Также будут подчеркиваться большинство generics-Объектов и анонимных функций, ввиду своей особенности. После 3-го апдейта еще не встречал "случайных" подчеркиваний.
Цитата:
Как создать проект Active Form? File - New - Customize... не помогло.
Проверил-действительно не создается. Думаю здесь будет правильней задать вопрос разработчикам (https://forums.embarcadero.com/index.jspa).
Цитата:
Как можно убрать автосортировку кода?
что такое автосортировка кода ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 24.06.2009, 08:44   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
больше всего не понравился полный игнор подобной процедуры которая написана ниже:
Ты что пошутил? Это в принципе не сработает везде ибо про создании еще форма не показывается.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.06.2009, 12:05   #8
Veiron
Форумчанин
 
Аватар для Veiron
 
Регистрация: 01.12.2007
Сообщений: 346
По умолчанию

Цитата:
что такое автосортировка кода ?
В Delphi 7 было так: Двойной клик на первую кноку, он создает процедуру в коде, нажимаешь на вторую кнопку, создает еще одну после предыдущей и т.д., а в Delphi 2009 нажимаешь на первую, так же создает процедуру, нажимаешь на вторую он может создать новую процедуру и перед последней, как понял сортируется по Name компонента, но в подробности не вдавался, когда код был не большой было удобно, а сейчас такой подход вообще ни в какие ворота не лезет.
Win 10 x64 | VS 2015 | MSSQL 2014
autovestitv.ru
Veiron вне форума Ответить с цитированием
Старый 24.06.2009, 15:29   #9
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Если для навигации по коду пользуетесь скроллером мыши, то никогда всегда будете теряться в больших модулях. Для этого есть Structure
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 24.06.2009, 20:30   #10
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
"Не правильно" код подчеркивает когда компилятор в design time не знает ту или иную переменную/метод, что решается компиляцией модуля. Также будут подчеркиваться большинство generics-Объектов и анонимных функций, ввиду своей особенности. После 3-го апдейта еще не встречал "случайных" подчеркиваний.
А как называется то, когда он подчёркивает clRed а заодно и юнит Graphics? При том, что компилируется нормально а после компиляции то-же самое. Приходится перезапускать Delphi.
Altera вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WaitForSingleObject в Delphi 2009 Хамяг Win Api 11 03.12.2009 09:06
ActiveX в Delphi 2009 euronymous Общие вопросы Delphi 2 10.05.2009 15:11
Delphi 2009 + MySQL MasterofCDM БД в Delphi 0 14.11.2008 16:55