Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 910

/ вопрос открыт /

Приветствую, уважаемые эксперты!
суть проблемы такова.
Создал базу.Все работало.
Сегодня редактирую программу, добавляю переменные в процедуры - var i:real;
присваиваю к ним новые значения - i:=5;
Но компилятор их не видит, значение не присваивает.любые новые переменные игнорирует. в тупике.
вчера использовал setkey для поиска по таблице, может в этом суть? как исправить, подскажите

dexter Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: dexter (статус: Посетитель)
Вопрос отправлен: 14 июня 2009, 10:30
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 20; последнее сообщение — 14 июня 2009, 14:44; участников в обсуждении: 5.
min@y™

min@y™ (статус: Доктор наук), 14 июня 2009, 10:51 [#1]:

Точку останова поставь и посмотри, доходит туда исполнение или нет.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
dexter

dexter (статус: Посетитель), 14 июня 2009, 10:57 [#2]:

ставил точку. просто пролетает мимо, как будто этой записи нету. watch'ром смотрю за изменениями в переменных, старые переменные обрабатываются, новые нет, что делать?
dexter

dexter (статус: Посетитель), 14 июня 2009, 11:00 [#3]:

дело в том что теперь это происходит со всеми программами что я напсал, нигде не могу добавить переменные
min@y™

min@y™ (статус: Доктор наук), 14 июня 2009, 11:15 [#4]:

Скопируй всю папку с проектом в другое место, открой и нажми Build. Посмотрим, что получится.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
dexter

dexter (статус: Посетитель), 14 июня 2009, 11:23 [#5]:

зделал, бестолку, тоже самое
dexter

dexter (статус: Посетитель), 14 июня 2009, 11:24 [#6]:

не присваивает переменной значение, Delphi 7 у меня.
вчера я использовал SetKey для поиска данных в таблице, может тут проблема?
min@y™

min@y™ (статус: Доктор наук), 14 июня 2009, 11:41 [#7]:

Похоже, используется старая версия модуля. А вот где он находится - тебе видней.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
DNK

DNK (статус: Студент), 14 июня 2009, 11:49 [#8]:

Было такое раз. Компилятор отслеживает переменные, которые не используются в дальнейшем коде и выбрасыевает такого вида простейшие операторы. Посмотри, нет нотиса по этому поводу.
"Digital Networked Knight"
dexter

dexter (статус: Посетитель), 14 июня 2009, 11:58 [#9]:

спасиба, вроде помогает отключение оптимизатора компилятора.
только понять не могу откуда в опциях появилась оптимизация.
min@y™

min@y™ (статус: Доктор наук), 14 июня 2009, 12:01 [#10]:

Цитата:

откуда в опциях появилась оптимизация

Она там была ВСЕГДА!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Dron

Dron (статус: Студент), 14 июня 2009, 12:01 [#11]:

Она там всегда была и по умолчанию включена.
С уважением.
dexter

dexter (статус: Посетитель), 14 июня 2009, 12:17 [#12]:

согласен что она по умолчанию включена.
я диплом начал писать в феврале. написал. все работало.
сегодня включаю,еще раз тестю, решил добавить новые переменные для контроля, а компилятор их игнорировать начал. причем во всех моих программах.но игнорировал только новые переменные. я в шоке, сижу туплю.
dexter

dexter (статус: Посетитель), 14 июня 2009, 12:19 [#13]:

в опции ниразу не заглядывал, до сегодняшнего дня и если чесно считаю что отключать оптимизацию компилятора нельзя, но другого пути не вижу.
min@y™

min@y™ (статус: Доктор наук), 14 июня 2009, 12:21 [#14]:

А хинты про бесполезные присваивания не вылазят, случайно?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
dexter

dexter (статус: Посетитель), 14 июня 2009, 12:36 [#15]:

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

DNK (статус: Студент), 14 июня 2009, 12:53 [#16]:

Главный критерий, чтобы хранимая информация использовалась в дальнейшем.
"Digital Networked Knight"
dexter

dexter (статус: Посетитель), 14 июня 2009, 13:10 [#17]:

естественно, использую я ее, без нее у меня алгоритм не пашет.
min@y™

min@y™ (статус: Доктор наук), 14 июня 2009, 13:17 [#18]:

Давай код. Телепатия не прокатила.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Вадим К

Вадим К (статус: Академик), 14 июня 2009, 13:20 [#19]:

Основная идея неработоспособности в таких случаях - компилятор "забывает" компилировать код. И когда поменялась галочка в настройках компилятора, он был вынужден пересобрать проект.
Характерным признаком, по которому можно отследить эту ситуацию - это удалить exe файл с папки проекта и попробовать нажать F9. Делфи странно заругается, что нет что запускать - то есть не пересобирает исполнимый файл заново, а жалуется.
Лечение.
Закрыть делфи, зайти в папку проекта и удалить все dcu файлы. А также другие производные. В большинстве проектов, должно остаться только pas, dfm, dpr (для 2006 и старше ещё и dprproj), и res файлы. А ещё лучше вначале скопировать проект в отдельную папку (как резервную копию) и только потом начинать удалять. Но удалять не в новой папке. а в старой. Компилятор может запоминать прямые пути. и удаление dcu (это специальным образом скомпилированые pas файлы) могут браться по старому адресу...

Как такое могло случиться. Я знаю один способ, который иногда дает такое. Проект открывается в делфи, после чего системное время переводиться вперед, проект компилируется и время переводиться назад (некоторые кряки любят переводить время). В результате чего dcu файл получается скомпилирован в будущем...
Галочка "подтверждения прочтения" - вселенское зло.
dexter

dexter (статус: Посетитель), 14 июня 2009, 14:44 [#20]:

сейчас работает, спасибо.
лечил так. вырубил оптимизатор компилятора.откомпилировал.
за тем вновь включил оптимизатор. теперь дельфя вновь видит все новые добавляемые переменные. и оптимизирует. незнаю что уж за баг такой у меня, но напугал и напряг изрядно.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:54
Выполнено за 0.02 сек.