|
|
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
Уважаемые форумчане! Подскажите самоучке: Есть несколько экземпляров разных потомков одного класса. Они объявлены в соответствии со своим классом с перекрытием Create-а, но не инициализированы. Хотелось бы для экономии памяти инициализировать их по необходимости в процедуре, переменной в которой выступает экземпляр. Например: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Благодарен за любую помощь Модератор: Пользуйтесь тегом (кнопкой) SRC для оформления кода, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 17:12:13 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
SergeyOren, Ну, например так: Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 17:35:15 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
alekcvpНу, например так:Sample = nil ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 18:42:35 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
SergeyOren, В такой постановке задача не решается. Для инициализации нужна еще информация о типе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 18:48:23 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_В такой постановке задача не решается Да ладно... Код: pascal 1. 2. 3. 4. 5. Только, фу так делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 19:06:44 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
SergeyOren, задание типа через "class of" нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 19:21:50 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 19:23:48 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey_Vasilisk_В такой постановке задача не решается Да ладно... ... Только, фу так делать. И не надо так делать . Что мешает сделать по образу и подобию работы с формами: Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 19:28:19 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
Пока писал ответ, уже накидали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 19:29:51 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
FreedoomЧто мешает сделать по образу и подобию работы с формами Ничто не мешает, но условия определяю не я. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 19:32:44 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
У меня один вопрос остался: где тут SergeyOrenХотелось бы для экономии памяти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 19:49:44 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Sample = nil Да, что-то я затупил. Тогда действительно, не решается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 19:52:18 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
alekcvpТогда действительно, не решается. Прекращай тупить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 19:58:45 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Прекращай тупить Kazantsev Alexeyфу так делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 20:31:40 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Но задача, тем не менее, решается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 21:12:34 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyalekcvpТогда действительно, не решается. Прекращай тупить Ага, а если эта переменная в другом классе (и юните) объявлена как private? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 23:19:54 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
Spring 4D + Lazy инициализация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 23:34:42 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
alekcvpАга, а если эта переменная в другом классе (и юните) объявлена как private? :) А если не ударяться в фантазии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 23:35:50 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
Огромное спасибо за заботу, пойду дерзать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 09:18:06 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
GunSmoker, спасибо, но при таких вызовах InitSample я вынужден руками указывать тип, чего как раз хотелось избежать. Да и стоит ли городить, когда можно вместо InitSample просто вызвать Create из типа, который я все равно должен указать в InitSample. Но все равно спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 12:20:18 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
Если конструктор без параметров и переопределен через override то делается через Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 16:33:41 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
X-CiteЕсли конструктор без параметров и переопределен через override то делается через Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. +1 Красиво! Ну, а дальнейшее, я думаю, автор темы распространит по количеству параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 18:59:03 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
Virtual StudentНу, а дальнейшее, я думаю, автор темы распространит по количеству параметров. Если кол-во параметров заранее неизвестно в конструкторе, то делается лямбда которая вызывается в момент выполнения конструктора с передачей соответствующзего объекта у которого уже будет нужный метод для инициализации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 21:13:44 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
Есть же TValue Что вы гоните :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2017, 21:25:13 |
|
||
|
Можно ли восстановить тип по объявленной переменной?
|
|||
|---|---|---|---|
|
#18+
X-Cite, спасибо. Я подозревал, что задача решается ч/з RTTI, но подойти на практике образования не хватает. Где можно почитать, чтобы осознанно модифицировать ваш код (у меня Create-ы сложные с разным набором пар-ов)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 08:08:25 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39545454&tid=2041640]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
437ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 743ms |

| 0 / 0 |
