Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник
Коллекция курьезных вопросов из форумов
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Глюк при установке пакета / Delphi 10.4 Sydney


ParanoiS ©   (07.03.22 12:05

Странное поведение компилятора Сидней (ветка KOLDEF CompilerVersion>24):


unit KOL;
...
type
 KOLString = AnsiString;         // <-------------------
        KOL_String = type AnsiString;
 KOLChar = type AnsiChar;
 PKOLChar = PAnsiChar;         // <-------------------  
        PKOL_Char = type PAnsiChar;


сюда приходит по Ctrl+Click KOLString, PKOLChar


unit KOLBAPTrayIcon;

interface
...
type
 PNotifyIconDataA = ^TNotifyIconDataA;
 PNotifyIconDataW = ^TNotifyIconDataW;
 _NOTIFYICONDATAA = record
   ...
   szTip: array [0..127] of AnsiChar;
   ...
 end;

 _NOTIFYICONDATAW = record
   ...
   szTip: array [0..127] of WideChar;
   ...
 end;
 TNotifyIconDataA = _NOTIFYICONDATAA;
 TNotifyIconDataW = _NOTIFYICONDATAW;
 {$IFDEF UNICODE_CTRLS}
 TNotifyIconData = TNotifyIconDataW;
 {$ELSE}
 TNotifyIconData = TNotifyIconDataA;  // <---- Ctrl+Click по TNotifyIconData
 {$ENDIF}

type
 PBAPTrayIcon = ^TBAPTrayIcon;
 TBAPTrayIcon = object(TObj)
   ...
   NIDE: TNotifyIconData;
   fToolTip: KOLString;
   fBalloonText: KOLString;
   fBalloonTitle: KOLString;
   ...

implementation

function TBAPTrayIcon.AddIcon: LongBool;
...
 with NIDE do
 begin
   ...
   {$IFDEF UNICODE_CTRLS}
     WStrCopy
   {$ELSE}
     StrCopy  
   {$ENDIF}  (szTip, PKOLChar(fToolTip)); // <-- Incompatible types: 'PAnsiChar' and 'PWideChar'
   ...
   {$IFDEF UNICODE_CTRLS}
   WStrCopy(szInfoTitle, PKOLChar(fBalloonTitle));  // <--
   WStrCopy(szInfo, PKOLChar(fBalloonText));       // <--
   {$ELSE}
   StrCopy(szInfoTitle, PKOLChar(fBalloonTitle));    // <--
   KOL.StrCopy(szInfo, PKOLChar(fBalloonText));         // <-- то же самое
   {$ENDIF}  


При подключении юнита к программе глюка ест-но нет.

Приплыли... Можно конечно вылечить UNICODE_CTRLS, но - ПОЧЕМУ так?


ParanoiS ©   (07.03.22 12:08[1]

Блин, забыл закрыть...


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо