|
|
|
Классовые конструкторы/деструкторы дженериков...
|
|||
|---|---|---|---|
|
#18+
rgreat Virtual Student, И зачем было делать так сложно? Эх, если бы можно было проще... Я сам придерживаюсь принципа - "делай попроще". Этот софт - не тот случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2020, 18:40 |
|
||
|
Классовые конструкторы/деструкторы дженериков...
|
|||
|---|---|---|---|
|
#18+
Virtual Student Так оно везде и сделано! Эффект сохраняется... Ну да, компилятор не считает это использованием. Это же декларация псевдонимов. Тогда, можно сделать фиктивные вызовы в секции инициализации: Код: pascal 1. 2. Чтобы компилятор увидел использование типов, но тогда вообще нет смысла делать конструкторы классов, можно обойтись приватными методами инициализации. Virtual Student Но инициализируются не TMyClassWithByte и TMyClassWithString, а TMyClass<Byte> и TMyClass<String> Да, так и должно быть т.к. первые это псевдонимы типов, а реальный тип это специализированный дженерик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2020, 19:37 |
|
||
|
Классовые конструкторы/деструкторы дженериков...
|
|||
|---|---|---|---|
|
#18+
Virtual Student, Как решил то в итоге? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2020, 09:39 |
|
||
|
Классовые конструкторы/деструкторы дженериков...
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Virtual Student Так оно везде и сделано! Эффект сохраняется... Ну да, компилятор не считает это использованием. Это же декларация псевдонимов. Тогда, можно сделать фиктивные вызовы в секции инициализации: Код: pascal 1. 2. Чтобы компилятор увидел использование типов, но тогда вообще нет смысла делать конструкторы классов, можно обойтись приватными методами инициализации. Virtual Student Но инициализируются не TMyClassWithByte и TMyClassWithString, а TMyClass<Byte> и TMyClass<String> Да, так и должно быть т.к. первые это псевдонимы типов, а реальный тип это специализированный дженерик. {$STRONGLINKTYPES ON} - может помочь Но иногда надо только конкретный класс поместить, поэтому есть две RSP где мы просим об этом. https://quality.embarcadero.com/browse/RSP-18389 https://quality.embarcadero.com/browse/RSP-23777 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2020, 10:50 |
|
||
|
Классовые конструкторы/деструкторы дженериков...
|
|||
|---|---|---|---|
|
#18+
X-Cite {$STRONGLINKTYPES ON} - может помочь А может и не помочь: http://docwiki.embarcadero.com/RADStudio/Sydney/en/Strong_link_types_(Delphi) This directive affects how the final EXE or DLL is linked. To work reliably, the directive should be in the main program or library source (.dpr). It only affects programs (EXEs) and libraries (DLLs), not packages (BPLs) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2020, 11:08 |
|
||
|
Классовые конструкторы/деструкторы дженериков...
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Virtual Student, Как решил то в итоге? Реализовал костыль с глобальным управлением этими ресурсами... Т.е. при обращении к объектам, которые должны принадлежать конкретному классу, метод лезет в "менеджер классовых ресурсов", из словаря, по классу, получает ссылку на нужный объект. При этом объекты создаются один раз, вызовом отдельной классовой процедуры инициализации, и размещаются в глобальном потоконезависимом "менеджере". Но мне не нравиться, что для поиска по каталогу, мне нужно перед этим искать сам каталог по соответствию нужному классу в словаре... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2020, 11:44 |
|
||
|
Классовые конструкторы/деструкторы дженериков...
|
|||
|---|---|---|---|
|
#18+
Virtual Student, А ты кешируешь результат поиска в конечном классе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2020, 13:26 |
|
||
|
Классовые конструкторы/деструкторы дженериков...
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Virtual Student, А ты кешируешь результат поиска в конечном классе? Результат поиска - один элемент или список из, допустим, каталога. А сам каталог, - это и есть по сути кэш. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2020, 18:29 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40012336&tid=2037902]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
175ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 265ms |
| total: | 501ms |

| 0 / 0 |
