Добрый день. Есть код:
Код:
unit Unit1;
interface
uses
ShellAPI;
type
TForm1 = class(TForm)
Button3: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
function PageAssemble(T:TStringList):string;
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
Buffer:TStringList;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
(*=============================================*)
(* 30 июля 2012г. Сборка ХТМЛ-страницы запись ссылок в файл.
запуск файла в браузере*)
procedure TForm1.Button3Click(Sender: TObject);
var T:TstringList;
begin
T:=TStringList.Create;
T.Text:=PageAssemble(Buffer); (*ввод ХТМЛ-страницы*)
T.SaveToFile('RatingPage.html'); (*сохранить в файл*)
(*=====Если использовать код то расход ОЗУ возрастает с 6 до 12 мб==*)
ShellExecute(Self.Handle, 'open', PChar('RatingPage.html'), nil,
nil, SW_SHOWNORMAL); (*открыть файл в системном браузере*)
(*===============================*)
T.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Buffer:=TStringList.Create;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Buffer.Free;
end;
end.
Этот код создает ХТМЛ-страницу, записывает ее на ЖД и открывает в системном браузере
в общем все работает. но при открытии страницы браузером из файла с ЖД потребление памяти увеличивается с 6 до 12 мб.
Вопросы: это нормально при применении ShellExecute? может сделать ДЛЛ из этого кода и после открытия файла браузером отключать ДЛЛ(как это советуется в букварях)? может есть еще способы(кроме тех что из букваря), что то новенькое?