![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ускорение запуска программы [D7, XP]
DJ_UZer © (2008-06-19 21:03:00)Привет всем мастерам, пожалуйста подскажите, как можно укорить запуск программы?
Или хотя бы гляньте на код при создании формы, что я делаю не так? Уж а то слишком долго грузится..
procedure TForm1.FormCreate(Sender: TObject);
var
fi: TIniFile;
begin
Application.ProcessMessages;
b := true;
scp.ItemList.LoadFromFile(ExtractFilePath(Application.ExeName)+'\templ\autohelper.alu');
fi := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Window.ini');
Form1.Top := fi.ReadInteger('Позиция', 'top', Form1.Top);
Form1.Left := fi.ReadInteger('Позиция', 'left', Form1.Left);
Form1.Panel2.Height := fi.ReadInteger('Позиция', 'Height', Form1.Panel2.Height);
Form1.Edit3.Text := fi.ReadString('Позиция', 'Прозрачность', Form1.Edit3.Text);
Form1.ComboBox1.ItemIndex := fi.ReadInteger('Позиция', 'Web', Form1.ComboBox1.ItemIndex);
Form1.se.Gutter.Color := fi.ReadInteger('Font', 'Фон панели', Form1.se.Gutter.Color);
Form1.se.Font.Color := fi.ReadInteger('Font', 'Цвет', Form1.se.Font.Color);
Form1.se.Font.Name := fi.ReadString('Font','Шрифт', Form1.se.Font.Name);
Form1.se.Font.Size := fi.ReadInteger('Font','Размер', Form1.se.Font.Size);
Form1.se.Color := fi.ReadInteger('Font', 'Фон редактора', Form1.se.Color);
Form1.se.Gutter.Font.Color := fi.ReadInteger('Font', 'Фон пан. редактора', Form1.se.Gutter.Font.Color);
Form1.se.RightEdge := fi.ReadInteger('Font','Отступ линии', Form1.se.RightEdge);
Form1.se.RightEdgeColor := fi.ReadInteger('Font', 'Цвет линии', Form1.se.RightEdgeColor);
Form1.se.SelectedColor.Foreground := fi.ReadInteger('Font', 'Цвет выделенного', Form1.se.SelectedColor.Foreground);
Form1.se.SelectedColor.Background := fi.ReadInteger('Font', 'Фон выделенного', Form1.se.SelectedColor.Background);
Form1.se.ActiveLineColor := fi.ReadInteger('Font', 'Цвет активной', Form1.se.ActiveLineColor);
Form1.se.MaxUndo := fi.ReadInteger('Font', 'Max Undo', Form1.se.MaxUndo);
Form1.se.WordWrap := fi.ReadBool('Font', 'Перенос', Form1.se.WordWrap);
Form1.fled.Text := fi.ReadString('Font', 'FileName Open/Save', Form1.fled.Text);
Form1.sb.Visible := fi.ReadBool('Font', 'sb.Visible', Form1.sb.Visible);
Form1.se.Gutter.Visible := fi.ReadBool('Font', 'se.Gutter.Visible', Form1.se.Gutter.Visible);
Form1.se.Gutter.ShowLineNumbers := fi.ReadBool('Font', 'Gutter.ShowLineNumbers', Form1.se.Gutter.ShowLineNumbers);
Form1.se.Gutter.ZeroStart := fi.ReadBool('Font', 'Gutter.ZeroStart', Form1.se.Gutter.ZeroStart);
Form1.se.BookMarkOptions.EnableKeys := fi.ReadBool('Font', 'sb.BookMarkOptions.EnableKeys', Form1.se.BookMarkOptions.EnableKeys);
Form1.se.BookMarkOptions.GlyphsVisible := fi.ReadBool('Font', 'BookMarkOptions.GlyphsVisible', Form1.se.BookMarkOptions.GlyphsVisible);
Form1.acrAutoCorrect.Enabled := fi.ReadBool('Font', 'acrAutoCorrect.Enabled', Form1.acrAutoCorrect.Enabled);
Form1.Panel1.Visible := fi.ReadBool('Font', 'Panel1.Visible', Form1.Panel1.Visible);
Form1.CheckBox10.Checked := fi.ReadBool('Font', 'CheckBox10.Checked', Form1.CheckBox10.Checked);
Form1.panel2.Visible := fi.ReadBool('Font', 'panel2.Visible', Form1.panel2.Visible);
Form1.CheckBox12.Checked := fi.ReadBool('Font', 'CheckBox12.Checked', Form1.CheckBox12.Checked);
Form1.ToolButton30.Visible := fi.ReadBool('Font', 'b1.Checked', Form1.ToolButton30.Visible);
Form1.ToolButton9.Visible := fi.ReadBool('Font', 'b2.Checked', Form1.ToolButton9.Visible);
Form1.CheckBox13.Checked := fi.ReadBool('Font', 'CheckBox13.Checked', Form1.CheckBox13.Checked);
Form1.sb.Visible := fi.ReadBool('Font', 'sb.Visible', Form1.sb.Visible);
Form1.edit1.Text := fi.ReadString('Font', 'edit1.Text', Form1.edit1.Text);
//Form1.N100.Checked := fi.ReadBool('Font', 'Checked1', Form1.N100.Checked);
//Form1.N102.Checked := fi.ReadBool('Font', 'Checked2', Form1.N102.Checked);
//Form1.N103.Checked := fi.ReadBool('Font', 'Checked3', Form1.N103.Checked);
Form1.sh.ItemIndex := fi.ReadInteger('Шаблон', 'Номер', Form1.sh.ItemIndex);
Form1.edit2.Text := fi.ReadString('Браузер', '1', Form1.edit2.Text);
Form1.edit4.Text := fi.ReadString('Браузер', '2', Form1.edit4.Text);
n := fi.ReadInteger('Popul', 'pl', n);
n := n + 1;
fi.WriteInteger('Popul', 'pl', n);
fi.Destroy;
{ Load from registry. }
form1.acrAutoCorrect.LoadFromRegistry(HKEY_CURRENT_USER,
'Software\Aerodynamica\Components\SynAutoCorrect\OLU');
op.InitialDir := ExtractFilePath(ParamStr(0));
sd.InitialDir := op.InitialDir;
Button1.Click;
If ComboBox1.ItemIndex = 0 then begin
If form1.Panel2.Width < form1.Panel2.Height then
form1.Panel2.Height := form1.Panel2.Width;
form1.Panel2.Align := alBottom;
form1.Splitter1.Align := alBottom;
form1.web.Align := alClient;
end;
If ComboBox1.ItemIndex = 1 then begin
If form1.Panel2.Width < form1.Panel2.Height then
form1.Panel2.Height := form1.Panel2.Width;
form1.Panel2.Align := alTop;
form1.Splitter1.Align := alTop;
form1.web.Align := alClient;
end;
If ComboBox1.ItemIndex = 2 then begin
If form1.Panel2.Width > form1.Panel2.Height then
form1.Panel2.Width := form1.Panel2.Height;
form1.Splitter1.Align := alLeft;
form1.Panel2.Align := alLeft;
form1.web.Align := alClient;
end;
If ComboBox1.ItemIndex = 3 then begin
If form1.Panel2.Width > form1.Panel2.Height then
form1.Panel2.Width := form1.Panel2.Height;
form1.Panel2.Align := alRight;
form1.Splitter1.Align := alRight;
form1.web.Align := alClient;
end;
If (ParamCount = 0) and (CheckBox10.Checked = true) then begin
If form1.sh.ItemIndex = 0 then html1.Click;
If form1.sh.ItemIndex = 1 then CSS1.Click;
If form1.sh.ItemIndex = 2 then JavaScript2.Click;
If form1.sh.ItemIndex = 3 then php2.Click;
If form1.sh.ItemIndex = 4 then perl2.Click;
end
else
N77.Click;
form1.WindowState := wsMaximized;
end;
palva (2008-06-19 21:52:00) [21]
> Какая именно строка долго выполняется?
Вот эта:
Application.ProcessMessages;
Правильный-Вася (2008-06-19 21:45:00) [22]мамма мия!
зачем везде Form1 писать?
Application.ProcessMessages в начале нафиг не надо
код форматировать не учили?
Anatoly Podgoretsky (2008-06-19 21:20:00) [23]> DJ_UZer (19.06.2008 21:03:00) [0]
Какая именно строка долго выполняется?