Вверх ↑
Ответов: 211
Рейтинг: 52
#1: 2015-03-24 02:16:35 ЛС | профиль | цитата
Привет всем, привет flint2, студия управляет условной компиляцией глобально(сервис->компиляторы->командной строка) и посредством файла def.inc
Последний экспортирует только _DEBUG_,_DEBUG_MAIL_,_PROTECT_STD_,_PROTECT_MAX_,_ERROR_STD_,_ERROR_MAX_.
Остальное только вручную, так в KOL, это файлы KOLDEF.inc и delphidef.inc
Если ваш элемент будет использовать ANSI/wide в зависимости от типа визуальной формы NON/UNICODE, то используйте ifdef UNICODE_CTRLS для разграничения кода.
В остальных случаях, непосредственно в поле класса можно использовать флаг вроде _prop_Mode:byte; и соответствующее ему определение в ini элемента:Mode=|4|0|ANSIString,WideString. Так же необходим указатель типа "pointer" в поле класса для хранения указателя на строку.
В последствии приводить его к pAnsiChar или pWideChar в зависимости от состояния флага _prop_Mode. Это как вариант,
или писать 2 компонента
Да, и в Delphi2009 и выше string = WideString a char = WideChar если иное не определено
карма: 1
слтв
1
Голосовали:sla8a