powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / H2443 Inline function 'TJSONObject.GetPair' has not been expanded because %s
5 сообщений из 5, страница 1 из 1
H2443 Inline function 'TJSONObject.GetPair' has not been expanded because %s
    #39788476
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал, что в РИО 10.3 json работает в ~5-6 раз быстрее.
Но,
Компилятор RIO 10.3H2443 Inline function 'TJSONObject.GetPair' has not been expanded because unit 'System.Generics.Collections' is not specified in USES list

Что бы мог значить этот хинт?

Я понимаю, что надо сделать. Но не понимаю - почему?)
В 10.2 такого нет.
...
Рейтинг: 0 / 0
H2443 Inline function 'TJSONObject.GetPair' has not been expanded because %s
    #39788482
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BЯ понимаю, что надо сделать. Но не понимаю - почему?)
Одно из ограничений дельфийских инлайнов. Инлайновый метод GetPair использует что-то из модуля System.Generics.Collections.
...
Рейтинг: 0 / 0
H2443 Inline function 'TJSONObject.GetPair' has not been expanded because %s
    #39788484
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://docwiki.embarcadero.com/RADStudio/Rio/en/Calling_Procedures_and_Functions_(Delphi)#Using_the_inline_Directive If a routine marked with inline uses external symbols from other units, all of those units must be listed in the uses statement, otherwise the routine cannot be inlined.
...
Рейтинг: 0 / 0
H2443 Inline function 'TJSONObject.GetPair' has not been expanded because %s
    #39788500
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyИнлайновый метод GetPair использует что-то из модуля System.Generics.Collections.

Внезапно, он использует тип TPair<T,U>
...
Рейтинг: 0 / 0
H2443 Inline function 'TJSONObject.GetPair' has not been expanded because %s
    #39788508
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня на XE2 с этим хинтом вообще прикол был. Он стал генерироваться из-за... константы из другого модуля. КОНСТАНТЫ, Карл! Помогла редекларация константы самым тупым образом:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
{$IF Defined(POSIX)}

 Const

  S_IFMT  = S_IFMT;
  S_IFREG = S_IFREG;

{$IFEND}


Правда, был ещё способ... На месте использования можно было делать так: ... = S_IFREG or 0; Тогда дельфя понимала, что тут надо просто подставить вычисленное значение. На следующих версиях такой фигни уже небыло
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / H2443 Inline function 'TJSONObject.GetPair' has not been expanded because %s
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]