Для локализации проекта использую стандартные средства delphi, а для переключения языка использую reinit.pas.
Все замечательно работает, пока не начал использовать ActionManadger.
При переключении языка возникает утечка памяти. Кто-нибудь сталкивался с подобным?
Код:
unit Unit1;
interface
uses reinit,
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,
Vcl.PlatformDefaultStyleActnCtrls, System.Actions, Vcl.ActnList, Vcl.ActnMan;
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
ActionManager1: TActionManager;
procedure FormCreate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Const L: Array[0..1] of Integer = (LANG_RUSSIAN, LANG_ENGLISH);
implementation
{$R *.dfm}
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if LoadNewResourceModule(L[ComboBox1.ItemIndex]) <> 0 then
ReinitializeForms;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
// Проверка утечки памяти
ReportMemoryLeaksOnShutdown := True;
end;
end.