|
Вопрос # 2 910/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
суть проблемы такова.
Создал базу.Все работало.
Сегодня редактирую программу, добавляю переменные в процедуры - var i:real;
присваиваю к ним новые значения - i:=5;
Но компилятор их не видит, значение не присваивает.любые новые переменные игнорирует. в тупике.
вчера использовал setkey для поиска по таблице, может в этом суть? как исправить, подскажите
 |
Вопрос задал: dexter (статус: Посетитель)
Вопрос отправлен: 14 июня 2009, 10:30
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 20; последнее сообщение — 14 июня 2009, 14:44; участников в обсуждении: 5.
|
min@y™ (статус: Доктор наук), 14 июня 2009, 10:51 [#1]:
Точку останова поставь и посмотри, доходит туда исполнение или нет.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
dexter (статус: Посетитель), 14 июня 2009, 10:57 [#2]:
ставил точку. просто пролетает мимо, как будто этой записи нету. watch'ром смотрю за изменениями в переменных, старые переменные обрабатываются, новые нет, что делать?
|
|
dexter (статус: Посетитель), 14 июня 2009, 11:00 [#3]:
дело в том что теперь это происходит со всеми программами что я напсал, нигде не могу добавить переменные
|
|
min@y™ (статус: Доктор наук), 14 июня 2009, 11:15 [#4]:
Скопируй всю папку с проектом в другое место, открой и нажми Build. Посмотрим, что получится.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
dexter (статус: Посетитель), 14 июня 2009, 11:23 [#5]:
зделал, бестолку, тоже самое
|
|
dexter (статус: Посетитель), 14 июня 2009, 11:24 [#6]:
не присваивает переменной значение, Delphi 7 у меня.
вчера я использовал SetKey для поиска данных в таблице, может тут проблема?
|
|
min@y™ (статус: Доктор наук), 14 июня 2009, 11:41 [#7]:
Похоже, используется старая версия модуля. А вот где он находится - тебе видней.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
DNK (статус: Студент), 14 июня 2009, 11:49 [#8]:
Было такое раз. Компилятор отслеживает переменные, которые не используются в дальнейшем коде и выбрасыевает такого вида простейшие операторы. Посмотри, нет нотиса по этому поводу.
"Digital Networked Knight"
|
|
dexter (статус: Посетитель), 14 июня 2009, 11:58 [#9]:
спасиба, вроде помогает отключение оптимизатора компилятора.
только понять не могу откуда в опциях появилась оптимизация.
|
|
min@y™ (статус: Доктор наук), 14 июня 2009, 12:01 [#10]:
Цитата:
откуда в опциях появилась оптимизация
Она там была ВСЕГДА!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Dron (статус: Студент), 14 июня 2009, 12:01 [#11]:
Она там всегда была и по умолчанию включена.
С уважением.
|
|
dexter (статус: Посетитель), 14 июня 2009, 12:17 [#12]:
согласен что она по умолчанию включена.
я диплом начал писать в феврале. написал. все работало.
сегодня включаю,еще раз тестю, решил добавить новые переменные для контроля, а компилятор их игнорировать начал. причем во всех моих программах.но игнорировал только новые переменные. я в шоке, сижу туплю.
|
|
dexter (статус: Посетитель), 14 июня 2009, 12:19 [#13]:
в опции ниразу не заглядывал, до сегодняшнего дня и если чесно считаю что отключать оптимизацию компилятора нельзя, но другого пути не вижу.
|
|
min@y™ (статус: Доктор наук), 14 июня 2009, 12:21 [#14]:
А хинты про бесполезные присваивания не вылазят, случайно?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
dexter (статус: Посетитель), 14 июня 2009, 12:36 [#15]:
да хинты были всегда, я видел не используемые переменные.
а эти переменные я использую, в них храню информацию.
в голове не укладывается почему компилятор их считает не используемыми.
|
|
DNK (статус: Студент), 14 июня 2009, 12:53 [#16]:
Главный критерий, чтобы хранимая информация использовалась в дальнейшем.
"Digital Networked Knight"
|
|
dexter (статус: Посетитель), 14 июня 2009, 13:10 [#17]:
естественно, использую я ее, без нее у меня алгоритм не пашет.
|
|
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 (статус: Посетитель), 14 июня 2009, 14:44 [#20]:
сейчас работает, спасибо.
лечил так. вырубил оптимизатор компилятора.откомпилировал.
за тем вновь включил оптимизатор. теперь дельфя вновь видит все новые добавляемые переменные. и оптимизирует. незнаю что уж за баг такой у меня, но напугал и напряг изрядно.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|