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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2007, 15:02   #1
klerk
 
Регистрация: 30.10.2007
Сообщений: 5
По умолчанию Не показывает значения элементов массивов при отладке

почему не показывает значения элементов массивов в окне Watch в Delphi 7 ? Например пишу так Ar[0].
Ставлю галочку Allow Function Calls, не помогает. Не показывает значение. Поле Value пустое.
klerk вне форума Ответить с цитированием
Старый 31.10.2007, 16:09   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

а ты уверен, что в Ar[0] есть что-то? напиши код, где ты это делаешь
Hollander вне форума Ответить с цитированием
Старый 31.10.2007, 17:54   #3
klerk
 
Регистрация: 30.10.2007
Сообщений: 5
По умолчанию

к примеру вот такая функция.

procedure MyProc();
var
A: OleVariant;
begin
A := VarArrayCreate([0, 2], varDouble);
A[0] := 3;
A[1] := 4;
A[2] := 5;
showmessage(FloatToStr(A[1]));
end;

showmessage естественно показывает, а Watch ничего не показывает.
klerk вне форума Ответить с цитированием
Старый 31.10.2007, 21:21   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Watch ничего не показывает
А как он может показать несуществующую Ar ?
Кроме того, в Watch вставляйте FloatToStr(A[1]) и будет вам счастье...

Последний раз редактировалось mihali4; 01.11.2007 в 11:53.
mihali4 вне форума Ответить с цитированием
Старый 01.11.2007, 08:12   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Я бы даже по другому сказал. Откуда компилятор знает что это массив ? klerk, изучайте внимательней работу с вариантными типами, незря же они наверно называются "неопределенными"
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 01.11.2007, 09:56   #6
klerk
 
Регистрация: 30.10.2007
Сообщений: 5
По умолчанию

Во первых я просто в первом примере указал Ar[0]. А во втором A[0]. Я не ошибся.

Во вторых. Я до этого писал программки на VBA. Там при отладке значения динамических массивов просматриваются бех проблем.
klerk вне форума Ответить с цитированием
Старый 01.11.2007, 10:02   #7
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Это не совсем динамический массив в его понимании в аспекте delphi
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 01.11.2007, 14:30   #8
klerk
 
Регистрация: 30.10.2007
Сообщений: 5
По умолчанию

как же тогда работать с такими массивами?
Потому что мне в работе нужны именно такие массивы. Либо предложите альтернативу.
klerk вне форума Ответить с цитированием
Старый 01.11.2007, 15:29   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Кстати, а вы в курсе, что использовать Watch вовсе не обязательно?
Коль скоро вы сделали точку останова, то можете просмотреть значение любой явно заданной переменной простым наведением на нее курсора мышки в тексте программы...
mihali4 вне форума Ответить с цитированием
Старый 01.11.2007, 15:40   #10
klerk
 
Регистрация: 30.10.2007
Сообщений: 5
По умолчанию

да знаю про наведение курсора.


попробовал сделать обычный массив.

var
MyArray: array[0..100] of Double;
begin
MyArray[0] := 15;
MyArray[1] := 17;

показывает значения элементов массива MyArray через Watch.

Плохо, что нельзя variant-ные массивы просматривать через Watch. Пока что нашел выход через Showmessage просматривать значения таких массивов.

Кстати Floattostr(A[1]) для вариантного массива в окошке Watch не помогает. Всё равно ничего не показывает.
klerk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IE не показывает блок :( PVasili HTML и CSS 12 25.08.2008 02:19
for z:=1 to 5 do Смотрю watch показывает декремент ... dx+ Общие вопросы Delphi 3 24.05.2008 17:47
Требуется помощь в отладке проги ddd0000 Фриланс 21 26.03.2008 17:41
количество элементов матрицы, больших среднего арифмитического всех её элементов finch Помощь студентам 3 27.08.2007 15:48
Код SUIPack мешает отладке проги по F7 malor Компоненты Delphi 1 11.07.2007 12:09