![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Немогу понять что от меня хочет компилятор. Не работает код:
Код:
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; Так же во время Trace в WATCHES на переменные I, C, X пишет "Variable '_' inaccessible here due to optimization" Последний раз редактировалось Gad99, 24.02.2008 в 13:14. |
|
#2
|
|||
|
|||
|
Вот ламер долбаный
, проблему решил отключением опции "Optimization" в Project/Option/вкладка "Compiler" там на панели "Code generation"Может кому пригодится ![]() |
|
#3
|
|||
|
|||
|
Компилятор не видит эти строки, потому что он их удалил. Вы назначаете значения переменным, но нигде в процедуре их не используете. То есть, с точки зрения программы, что есть они, что нет - одинаково. Вот компилятор их и удаляет за ненадобностью.
При отключении оптимизации эти строки остаются, поэтому переменные становятся видимыми для отладчика. |