Я пытаюсь запустить старый миди-компонент в Delphi, и он работает по большей части, но если я пытаюсь загрузить 2 файла подряд, он вылетает.
некоторые исследования привели меня кустановите EurekaLog, который указывает на утечки памяти в code.yay!
Я не очень хорошо разбираюсь с указателями памяти, но этот код, выделенный Эврикой, заставил меня задуматься, может быть, есть ошибка спамять не освобождается ??
Я пытался добавить FreeMem
в конце, но это не работает?
function TMidifile.ReadString(F: integer): string;
var
s: PChar;
i: integer;
begin
GetMem(s, F + 1);
s[F] := chr(0);
for i := 0 to F - 1 do
begin
s[i] := Chr(chunkIndex^);
inc(chunkIndex);
end;
result := string(s);
end;