Primeiro estabeleça uma lista de seleção vazia para cada campo. Dentro do método de projeto chamado DAX_Devhook_InstallChoiceList, coloque uma chamada a DAX_Dev_SetChoiceList() para cada campo. Estas são as chamadas específicas neste exemplo:
Neste ponto você veria as listas de seleção para os cinco campos, mas não conteriam dados.
Sua lista de seleção só poderia receber dados como de uma lista 4D já existente na caixa de ferramentas. Ou pode reescrever os dados, ou criar os dados desde zero, dentro do método de projeto DAX_DevHook_ListContents. Logo, associe os dados a lista criada em DAX_Devhook_InstallChoiceList. Neste exemplo todos os dados são criados durante o desenvolvimento.
Vejamos o código de exemplo para só uma das cinco listas de seleção. Primeiro declare as variáveis para os primeiros entrantes.
C_TEXT($1;$list_t) C_POINTER($2;$listItems_p)
$list_t:=$1 ` nome da lista solicitada pelo front-end
$listItems_p:=$2 ` ponteiro ao conteúdo ao array de texto da lista que vamos devolver ao front-end
Teste cada lista que você está tratando de interceptar ou criar. Neste exemplo só se examina "task_repeat". Declaramos um array novo ao invés de desreferenciar o passado em ponteiro, já que só vamos criar alguns valores aqui.
Agora coloque os valores que quiser no array. Aqui estão inseridos diretamente como código fonte do programa, mas os valores poderiam chegar por programação.
¡Y listo!
O método DAX_Devhook_InstallChoiceList oferece uma forma muito conveniente de preecher os dados em listas de seleção.