Форум: "Начинающим";
Текущий архив: 2013.05.05;
Скачать: [xml.tar.bz2];
Внизопции компилятора Найти похожие ветки
← →
vasa777 (2012-10-22 20:24) [0]есть некий проект, со своими опциями компилятора.
в проект добавляется мой модуль (и не только модуль, но еще и куски кое где в разные модули чужие). что нужно: можно ли в коде узнать, включена ли нпример деректива I ({I+}) и после выполнения моего куска кода вернуть этой дерективе то значение которое у нее было?
например
{тут определяем какое заначение у I}*
{I+} // делаем какое надо нам
// тут код
{тут возвращаем I значение взятое в *, если надо}
← →
AV © (2012-10-22 20:47) [1]function TForm1.GetI: Boolean;
begin
result := False;
{$IFOPT I+}
result := true;
{$ENDIF}
end;
насчет установить - наверное не получится. Придется писать код в двух версиях. ИМХО
← →
Германн © (2012-10-22 20:58) [2]
> но еще и куски кое где в разные модули чужие
Не делай так. Держи весь свой код в своем модуле. Тогда и проблем с опциями не будет.
← →
Плохиш © (2012-10-22 21:02) [3]
> насчет установить - наверное не получится.
Использовать define и undefine
← →
AV © (2012-10-22 21:02) [4]не, не работает :)
значит, только так
{$I+}
s := "---";
{$IFOPT I+}
s := "+++";
{$ENDIF}
ShowMessage(s);
{$I-}
s := "---";
{$IFOPT I+}
s := "+++";
{$ENDIF}
ShowMessage(s);
{$I+}
s := "---";
{$IFOPT I+}
s := "+++";
{$ENDIF}
ShowMessage(s);
← →
vasa777 (2012-10-22 21:41) [5]спасибо всем
← →
Dmitriy (2012-10-23 08:40) [6]
{$IFOPT I+}
{$DEFINE ION}
{$I-}
{$ENDIF}
//здесь ваш щастливый код
{$IFDEF ION}
{$I+}
{$UNDEF ION}
{$ENDIF}
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.05.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c