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

Вниз

{$IFDEF} и Delphi2007   Найти похожие ветки 

 
Enlight   (2009-04-03 12:09) [0]

Доброго времени суток.
Прошу помощи в решении следующей проблемы:
1. есть .inc файл HZ.INC в нем имеем
...
{$DEFINE USE_DX7}
...


2. Имеем некий модуль:
unit CBContractFrm;

interface
{$I HZ.INC}

uses
 Windows, Messages, SysUtils, {$IFDEF Delphi6} Variants, {$ENDIF} Classes,
 Graphics, Controls, Forms, Dialogs, SrGrdForm, SrSuccessors, Menus,
 SrAction, ActnList, DBActns, ImgList, Grids, SrFilterGrid, StdCtrls, Mask,
 ComCtrls, ExtCtrls, SrToolBar, ToolWin, DBGrids, RXDBCtrl, SrDBGrid, SrDBCtrl,
 SrDateEdit,
 {$IFDEF USE_DX7}
 cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar,
 {$ELSE}
 dxDateEdit,
 {$ENDIF} CBContractData, cxControls, cxContainer, cxEdit, cxTextEdit,
 cxMaskEdit, cxDropDownEdit, cxCalendar
;
...


Как видим, юниты в конце выделенные, добавлены Делфой автоматически, если их удалить, то по сохранению Делфи их опять же автоматом допишет (не смотря на наличие дефайна USE_DX7 в инк файле). А при компиляции есстественно ругаеться E2004 Identifier redeclared: ... на каждый из сдублированных юнитов. Лечиться легко если в начале юнита после {$I HZ.INC} дописать {$DEFINE USE_DX7}. Но ведь именно для того я этот дефайн писал в .инк файле, что бы потом всюду его не писать.
Каким образом лечиться (без {$DEFINE USE_DX7} в каждом юните), если кто встречал?


 
Медвежонок Пятачок ©   (2009-04-03 12:34) [1]

project->options


 
Медвежонок Пятачок ©   (2009-04-03 12:46) [2]

а вообще блок кривой.
по любой ветке ифдефа список юзез не закрыт, потому и дописывает.


 
Enlight   (2009-04-03 12:46) [3]


> project->options

Очень остро. А что за галочка? У меня данный эфект появился только на D2007, на пятерке и семерке никогда не было. При тех же галочках, новых касательно данного момента я в 2007 не увидел


 
Enlight   (2009-04-03 12:48) [4]


> по любой ветке ифдефа список юзез не закрыт

Что значит список не закрыт? Я ифедфов могу пихать хоть тысячи на каждый юнит и строку. В том то и смысл условного компилирования.


 
Игорь Шевченко ©   (2009-04-03 13:13) [5]


> Каким образом лечиться (без {$DEFINE USE_DX7} в каждом юните),
>  если кто встречал?


Сталкивался с таким поведением, вылечить не смог, поэтому формировал нужный uses (c ifdef) после завершения работы в дизайн-тайме.


 
Игорь Шевченко ©   (2009-04-03 13:14) [6]

причина - дизайнеру надо как-то работать


 
Медвежонок Пятачок ©   (2009-04-03 14:07) [7]

Очень остро. А что за галочка?

Там кроме галочек и белочек есть еще кнопочка "Help"


 
Enlight   (2009-04-03 14:13) [8]

: Медвежонок Пятачок
Я так понимаю, что в вопросе вы не ориентируетесь. Не пишите больше, пожалуйста.


 
Enlight   (2009-04-03 14:15) [9]


> Игорь Шевченко
> причина - дизайнеру надо как-то работать

Но ведь в 5 и 7 версии дизайнер работал, и без данного глюка. При чем как показала практика, данный глюк имеем только с юнитами, в которых визуальные использованные компоненты. С юнитами, в которых классы и невизуальные компненты такого не происходит)


 
Enlight   (2009-04-03 14:19) [10]


> Медвежонок Пятачок
> Там кроме галочек и белочек есть еще кнопочка "Help"

Вы вообще окно, которое посоветовали видели, и какие настройки в нем? Я бы еще понял если бы сказали Tools -> Options, но в опциях проэкта...


 
Anatoly Podgoretsky ©   (2009-04-03 14:27) [11]


> Не пишите больше, пожалуйста.

Хорошо



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
15-1236699497
Кое кто
2009-03-10 18:38
2009.05.17
Включить "Администратор"


2-1238564131
Руслан
2009-04-01 09:35
2009.05.17
update


3-1220613409
Razrab7
2008-09-05 15:16
2009.05.17
Вопрос по работе с ADOStoredProc для СУБД Oracle


4-1209915823
тимохов
2008-05-04 19:43
2009.05.17
InvalidateRect + потоки


15-1237111075
Немо2
2009-03-15 12:57
2009.05.17
Что бы придумать, что бы не ездить на работу?