Delphi에서 오래된 미디 구성 요소를 실행하려고하고 있는데 대부분의 경우 작동하지만 행에 2 개의 파일을로드하려고하면 충돌이 발생합니다.getmem memory leak, delphi
일부 연구는 코드에서 메모리 누출을 가리키는 EurekaLog를 설치하도록 유도했습니다. 예!
나는 메모리 포인터와 잘 어울리지 않지만,이 코드는 유레카에 의해 강조되어있다. 나를 생각해 보았다. 아마도 메모리가 해제 된 버그가 있을까?
끝에 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;
우선 FreeMem을 부른 후 "작동하지 않습니다"라는 의미는 무엇입니까? 둘째, 델파이의 어떤 버전을 사용하고 있습니까? –