Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.02.2008, 12:02
Gad99 Gad99 вне форума
Новичок
 
Регистрация: 21.02.2008
Адрес: мурманск
Сообщения: 72
Репутация: 10
По умолчанию Variable 'x' inaccessible here due to optimization

Немогу понять что от меня хочет компилятор. Не работает код:
Код:
procedure TForm2.Image3Click(Sender: TObject);
Type Ank = record
    FIO : array [1..3] of string[15];
    Login1 : string[8];
    Pass : string[8];
    foto : string[15];
    End;
    pass1 = 'a'..'z';
Var Anketa : Ank;
i, x : integer;
c : char;
begin
  with Anketa do
  Begin
  FIO[1] := Name1.Text;
  FIO[2] := Name2.Text;
  FIO[3] := Name3.Text;
  Login1 := Login.Text;
  For i:= 1 to length(pas) do
    Begin
    c := pas[i];  // а конкретнее вот эти 2 строки, компилятор просто 
    x := ord(c); // их не видит.
    End;
  Pass := Pas;
  End;
end; 
Еще пишет что переменные X, C не используются, как так ???
Так же во время Trace в WATCHES на переменные I, C, X пишет "Variable '_' inaccessible here due to optimization"

Последний раз редактировалось Gad99, 24.02.2008 в 13:14.
Ответить с цитированием
  #2  
Старый 24.02.2008, 14:32
Gad99 Gad99 вне форума
Новичок
 
Регистрация: 21.02.2008
Адрес: мурманск
Сообщения: 72
Репутация: 10
Хорошо

Вот ламер долбаный , проблему решил отключением опции "Optimization" в Project/Option/вкладка "Compiler" там на панели "Code generation"
Может кому пригодится
Ответить с цитированием
  #3  
Старый 25.02.2008, 10:50
Rosenkrantz Rosenkrantz вне форума
Активный
 
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
По умолчанию

Компилятор не видит эти строки, потому что он их удалил. Вы назначаете значения переменным, но нигде в процедуре их не используете. То есть, с точки зрения программы, что есть они, что нет - одинаково. Вот компилятор их и удаляет за ненадобностью.

При отключении оптимизации эти строки остаются, поэтому переменные становятся видимыми для отладчика.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:59.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter