|
|
|
Динамически создать array of TVarRec (FireDac.AppendRecord)
|
|||
|---|---|---|---|
|
#18+
Подскажите, как динамически создать объект array of TVarRec и передать его функции ? В интернете муть какая-то через Pointer... У меня есть класс(не мой), в котором есть метод Append(const Values: array of TVarRec); Сейчас, нашёл сейчас в ФаирДак такой же аналог: Код: pascal 1. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 16:43 |
|
||
|
Динамически создать array of TVarRec (FireDac.AppendRecord)
|
|||
|---|---|---|---|
|
#18+
Странный код ... Какая задача ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 17:03 |
|
||
|
Динамически создать array of TVarRec (FireDac.AppendRecord)
|
|||
|---|---|---|---|
|
#18+
Valery_B Код: pascal 1. Может тут есть ответ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 17:06 |
|
||
|
Динамически создать array of TVarRec (FireDac.AppendRecord)
|
|||
|---|---|---|---|
|
#18+
const Values: array of TVarRec не равно Values: array of TVarRec Это разные типы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 17:07 |
|
||
|
Динамически создать array of TVarRec (FireDac.AppendRecord)
|
|||
|---|---|---|---|
|
#18+
Valery_B, да, задача какая стоит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 17:08 |
|
||
|
Динамически создать array of TVarRec (FireDac.AppendRecord)
|
|||
|---|---|---|---|
|
#18+
Valery_B Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Я не проверял, но из описания типа TVarRec следует что-то вроде: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 17:39 |
|
||
|
Динамически создать array of TVarRec (FireDac.AppendRecord)
|
|||
|---|---|---|---|
|
#18+
Dmitry ArefievСтранный код ... Какая задача ? А что в нём странного ? Задача, если говорить вообще - добавить строку в FireDAC. Ну а если конкретно, я хочу уметь выводить в TDBGrid Json такой структуры: Код: sql 1. 2. 3. 4. 5. После того, как я разобрал этот Json и создал поля через FieldDefs.Add, в результате это свелось бы примерно к такому коду: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 19:18 |
|
||
|
Динамически создать array of TVarRec (FireDac.AppendRecord)
|
|||
|---|---|---|---|
|
#18+
Вот сейчас нашёл видео от Embarcadero Technologies на ютубе [spoiler] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 19:23 |
|
||
|
Динамически создать array of TVarRec (FireDac.AppendRecord)
|
|||
|---|---|---|---|
|
#18+
И чем классика не устраивает ? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 19:23 |
|
||
|
Динамически создать array of TVarRec (FireDac.AppendRecord)
|
|||
|---|---|---|---|
|
#18+
alekcvpЯ не проверял, но из описания типа TVarRec следует что-то вроде: По моему это реальная жуть - указывать какие то типы, pointer и т.п. По крайней мере, по сравнению со статическим методом... Не ужели всё на столько сложно ? Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 19:27 |
|
||
|
Динамически создать array of TVarRec (FireDac.AppendRecord)
|
|||
|---|---|---|---|
|
#18+
Dmitry ArefievИ чем классика не устраивает ? На самом деле так и сделано... Тем что срабатывают события BeforePost, AfterPost и т.п. Я подумал, что через AppendRecord они срабатывать не будут. У меня есть наследник от FDMemTable(С переопределённым методом OpenCursor) который открывает Json такого типа. Я работаю с ним так: Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 19:32 |
|
||
|
Динамически создать array of TVarRec (FireDac.AppendRecord)
|
|||
|---|---|---|---|
|
#18+
Valery_BПо моему это реальная жуть - указывать какие то типы, pointer и т.п. По крайней мере, по сравнению со статическим методом... Не ужели всё на столько сложно ? Код: pascal 1. Можно так: Код: pascal 1. Сама структура array of const (array of TVarRec) предназначена именно для передачи неопределённого количества параметров без строгой привязки к типам. Она не предназначена для использования её "в живую", как переменной. Для этого есть механизмы, которые вам выше описали. А компилятор из строки в вашем примере делает [примерно] тот код, который я выше написал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2019, 20:46 |
|
||
|
|

start [/forum/topic.php?fid=58&tid=2039373]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 479ms |

| 0 / 0 |
