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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2009, 11:28   #1
Rio309
Форумчанин
 
Регистрация: 06.02.2008
Сообщений: 140
По умолчанию

Почему то при коде
Код:
 for i:=1 to 4 do
  for j:=1 to 10 do
   updmod[i,j]:=model[i,j];
i и j идет не от 1 до 4х, а от 4х до 1.
Это во всех подобных циклах программы.

Нашел одно решение, сделать переменные i и j не локальными, а Глобальными, но мне такое не подходит .

Последний раз редактировалось Stilet; 05.10.2009 в 10:56.
Rio309 вне форума Ответить с цитированием
Старый 04.10.2009, 12:23   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Приведи полный текст процедуры
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 04.10.2009, 12:48   #3
Rio309
Форумчанин
 
Регистрация: 06.02.2008
Сообщений: 140
По умолчанию

там слишком болшая процедура, но такой глюк во всех процедурах, вот процедура поменьше:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var i,j:integer;
begin
 for i:=1 to 4 do
  for j:=1 to 9 do
  begin
   model[i,j]:=0;
   updmod[i,j]:=0;
   mov[i,j]:=0;
   rot[i,j]:=0;
   end;
end;
Теперь вообще странно, не во всех процедурах такое.
Как то оно вообще бредово стало, например есть в уже приведенном коде:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var i,j:integer;
begin
 for i:=1 to 4 do
  for j:=1 to 9 do
  begin
   model[i,j]:=0;
   updmod[i,j]:=0;
   mov[i,j]:=0;
   rot[i,j]:=0;
   end;
end;
изменить то к чему присваивается, то идет все нормально:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var i,j:integer;
begin
 for i:=1 to 4 do
  for j:=1 to 9 do
  begin
   model[i,j]:=i;
   updmod[i,j]:=j;
   mov[i,j]:=0;
   rot[i,j]:=0;
   end;
end;

Последний раз редактировалось Stilet; 05.10.2009 в 10:57.
Rio309 вне форума Ответить с цитированием
Старый 05.10.2009, 15:40   #4
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Это не глюк, а оптимизация, и никаким образом не влияет на работу программы. Для морального удовлетворения при отладке можно использовать {$O-} в начале для отключения оптимизации.
Somebody вне форума Ответить с цитированием
Старый 05.10.2009, 15:44   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

иногда компилятору "удобнее" сделать как ему нравиться...
вот именно, оптимизация

а вообще, разве это влияет на ваш результат?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос о циклах alexsamurai Microsoft Office Excel 9 10.01.2009 13:25
Глюк TICQClient v1.33 Alter Общие вопросы Delphi 2 06.08.2008 18:36
Глюк из-за скина Altera Свободное общение 5 11.05.2008 07:01
Прикольный глюк !!! merax Софт 3 18.02.2008 16:14
Глюк )) theos О форуме и сайтах клуба 9 08.01.2008 17:44