Главная страница
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.019 c
3-97959
maxim2
2002-09-09 09:54
2002.09.30
Как поставить фильтр


7-98377
Вятченко-Карпинский
2002-07-22 14:12
2002.09.30
как считать с СOM-порта


4-98408
ilg
2002-08-15 09:09
2002.09.30
Смена шрифта у Hint


8-98228
Groove
2002-06-01 14:15
2002.09.30
Кнопочки из Flash


3-97943
DenisLK
2002-09-06 13:26
2002.09.30
Помогите правильно построить запрос