![]() |
|
#1
|
|||
|
|||
![]() Про то как выводить данные через формы я разобрался. Следующий вопрос: разобраться как компилируется бинарный код.
Сначала я обнаружил, что написать программу которая выводит окно и в нём приветствует мир, можно двумя способами. Способ первый: Код:
{код проекта} program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. {код модуля} unit Unit1; interface uses Forms, Controls, StdCtrls, Classes, Buttons; type TForm1 = class(TForm) btn1: TBitBtn; lbl1: TLabel; procedure FormCreate(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin lbl1.Caption:='Hello, World' end; end. Способ второй: Код:
{код проекта} program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Unit1.Form1.lbl1.Caption:='Hello, World'; Application.Run; end. {код модуля} unit Unit1; interface uses Forms, Controls, StdCtrls, Classes, Buttons; type TForm1 = class(TForm) btn1: TBitBtn; lbl1: TLabel; end; var Form1: TForm1; implementation {$R *.dfm} end. Скажите, какой из этих двух способов, идеалогически более верный? И вот что, в обоих случаях размер конечного exe-файла у меня получается 382Кбайт. Почему так много? Что у меня оказывается в готовом бинарном коде? Ведь я так понимаю, сама программа рисованием на экране окна не занимается, это делает Windows, а программа просто передаёт ей инструкцию, вывести на экран окно и вывести в нём надпись "Hello, World". |