uniGUI试用笔记(三)

uniGUI下的MessageDlg使用发生了变化,最大的特点是:

1、成为了uniGUIForm的成员函数;

2、变成过程(procedure)了,也就是没有返回值了,使得程序不再具有线程阻塞性。

3、增加了一个传入回调函数的参数:callBack : TuniDialogCallbackAnonProc,该类型定义在uniGUIDialogs单元中:

  TuniDialogCallbackAnonProc = procedure (Sender : TComponent; Res : Integer);

    其中Res等同于返回的结果,其对应关系是:

  mrYES = IDYES 

  mrNo = IDNO 

     以此类推

 

由于MessageDlg不再具有线程阻塞性,所以必须在回调函数中对返回结果进行处理,这样一来处理流程就相对麻烦多了。原来的语句是:

if MessageDlg(...) = IDYES then

  ...

现在必须先定义回调函数

  procedure MsgDlgCallBack(Sender: TComponent; Res: Integer);

  begin

    ....

  end;

再进行调用:

  MessageDlg( ..., btnCancelDlgCallBack);

 

总之,处理思路和流程不一样了,要小心。

你可能感兴趣的:(GUI)