Страница 2 из 2
Пакет QUEUE
Добавлено: 30 Ноябрь 2018, 11:55
Игорь Столяров
kreator писал(а): ↑30 Ноябрь 2018, 10:52Естественно!
Ну да. В принципе, если современная наука не знает других способов - то это решение вопроса.
Причём GROUP предпочтительней CLASS. Зачем платить больше, если и так всё работает ?
Спасибо за помощь !
Пакет QUEUE
Добавлено: 30 Ноябрь 2018, 12:03
kreator
Класс - это стильно, модно, молодёжно
.
Пакет QUEUE
Добавлено: 30 Ноябрь 2018, 12:12
Дед Пахом
Не надо никаких NEW/DISPOSE:
Код: Выделить всё
Que1 QUEUE
Name string(20)
END
Que2 QUEUE
City string(20)
street string(32)
END
SuperGrp GROUP
Names &QUEUE
Addresses &QUEUE
END
SuperGrp.Names &= Que1
SuperGrp.Addresses &= Que2
Пакет QUEUE
Добавлено: 30 Ноябрь 2018, 16:02
Игорь Столяров
Дед Пахом писал(а): ↑30 Ноябрь 2018, 12:12Не надо никаких NEW/DISPOSE:
Спасибо ! Это уже совсем хорошо. Я бы даже сказал просто отлично !
Пакет очередей - есть, и можно очень удобно подцеплять для передачи в процедуры нужные очереди !
И при этом не париться с контролем и утечками памяти.
Пакет QUEUE
Добавлено: 30 Ноябрь 2018, 16:55
finsoftrz
Дед Пахом писал(а): ↑30 Ноябрь 2018, 12:12Не надо никаких NEW/DISPOSE:
Ну вот, только хотел поглумиться над "молодежью", дедушка опередил...
Пакет QUEUE
Добавлено: 02 Декабрь 2018, 12:15
vic7tar
Дед Пахом писал(а): ↑30 Ноябрь 2018, 12:12. . .
SuperGrp.Addresses &= Que2
А эта штука даст нужный результат?
Пакет QUEUE
Добавлено: 02 Декабрь 2018, 22:57
Yufil
Я вот в начале показывал ( правда, неудачно) свой класс Dumper, куда фигачатся ссылки на несколько заранее неизвестных очередей и/или групп. Мне как раз надо было передавать-сохранять-восстанавливать пачку очередей-групп-просто переменных.
DumpClass.Q содержит очередь ссылок на элементы - очереди, потом по идентификатору я могу достать нужный элемент обратно.
Код: Выделить всё
DumpQ Queue,Type
Id Cstring(20) ! Идентификатор переменной
Type String(1) ! Тип поля
Addr Any ! Адрес поля
AddrG &Group ! Адрес группы
AddrQ &Queue ! Адрес очереди
Address Ulong ! Истинный адрес группы
RecSize Long ! Размер поля
RecCount Long ! Количество записей
End
DumpClass Class,Type,Module('Dumper.Clw')
Q &DumpQ
DebugInfo Cstring(1000)
Construct Procedure
Destruct Procedure
AddField Procedure(String,*?)
AddField Procedure(String,*Group)
AddField Procedure(String,*Queue)
SaveBlob Procedure(*Blob)
LoadBlob Procedure(*Blob),Long,Proc
End
DumpClass позволяет давать ссылки на произвольное количество очередей в одном объекте.
Код: Выделить всё
P.AddField('ZTstQ',TstQ)
P.AddField('ResQ',ResQ)
P.AddField('Qlist',QList)
P.AddField('QGroup',QGroup)
Здесь я в одном элементе ссылаюсь на очереди TstQ, ResQ, Qlist и Qgroup ( что-то связанное с тестированием - список тестов-вопросов-ответов и прочее ). А потом можно передать объект типа DumpClass и по имени вытащить необходимые очереди. Собственно, работает давным-давно...
Это вот всякие исходники...
https://mega.co.nz/#!pxY0VQwR!B2l1BEHvb ... voxTx-XoSI
https://mega.co.nz/#!R4Rg1TAK!hyP2E8Wsy ... l8fPlta2lI