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

Вниз

Delphi пропускает строки кода при компиляции   Найти похожие ветки 

 
just ©   (2006-07-07 09:55) [0]

Добрый день.
 Не первый раз сталкиваюсь с ошибкой, Delphi пропускает строки кода при компиляции.
 Например:
begin
ModalResult:=mrOk;
exit;
end;
рядом с exit не ставится синяя точка, при выполнении форма не закрывается и при отладке строка пропускается :(
 Почему это происходит и как это вылечить?


 
PSPF2003 ©   (2006-07-07 10:04) [1]

А ты не чего не путаешь? А то обычно по напишут типа:

Begin
exit;
ModalResult:=mrOk;
end;

или в цикле

сначала пишут бряк а потом выполнение действия


 
DrPass ©   (2006-07-07 10:08) [2]


> Почему это происходит и как это вылечить?

Включен оптимизатор кода. На время отладки его стоит выключить (Project Options - Compiler - Optimization), и снова включить перед финальной сборкой


 
DrPass ©   (2006-07-07 10:09) [3]

Вдогонку:

> при выполнении форма не закрывается

Конкрентно это уже не связано с оптимизатором, а только с кривым кодом :)


 
ЮЮ ©   (2006-07-07 10:11) [4]

>рядом с exit не ставится синяя точка
На exit, ИМНО, она никогда не станет? Поставь на предыдущую.


 
Чапаев ©   (2006-07-07 10:23) [5]

exit там лишний. А вообще закрой проект, удали из его папки *.dsk и открой снова.


 
PSPF2003 ©   (2006-07-07 10:41) [6]


> exit там лишний. А вообще закрой проект, удали из его папки
> *.dsk и открой снова.

Ага удали проект, удали Делфи, и не суйся в программисты? :)


 
Desdechado ©   (2006-07-07 10:44) [7]

begin
ModalResult:=mrOk;
exit;
end;

Если это все содержимое процедуры, то exit смысла не имеет, о чем оптимизатор хорошо знает и выкидывает.


 
Чапаев ©   (2006-07-07 11:01) [8]


> > exit там лишний. А вообще закрой проект, удали из его
> папки
> > *.dsk и открой снова.
> Ага удали проект, удали Делфи, и не суйся в программисты?
>  :)

Зря хихикаешь. *.dsk таки обычно ответственны за неправильную расстановку "синих точек". Особенно часто такие пакости случаются при переносе проекта в другой каталог...


 
Суслик ©   (2006-07-10 02:30) [9]

отключи оптимизацию и сделай полный билд - может поможет.


 
just ©   (2006-07-11 07:03) [10]

отключение оптимизатора кода не помогло :(
почему вы считаете, что в процедуре не надо писать exit? как форма узнает, что ей надо закрыться?
кстати, когда-то это место нормально обрабатывалось...


 
KilkennyCat ©   (2006-07-11 07:09) [11]

> как форма узнает, что ей надо закрыться?

Этим и узнает:
ModalResult:=mrOk;

Вопрос абсолютно и полно и доходчиво и т.д. написан в справке Делфи...


 
just ©   (2006-07-11 07:35) [12]

всем спасибо. убрал exit. все работает!
но все равно, были ситуации когда такое было при определении переменных...


 
evvcom ©   (2006-07-11 08:31) [13]

> убрал exit. все работает!

что же у тебя не работало? exit в твоем коде ни на что не влиял. С ним не работало, а без него заработало? :)

> почему вы считаете, что в процедуре не надо писать exit?
> как форма узнает, что ей надо закрыться?

в этой не надо, где-то в другой, возможно, и надо. Но exit говорит не о том, что форма должна закрыться, а том, что здесь пора выходить из процедуры/функции. Exit - это конструкция языка и работает в любом методе/процедуре/функции не зависимо от принадлежности к классу формы. А для закрытия формы есть метод класса Close, как ни странно.


 
IceBeerg ©   (2006-07-11 13:52) [14]

evvcom ©   (11.07.06 8:31) [13]
А для закрытия формы есть метод класса Close, как ни странно.

Но тут наверное всеже стоит использовать Hide, если конечно форма после не уничтожается и еще используется.


 
Плохиш ©   (2006-07-11 13:57) [15]


> А для закрытия формы есть метод класса Close, как ни странно.

Явный вызов Close для модальной формы устанавливает свойство ModalResult в mrCancel. Это так предупреждение ;-)


 
Суслик ©   (2006-07-11 22:15) [16]

вот еще один недовольный оптимизатором http://qc.borland.com/wc/qcmain.aspx?d=29160

:)



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

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

Наверх




Память: 0.5 MB
Время: 0.048 c
11-1131961137
homm
2005-11-14 12:38
2006.08.27
OwnerDrawVariable и MeasureItem в ListBox


1-1152796491
KygECHuK
2006-07-13 17:14
2006.08.27
Разграничение доступа


1-1152825347
DevilDevil
2006-07-14 01:15
2006.08.27
Условная Компиляция


2-1154950983
van_der_alex
2006-08-07 15:43
2006.08.27
простые вопросы по dataset


2-1155146708
Hgr
2006-08-09 22:05
2006.08.27
Текст письма