2016-09-19 2 views
-1

Quelle est l'utilisation des poignées en cours? Devrait-il être utilisé comme un type de données ou est-ce un objet? S'il vous plaît expliquer l'utilisation des poignées avec des tampons.Poignée - Utilisation en cours

Je suis venu à travers l'ensemble suivant de lignes avec poignée et tampon:

ON WRITE OF customer NEW BUFFER new_in OLD BUFFER old_in 
do: 
    DEFINE VARIABLE m_obuf_hdl AS HANDLE NO-UNDO. 
    DEFINE VARIABLE m_nbuf_hdl AS HANDLE NO-UNDO. 

    ASSIGN m_obuf_hdl = BUFFER old_in:HANDLE 
      m_nbuf_hdl = BUFFER new_in:HANDLE. 
end. 
+0

C'est une question très générique. Et en montrant quelques lignes supplémentaires du code, il serait plus facile de l'expliquer en fonction de votre exemple. –

+0

Vous devriez décrire votre problème réel! – Jensd

Répondre

4

poignée est un type de données ABL. Le but d'un HANDLE est d'être la référence (pointeur) à un type d'objet intégré, comme le Buffer dans votre code. Vous trouverez les méthodes et les propriétés du tampon sous la section "handle d'objet tampon" dans la documentation ABL. Cet exemple parcourt tous les champs du buffer (votre buffer old_in) et affiche tous les champs:

DEFINE VARIABLE i  AS INTEGER NO-UNDO . 
DEFINE VARIABLE hField AS HANDLE NO-UNDO . 

DO i = 1 TO m_obuf_hdl:NUM-FIELDS: 
    ASSIGN hField = m_obuf_hdl:BUFFER-FIELD (i). 
    MESSAGE hField:NAME hField:BUFFER-VALUE. 
END.