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

Вниз

Почему выполняются не все команды?   Найти похожие ветки 

 
Юлия   (2003-08-25 09:36) [0]

var
p:ttreenode;
m:integer;
begin

..
p:=t.data;
m:=p^;

Проверяю дебаггером: доходит до строчки "p:=...", в p заносится значение, на следующую строчку дебаггер не попадает, в m остается прежнее значение. Почему так? И как этого избежать?


 
Song ©   (2003-08-25 09:38) [1]

Это работа оптимизатора. Действительно, ему не надо переходить на строчку с m, так значение m компилятор вычислит на строчке с p.


 
Юлия   (2003-08-25 09:44) [2]

Так значение в m не меняется!


 
Song ©   (2003-08-25 09:45) [3]

Это как ты поняла?


 
Юлия   (2003-08-25 09:49) [4]

В watch list.
Значения p^ и m не совпадают.


 
Song ©   (2003-08-25 09:51) [5]

А должны? ;)


 
Юлия   (2003-08-25 09:53) [6]

То есть как? Стоит оператор присваивания...


 
Bel ©   (2003-08-25 09:55) [7]

А что такое "t"? Если это TTreeNode и тебе надо из его поля Data вытащить целое число, то это делается так:

m := Integer(t.Data);


 
Song ©   (2003-08-25 09:57) [8]

А вот это - "^" для чего думаешь?
И вообще, если p с типом TTreeNode как ты можешь присваивать свойствo Data? У меня подозрение, что тии TTreeNode должен быть у t, а у p - Pointer


 
Palladin ©   (2003-08-25 09:57) [9]

p это ttreenode, очень интересная концепция...
ты уверена что это вообще компилируется?
и что такое t?


 
Palladin ©   (2003-08-25 09:59) [10]


> Юлия (25.08.03 09:53) [6]

У меня к вам просьба, давайте сначала подружимся с Паскалем, а потом будем дружить с Делфи. Хорошо?


 
Юлия   (2003-08-25 10:00) [11]

Все равно остается старое значение!!! Не попадает на нужную строчку!


 
Юлия   (2003-08-25 10:01) [12]

Извиняюсь:
p:^integer;


 
Anatoly Podgoretsky ©   (2003-08-25 10:04) [13]

Или m не используется или при выполненни p:=t.data; происходит ошика, которая где ни будь скрыто подавлена


 
Digitman ©   (2003-08-25 10:06) [14]

p:=t.data;
m:=p^;
showmessage(m);

и все будет "попадать" куда надо)


 
Song ©   (2003-08-25 10:11) [15]

2Digitman © (25.08.03 10:06) [
А m у тебя какого типа? :)


 
Palladin ©   (2003-08-25 10:12) [16]

"Все смешалось в доме Оболонских"


 
Digitman ©   (2003-08-25 10:16) [17]


> Song


вах-вах-вах ! позор на мою седую лысину)

для полного ажура :
showmessage(IntToStr(m));

дотумкать до этого, конечно же, сложно)


 
Юлия   (2003-08-25 10:17) [18]

m:integer;

Спасибо большое, заработало.
p:=t.Data;
m:=p^;
m:=m+1;
m:=m-1;
В таком виде все определяется правильно.



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

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

Наверх




Память: 0.5 MB
Время: 0.021 c
14-10927
KosilkA
2003-08-17 14:17
2003.09.04
pchar


1-10754
Vinter
2003-08-25 07:55
2003.09.04
Qreport и delphi7


1-10798
dnv-nik
2003-08-22 10:41
2003.09.04
Потоки


4-11013
Nick Denry
2003-07-05 20:49
2003.09.04
9x и wm_devicechange. в SDK написано -нет такой мессаги в 9x


3-10633
Riko
2003-08-05 11:01
2003.09.04
Как реализовать неперекрываемость данных?