Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Может кто-нибудь знает что происходит   Найти похожие ветки 

 
paxpet   (2010-04-14 10:29) [0]

с моим Delphi 2010 (или может это я уже сам трёхнулся от перенапряжения, или что-то нажал и теперь не пойму что)?
До поры до времени всё было хорошо. Методично и благополучно осваивал Делфи.
И вдруг  во время отладки замечаю, что отладчик (при нажатии F8)  игнорирует переменные типа integer и byte. То есть просто перескакивает эти строки и когда ставишь на этих строках точку входа для отладчика, то он считает её ошибочной. При этом всё остальное он видит (в том числе и строковые переменные). Я пытался найти причину  в настройках, но ничего не нашёл. Тогда переустановил Делфи с подчисткой в реестре и в файлах. И опять не помогло. Я уже думаю, может так и должно быть? Но ведь помню, что ещё пару дней назад такой гадости не было! А-а, друзья мои! Помогите не попасть в дурдом с нервным растройством. Только не надо критиковать, а то у меня итак плохое настроение...


 
И. Павел ©   (2010-04-14 10:40) [1]

Может быть код оптимизирует?


 
paxpet   (2010-04-14 10:47) [2]

Павлу!
А как такую оптимизацию отключить?


 
И. Павел ©   (2010-04-14 10:51) [3]

Где-то в свойствах проекта. В Delphi7 это compiler->code generation->optimization.


 
И. Павел ©   (2010-04-14 10:54) [4]

Еще можно добавить в начале отлаживаемого файла:
{$OPTIMIZATION OFF}


 
Amoeba_   (2010-04-14 11:22) [5]


> {$OPTIMIZATION OFF}

То же самое, но короче:
{$O-}


 
tesseract ©   (2010-04-14 12:13) [6]


> А-а, друзья мои! Помогите не попасть в дурдом с нервным
> растройством.


А ты уверен, что эти переменные в коде используются? Оптимизатор их выкинул и всё. Например, если как счетчики используются.


 
Дмитрий Белькевич   (2010-04-14 12:21) [7]

Блоки "with" не встречаются по коду случайно?


 
Плохиш ©   (2010-04-14 12:24) [8]

... и начали расчехлять телепаторы ...


 
Anatoly Podgoretsky ©   (2010-04-14 12:30) [9]

> tesseract  (14.04.2010 12:13:06)  [6]

Действительно, не все ли равно, если программа правильно работает.


 
brother ©   (2010-04-14 13:03) [10]

> когда ставишь на этих строках точку входа для отладчика,
> то он считает её ошибочной

или игнорируемой?


 
Дмитрий Белькевич   (2010-04-14 15:32) [11]


>  То есть просто перескакивает эти строки и когда ставишь
> на этих строках точку входа для отладчика, то он считает
> её ошибочной


Увидел. Не with. Телепатор не сработал :) Скорее всего оптимизация.


 
paxpet   (2010-04-14 17:18) [12]

Всем посочувствовавшим большое спасибо!
Да, тут что-то с оптимизацией!
Ну я уже свой проект отложил и просто в качестве теста делал элементарные вещи: объявлял в кнопке 2-3 переменные и в её блоке (Begin-End) просто присваивал им значения.
По вашему совету я в начале модуля поставил {$O-}.... И всё заработало! Когда убрал эту функцию, опять начились пропуски переменных.
Но ведь раньше {$O-} я не применял и всё работало без проблем!
Я попробовал по вашему совету отключить оптимизацию в настройках.
То есть нажал ПКМ на проект. Затем Options>Compilling>Optimization= false.
Но это не действует!
Что же мне теперь каждый раз вручную вводить {$O-}.
Согласитесь, это как-то странно?


 
Германн ©   (2010-04-14 17:29) [13]


> Согласитесь, это как-то странно?
>

Не соглашусь. Если переменную удаляет оптимизатор, значит переменная для работы алгоритма не нужна.


 
paxpet   (2010-04-14 17:41) [14]

Видимо вы правы.
Пора мне пойти расслабиться.
Иногда полезно делать перерывы.
Спасибо за ваши советы. Они мне очень помогли.


 
AlexDan ©   (2010-04-16 03:04) [15]

> paxpet   (14.04.10 17:18) [12]
> Но это не действует!
> Что же мне теперь каждый раз вручную вводить {$O-}.
> Согласитесь, это как-то странно?
однозначно дело в программе.. или обьявлнные переменные не используются, или неправильно построенные блоки (наверняка информация о переменных будет выводится в отладке, но компилироваться будет без проблем).. такая маячня обычно происходит при использовании глобальных переменных. такие вещи хорошо в D7 видны, в D10 действительно сложно увидеть/понять что-то)..


 
AlexDan ©   (2010-04-16 03:34) [16]

Даже точнее могу сказать - переменная описна, используется в расчетах но потом не прибавляется отнимается к какому либо дальнейшему результату и никуда не выводится /печать,эдит и т.п./ соответственно компиллятором отсекается и игнорируется.. можно было делфи не мучать..).


 
Германн ©   (2010-04-16 04:53) [17]

Удалено модератором


 
Лукошко   (2010-04-16 11:23) [18]

Удалено модератором


 
MonoLife ©   (2010-04-16 17:16) [19]


> AlexDan ©   (16.04.10 03:34) [16]

или где-то используется break, exit..


 
Кто б сомневался ©   (2010-04-17 17:36) [20]

Скинь код на котором оптимизирует компилятор. Ты что-то там намудрил. Все дело в тебе.



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

Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.063 c
15-1267104405
GDI+
2010-02-25 16:26
2010.08.27
Вопрос знатокам ассеблера и современных процессоров


15-1274351097
vlgrig1961
2010-05-20 14:24
2010.08.27
QReport печатает четные страницы???


2-1272391252
romario
2010-04-27 22:00
2010.08.27
Сохранение файла на диск


11-1221682651
siealex
2008-09-18 00:17
2010.08.27
KOL и Windows Mobile


2-1271606644
tippa
2010-04-18 20:04
2010.08.27
сравнение числа с маской





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский