type
TUTM = record
x: Double;
y: Double;
z: Double;
end;
....
////////////////////////////////////////////////////
var
fsData : TFileStream;
tmpUTM:array[0..10000] of TUTM;
begin
fsData:= TFileStream.Create('test.dat', fmOpenRead);
fsData.Read(tmpUTM, Sizeof(TUTM));
fsData.ReadBuffer(tmpUTM,Round(10000));
...
fsData.free;
end;
////////////////////////////////////////////////////
위에서 배열을 10000 까지 선언하였는데 이 읽어들이는 파일의 용량이 무려 50메가 정도입니다.
그래서 아마도 배열을 엄청나게 선언을 해야될텐데
VC++ 에서는 메모리를 Heap 으로 잡고 대용량으로 읽게 처리를 하였습니다.
근데 델파이에서는 이 부분을 어떻게 해야할지 모르겠더군요.
앞전에 올렸던 질문의 연장이긴 한데 찾아봐도 메모리에 관한 부분을 잘 찾을 수가 없어서 (제가 가지고 있는 책에도 없더군요. ㅜ.ㅜ)
이렇게 질문을 올립니다.
도와주세요~
밑에 씨소스 포팅하는 질문이군요...
델파이나 VB, VC모두 윈도우 API사용합니다.
HeapFree, GetProcessHeap, HeapAlloc등의 윈도우 API함수는 델파이에서도 똑같이 사용합니다.
똑같이 써서 포팅하세요....
^^ 항상 즐코하세요...