正在进行填充一个临时表与小部件手柄ABL

问题描述:

我试图动态地创建一组按钮,使用此代码:正在进行填充一个临时表与小部件手柄ABL

DEFINE VAR temp-hand AS WIDGET-HANDLE. 
DEFINE INPUT PARAMETER ipc AS CHARACTER NO-UNDO. 
    &global-define X VALUE(v + ipc) 

    CREATE BUTTON temp-hand 
    ASSIGN 
     FRAME = FRAME btn-frame:HANDLE 
     ROW = vdeInicio 
     COLUMN = 10 
     WIDTH = 19 
     LABEL = ipc 
     SENSITIVE = TRUE 
     VISIBLE = TRUE 
    TRIGGERS: 
     ON CHOOSE PERSISTENT RUN btn-mess IN THIS-PROCEDURE. 
    END TRIGGERS. 
    temp-hand:LOAD-IMAGE("imagenes/Entradas"). 
    vdeInicio = vdeInicio + 3.57. 

这工作,当我解决一个按钮控件,也如果编写一个循环并调用一个包含此代码的过程,它会创建多个按钮,但指向一个句柄,一些人告诉我创建临时表并在那里保存小部件句柄可能会起作用,但我不知道如何填充你可以帮我这个,

类似这样的:

define temp-table tt_buttonList no-undo 
    field buttonId as integer 
    field buttonHandle as widget-handle 
. 

define variable i as integer no-undo. 

do i = i to 5: 

    create tt_buttonList. 

    tt_buttonList.buttonId = i. 

    CREATE BUTTON tt_buttonList.buttonHandle 
    ASSIGN FRAME = FRAME btn-frame:HANDLE /* this is undefined in your example -- I have no idea where it came from */ 
    ROW = i * 4 
    COLUMN = 10 
    WIDTH = 19 
    LABEL = string(i) 
    SENSITIVE = TRUE 
    VISIBLE = TRUE 
    . 

end. 

我不知道你为什么要从触发器程序运行这样的代码。虽然它可能“有效”,但将UI混合到db访问代码中确实会造成严重的麻烦。

+0

对不起,我发送的只是psrt的代码帧定义在别的地方。 –

+0

我需要这个来创建一个选项的列表,这些选项会改变某些表的内容,所以我需要读取表(未知数的记录),并创建儿子许多按钮作为选项。所有这些都是因为UI将在触摸屏上运行。 –

+0

这并没有解释或证明在触发器中运行它 –