Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2008, 23:13   #1
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию Ошибка обращения к памяти

Код:
repeat
  xx := random(10);
  yy := random(10);
until (FindComponent('Image'+inttostr(9*yy+xx)) as  Timage).Tag = 0;
Непонимаю... На этом куске постоянно выдаёт ошибку что произошло неправильное обращение к памяти чтото там...
Всего у меня 81 имеидж начиная с Image10 заканчивая Image90

Подскажите что не так =\\

А все, рандом(10) выдет 0-9, чтото я совсем туплю 8)

Последний раз редактировалось Zeraim; 29.11.2008 в 23:23.
Zeraim вне форума Ответить с цитированием
Старый 29.11.2008, 23:28   #2
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

перед тем, как присваивать Tag, надо проверить на assigned
_Engine_ вне форума Ответить с цитированием
Старый 29.11.2008, 23:52   #3
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию

Скажете по подробней?
Zeraim вне форума Ответить с цитированием
Старый 30.11.2008, 00:09   #4
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Например, так:
Код:
 if assigned(FindComponent('Blablabla')) then FindComponent('BlaBlaBla').Tag := 0;
_Engine_ вне форума Ответить с цитированием
Старый 30.11.2008, 00:09   #5
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Цитата:
Сообщение от Zeraim Посмотреть сообщение
[CODE]
Всего у меня 81 имеидж начиная с Image10 заканчивая Image90
Тут получается обращение от 0 до 90.
'Image'+IntToStr(10+Random(90-10+1))
Насчёт проверки
Код:
...
c := FindComponent(...);
until (Assigned(c) and .......);
_Engine_, вызывать FindComponent 2 раза как-то не очень хорошо. (А если, например, FindComponent(Random()) 2 раза, то очень нехорошо.)

Последний раз редактировалось Somebody; 30.11.2008 в 00:12.
Somebody вне форума Ответить с цитированием
Старый 30.11.2008, 19:24   #6
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию

Странно, теперь выдаёт ошибку обращения к памяти и помечает эту строчку
Код:
prvrkChisla[n] := sdkArray[yy,xx];
Все переменные присвоены, типа интеджер, массывы тоже интеджер.
prvrkChisla локальный.
sdkArray глобальный.

Может у меня слишком многа переменных, и картинок в экзешнике? Потому он и матюгается на меня ?
=================================== =================================== ==========
Вот и ответ на мой вопрос
Код:
inc(n);
prvrkChisla[n] := sdkArray[yy,xx];
Поставил присвоение как n := n + 1; Все заработало =\\
=================================== =================================== ==========
Только дописал еще один цикл опять таже история... Я нечего не понимаю 8(

Последний раз редактировалось Zeraim; 30.11.2008 в 20:33.
Zeraim вне форума Ответить с цитированием
Старый 01.12.2008, 10:54   #7
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Выложи больше кода, так непонятно, что содержится в sdkArray[][].
Somebody вне форума Ответить с цитированием
Старый 01.12.2008, 17:08   #8
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию

да не все решено, результатом моих косяков и лени откомментить код чтобы проще ориентироватся, стала судоку 8)
Zeraim вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Nero - ошибка драйвера DMA. ошибка CRC NecRoMat Софт 5 09.05.2012 01:29
Нехватка памяти Корчеватель Общие вопросы Delphi 0 17.10.2008 19:03
программа мониторинга обращения к дисковой подсистеме Vasya Софт 1 24.10.2007 21:20
Как перехватить обращения к принтеру? Classic Win Api 2 16.08.2007 11:07
ошибка памяти. UMmi Общие вопросы Delphi 3 23.11.2006 07:06