Показать сообщение отдельно
  #1  
Старый 30.07.2012, 15:15
Pcrepair
 
Сообщения: n/a
По умолчанию Программа начинает есть память

Добрый день. Есть код:

Код:
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? может сделать ДЛЛ из этого кода и после открытия файла браузером отключать ДЛЛ(как это советуется в букварях)? может есть еще способы(кроме тех что из букваря), что то новенькое?
Ответить с цитированием