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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2018, 11:20   #11
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Ни в одной папке с моими проектами нет *.dproj . Возможно, это в новых Дельфях, а у меня старушка 7-я .
Там dof вместо dproj, а в dpr так же и есть "Main".

http://delphi.wikia.com/wiki/Delphi_File_Extensions
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 22.04.2018, 11:21   #12
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Дык я ж с потоками не работал пока, потому и не слышал основ. Но авось не боги горшки обжигают...
Не вижу в dpr Main, разве что под другой фамилией
Изображения
Тип файла: jpg dpr1.JPG (17.4 Кб, 48 просмотров)

Последний раз редактировалось digitalis; 22.04.2018 в 11:26.
digitalis вне форума Ответить с цитированием
Старый 22.04.2018, 11:29   #13
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну "Main" это точка входа.
Вот то, что в begin end тут, и есть оно.

Application.Run видимо запускает цикл обработки сообщений.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 23.04.2018, 01:46   #14
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Насчет .dpr - это же файл проекта, там вообще кода нет?
Должен вас огорчить. Вы абсолютно не правы. В файле проекта как раз содержится именно код вашей программы. А все остальные модули задействованные в вашем проекте - всего лишь дополнительные модули, которые обеспечивают программе нужную функциональность.
northener вне форума Ответить с цитированием
Старый 23.04.2018, 01:58   #15
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Application.Run видимо запускает цикл обработки сообщений.
Странно от вас слышать столь неуверенное утверждение. Application.Run именно запускает цикл обработки сообщений, который является основой программы.
northener вне форума Ответить с цитированием
Старый 23.04.2018, 10:07   #16
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
В файле проекта как раз содержится именно код вашей программы.
Ну если 3 строчки, всегда одинаковые для всех программ (#12), можно назвать кодом, то значит, я последние 40 лет неправильно представлял себе, что такое код. Впрочем, Execute myprog.exe тоже можно назвать кодом. Но не хочется.
digitalis вне форума Ответить с цитированием
Старый 23.04.2018, 10:19   #17
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
можно назвать кодом
А чего нельзя? А ну-ка самому запрограммировать всю рутину спрятанную в application, да и за каждым оконным компонентом ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 23.04.2018, 10:22   #18
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Си++ такие же строчки. Как говорится найди 10 отличий.
Изображения
Тип файла: png QT main.png (57.6 Кб, 41 просмотров)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 23.04.2018, 10:35   #19
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Если мало 3, то добавьте еще форм, там по умолчанию все формы создаются, а не только первая. Соответственно можно убирать оттуда если какие-то формы надо создавать только вручную.

И например часто туда вначале добавляют вызовы проверки лицензии или запрет запуска программы 2 раза.

Код:
program .......App;

{$R '....app.res' '......app.rc'}
{$R 'images.res' 'images.rc'}

uses
  Forms,
  SysUtils,
  Windows,
  Classes,
  Controls,
  MainFormUnit in 'MainFormUnit.pas' {MainForm},
  ...........................
  SizeInputControlUnit in 'SizeInputControlUnit.pas' {SizeInputControl: TFrame},
  FormUtils in 'FormUtils.pas';

{$R *.res}

var
  processesList: TList;
  i: Integer;
  pid: DWORD;
  h: HWND;
begin
  InitLocalization;

  if CreateMutex(nil, True, '....Appad0e4be8-ae15-4a61-b722-5709e7179257') = 0 then
    RaiseLastOSError;
  if GetLastError = ERROR_ALREADY_EXISTS then
  begin
    // try to switch to the previous app window
    processesList := TList.Create;
    if FindProcesses(GetProcessNameByID(GetCurrentProcessId), processesList) > 0 then
    begin
      for i := 0 to processesList.Count - 1 do
      begin
        pid := DWORD(processesList[i]);
        if pid <> GetCurrentProcessId then
        begin
          h := FindMainWindow(pid, 'TMainForm');

          if h <> 0 then
          begin
            SendMessage(h, WM_APP_RESTORE, 0, 0);

            SetForegroundWindow(h);
          end;

          Break;
        end;
      end;  
    end;  

    Exit;
  end;

  InitPaths;  

  Application.Initialize;
  Application.Title := '.....';
  Application.CreateForm(TMainForm, MainForm);
  Application.CreateForm(T......Form, .....Form);
  Application.Run;
end.
Цитата:
Сообщение от northener Посмотреть сообщение
Странно от вас слышать столь неуверенное утверждение.
А чо?
Я не читал документацию, не смотрел исходник и не использую Дельфи давно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 23.04.2018, 11:21   #20
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Да, "Дельфи и вообще ООП - неисчерпаемы, как атом" © В.И.Ленин
Жаль, не попалось мне оно лет этак 40 назад, пошла бы жизнь интересней...
digitalis вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
main Rick Sanchez Общие вопросы C/C++ 1 05.12.2017 14:12
С# Windows.Forms Программа содержит более одной указанной точки входа: "Program.Main()". Скомпилируйте с /main, чтобы указать тип Maray Windows Forms 6 06.04.2016 07:07
Exception in thread "main" java.lang.NullPointerException at Main.main(Main.java:9) elpilasgsm Помощь студентам 4 18.01.2011 08:23
массив delphi с элементами main menu и striggrid elucia Помощь студентам 0 10.05.2010 22:51
Функция main и main(void) Pord Помощь студентам 1 11.12.2008 15:57