pick это не таблица, это массив, хотя работа с ним действительно идет не совсем обычным способом, используется нечто вроде драйвера, но для работы с таблицами в памяти mt_drv.dll. из-за сложности этого объекта очевидна небольшая задержка.
А маркер можно передавать, как параметр?
Вопрос в том, что выборка у меня оформлена отдельным интерфейсом, который выбранное записывает в Pick. А работаю с этим Pick'ом я в другом месте.
Кто сказал, что бесполезно биться головой об стену?!
дык передавайте его через переменную longint - даже инициализировать не надо тогда. А если нельзя то загасите его там где формируете и проинициализируйте снова там где используется с тем же initmarker c теми же параметрами (само собой имя маркера нужно уникальное). Обязательно сначала вызвать процедуру заполнения а потом уже инциализировать в процедуре обработки.