Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.30;
Скачать: CL | DM;

Вниз

Супер запутанные лупы   Найти похожие ветки 

 
Fog ©   (2002-09-18 16:15) [0]

у меня функция:
function LoadMap(Slot: Integer): Integer;
var
MapFile: TFileStream;
buff: Char;
begin
MapFile := TFileStream.Create(MapFileName, fmOpenRead);
MapFile.Position := Slot;
while MapFile.Position < Slot + 1 do
begin
MapFile.Read(buff, 1);
Result := Result + StrToInt(buff);
end;
MapFile.Free;
end;


и DXTimer:

procedure DXTimerOnTimer(blablabla);
var
k: integer...
begin
for k := 0 to 46 do
begin
if not Odd(k) then
begin
DXImageList1.Items[1].Draw(DXDraw1.Surface, MapX[LoadMap(k)], mapY[5], 0);
end;
end;
end;


Выскакивает Access violation
Возможно это ужасающий непрофессиолизм, но лучше этого я придумать не мог... Это загрузка положения спрайтов из фалы... MapX, MapY это массив изомерических тилей...


 
Алексей Ким ©   (2002-09-18 16:16) [1]

function LoadMap(Slot: Integer): Integer;
var
MapFile: TFileStream;
buff: Char;
begin
MapFile := TFileStream.Create(MapFileName, fmOpenRead);
MapFile.Position := Slot;
while MapFile.Position < Slot do begin
MapFile.Read(buff, 1);
Result := Result + StrToInt(buff);
end;
MapFile.Free;
end;


 
Fog ©   (2002-09-18 16:18) [2]

дело в том что мне нужно читать двузначное значение...


 
Алексей Ким ©   (2002-09-18 16:21) [3]

var i: array [0..1] of char;

while MapFile.Position < MapFile.Size do
begin
read(buff,1);
Result := Result + StrToInt(buff);
end;
так?


 
ART_43 ©   (2002-09-18 16:21) [4]

AV в каком месте вылезает?


 
Алексей Ким ©   (2002-09-18 16:25) [5]

oops... сам себя запутал...
var i: array[0,1] of char;

mapfile.position := slot;
if mapfile.position + 2 < mapfile.size then
mapfile.read(i,2);

так вроде...


 
Fog ©   (2002-09-18 17:04) [6]

AV хоть ты тут тресни :(


> ART_43
В таймере...


 
ART_43 ©   (2002-09-18 17:15) [7]

В какой строке?


 
Fog ©   (2002-09-18 18:06) [8]


> ART_43

for k := 0 to 46 do
begin
if not Odd(k) then
begin
DXImageList1.Items[1].Draw(DXDraw1.Surface, MapX[LoadMap(k)],
mapY[5], 0);
end;
end;


Гдето тут...


 
Подземельный Кадастрат   (2002-09-18 18:37) [9]

MapX, если это динамический массив, не инициализирован (не создан) к тому времени, когда его вызывает таймер


 
Fog ©   (2002-09-18 18:49) [10]


> Подземельный Кадастрат

как это не инициализирован, он у меня в виде сонстанты!
const MapX: array[0..23] of integer =
(chisla)...


 
Fog ©   (2002-09-19 15:29) [11]

В файле я пишу либо
010203040506...

или
1 2 3 4 5 6...



Страницы: 1 вся ветка

Текущий архив: 2002.09.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
1-98188
Sedunov Vitaly
2002-09-18 11:39
2002.09.30
Свойства формы


1-98184
Max_1
2002-09-18 10:14
2002.09.30
Как динамически создать процедуру


14-98324
ded_di
2002-09-05 12:53
2002.09.30
редактор запросов


1-98040
NeyroSpace
2002-09-17 14:33
2002.09.30
Нужно узнать сколько файлов в каталоге, а потом поочереди открыть


7-98381
BY_KAN
2002-07-22 03:19
2002.09.30
НЕ ПАШЕТ AX=7305h INT 21h Абсол. чтен/запись