Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.22;
Скачать: CL | DM;

Вниз

переменная баг d7?   Найти похожие ветки 

 
cossak ©   (2007-06-23 20:02) [0]

обучаюсь дельфи поставил д7
на голой форме:label1-5.caption:= inttostr(q-y);и кнопку
на клик
var q,w,e,r,t,y:integer;
begin
label1..5(q..y)
первые две переменные не 0 с перезагрузкой д7 они разные.
т.е qw<>0 остальные 0
меняю местами var тоже самое первые две не 0 что захрень
ty<> не 0 ост. 0
почему?
может в настройках чего нить?


 
cossak ©   (2007-06-23 20:11) [1]

точнее наврал насчет перезагрузки сорри.
первая =4376880
вторая = 1243624
Может поможет.


 
Virgo_Style ©   (2007-06-23 20:14) [2]

насколько я смог разобраться в этом потоке слов, переменные не инициализируются


 
Плохиш ©   (2007-06-23 20:19) [3]

Детский сад на выезде, вернее, заезде на делфимастер...


 
Юрий Зотов ©   (2007-06-23 20:50) [4]

> cossak ©   (23.06.07 20:02)

Это не баг, так и должно быть. С чего Вы решили, что переменная обязана быть равной нулю?


 
Инс ©   (2007-06-23 21:00) [5]

Нулями инициализируются только переменные автоматически финализируемых типов - длинные строки, динамические массивы, интерфейсы.


 
Инс ©   (2007-06-23 21:10) [6]

С ассемблером знакомы? Чтобы понимать, почему так получается, что локальные переменные при входе в подпрограмму содержат мусор, нужно знать, что представляют собой локальные переменные и как они создаются. А происходит это вот как: локальные переменные живут в стеке. При входе в подпрограмму, указатель вершины стека смещается на величину, равную размеру блока локальных переменных. При этом тот мусор, что был в стеке до этого и становится содержимым локальных переменных. Для автоматически финализируемых типов, компилятор специально вставляет в пролог подпрограммы код инициализации, а в эпилог - код финализации. Вы все это можете увидеть сами. Поставьте брейкпоинт в начале подпрограммы, нажмите Ctrl+Alt+C и посмотрите какой код сгенерировал компилятор.


 
oxffff ©   (2007-06-23 21:55) [7]


> Инс ©   (23.06.07 21:00) [5]
> Нулями инициализируются только переменные автоматически
> финализируемых типов - длинные строки, динамические массивы,
>  интерфейсы.


Varaint забыл


 
Юрий Зотов ©   (2007-06-24 11:41) [8]

> Инс ©   (23.06.07 21:00) [5]

Еще глобальные переменные и поля классов.


 
Инс ©   (2007-06-24 11:46) [9]


> Еще глобальные переменные и поля классов.


Да, только они никакого отношения к стеку не имеют. А вот про Variant верное замечание.


 
Правильный Вася   (2007-06-25 11:31) [10]


> label1-5.caption:= inttostr(q-y);

а это вообще компилируется?


 
Инс ©   (2007-06-25 11:34) [11]


> а это вообще компилируется?


А должно? Купите себе любую книжку для новичков по Delphi или Turbo Pascal. А то на такие вопросы даже как-то неудобно отвечать.


 
Правильный Вася   (2007-06-25 12:08) [12]

> Инс ©   (25.06.07 11:34) [11]
ты ошибся адресом в наезде
этот вопрос был автору, который в [0] чево-то там привел, похожее на код


 
Инс ©   (2007-06-25 12:58) [13]


> ты ошибся адресом в наезде


Виноват, счет тебя автором ;) Звиняй...


 
Anatoly Podgoretsky ©   (2007-06-25 13:00) [14]

Автор давно исчез, рыдает.



Страницы: 1 вся ветка

Текущий архив: 2007.07.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.032 c
2-1182915878
Lebedev
2007-06-27 07:44
2007.07.22
Как циклом перебрать все компоненты одного рода?


15-1182256685
DelphiN!
2007-06-19 16:38
2007.07.22
Как востановить удаленные данные из таблицы FireBird 1.5??


1-1179238940
Смецкая Катя
2007-05-15 18:22
2007.07.22
TreeView


9-1142786016
Mortem
2006-03-19 19:33
2007.07.22
Конкурсы по программированию игр на Delphi продолжаются


15-1182701773
Kostafey
2007-06-24 20:16
2007.07.22
С днем рождения ! 24 июня