Не делайте это произвольная функция.Либо создайте компонент в FormCreate
, либо даже в конструкторе формы, либо сделайте его доступным только для чтения, а затем используйте ленивый экземпляр, то есть
if not Assigned(Global_MemoIni) then
begin
Global_MemoIni := TMemo.Create(Self);
// rest of your code
end;
Result := Global_MemoIni;
Но почему он глобальный?Если вы сделаете его полем и соответствующим только для чтения свойством формы, оно будет легко доступно, и вы сможете защитить его, как показано выше.
FWIW, вместо освобождения компонента, разрешите Владельцу(форма) сделать это.Таким образом, он доступен, пока существует форма, и никаких неприятных проблем с недействительными указателями не может быть.