Про то как выводить данные через формы я разобрался. Следующий вопрос: разобраться как компилируется бинарный код.
Сначала я обнаружил, что написать программу которая выводит окно и в нём приветствует мир, можно двумя способами.
Способ первый:
Код:
{код проекта}
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".