2017-06-29 1 views
0

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. 

私は、単一のボタンウィジェットを扱うとき、これは動作しますが、また場合ループを作成してこのコードを含むプロシージャを呼び出すと、複数のボタンを作成して1つのハンドルを指し示しますが、テンポラリテーブルを作成してウィジェットハンドルを保存するよりも、ウィジェットハンドル付きテーブル、

答えて

2

このようなもの:

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. 

トリガプロシージャからこのようなコードを実行する理由がわかりません。それが "うまくいく"かもしれないが、そのようなdbアクセスコードにUIを混ぜることは、本当に深刻な問題を求めている。

+0

申し訳ありませんが、私はフレームが別の場所で定義されているコードのpsrtを送信します。 –

+0

特定のテーブルの内容に応じて変更するオプションのリストを作成するには、このオプションが必要です。テーブル(未知数のレコード)を読み込んで、オプションとしてsonボタンを作成する必要があります。これはすべて、UIがタッチスクリーンで実行されるためです。 –

+0

トリガーで実行していることを説明したり正当化したりするわけではありません –

関連する問題