Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
ВнизПроблема, черт возьми!!!!!!!!!!!!!!! Найти похожие ветки
← →
OpenGL (2003-11-13 10:19) [0]Интересный форум, пока я писал ответ, мой вопрос как-то бесследно исчез... Забавно. Итак все заново:
type
TChHeader = packed record
_Type:WORD;
Size:DWORD;
end;
TChunkData = array of WORD;
PChunkData = ^TChunkData;
TChunk = packed record
Header:TChHeader;
Data:PChunkData;
end;
PChunk = ^TChunk;
TDSFile = class
private
dsFile:File;
FFileSize:cardinal;
ChunkH:TChHeader;
Chunk:TChunk;
....
и т.д.
procedure TDSFile.ReadChunk;
begin
BlockRead(dsFile, Chunk.Header, CHUNKH_SIZE);
New(Chunk.Data);
BlockRead(dsFile, Chunk.Data^, Chunk.Header.Size - CHUNKH_SIZE);
CurrOffset:=FilePos(dsFile);
end;
function TDSFile.ReadFile(Scene:pScene):HRESULT;
begin
BlockRead(dsFile, ChunkH, 6);
if ChunkH._Type <> CHUNK_MAIN then
begin
Result:=E_FAIL;
Abort;
end;
FFileSize:=ChunkH.Size;
Seek(dsFile, MAIN_OFFSET);
CurrOffset:=FilePos(dsFile);
while CurrOffset < FFileSize do
begin
ReadChunk;
case Chunk.Header._Type of
CHUNK_OBJMESH: ShowMessage("OBJ");
CHUNK_VIEWPORT: ShowMessage("VIEW");
CHUNK_KEYFRAMER:ShowMessage("KEY");
end;
end;
end;
Проблема возникает во время чтения CHUNK_KEYFRAMER, выдает access violation, перед этим CHUNK_OBJMESH чудесно читается. Я запускал программу в отладке, с процедурой ReadChunk() никаких проблем не наблюдалось, ошибка возникает на строчке CHUNK_KEYFRAMER:
ShowMessage("KEY");
Кто не верит могу весь исходник привести.
>Digitman
Извиняюсь, в прошлый раз я привет кусок старого и нового кода, раньше процедура действительно была функцией.
← →
Vorobyev Sergey (2003-11-13 10:39) [1]Такие ошибки возникают из-за бесконтрольного использования выделения/освобождения памяти..
Советую проверить правильно ли используются функции выделения/освобождения памяти: New(), Delete(), SetLength(), TObject.Create(), Obj.Free(), Malloc, Realloc ну и в этом же духе.., проверь все, какие ты используешь..
Освобождается ли память везде, где ее выделяешь..
Желаю успехов!
← →
panov (2003-11-13 10:41) [2]Оформляй вопрос правильно.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.009 c