delphi为什么可以这样声明,该怎么解决

delphi为什么可以这样声明
var
    frm_mst_lista:   Tfrm_mst_lista;
    procedure   showfrm_mst_lista;
delphi为什么可以这样声明过程,在c++build中如何声明这样的构造函数?

------解决方案--------------------
这就是指向函数的指针阿,呵呵。
我的blog里面有讨论

------解决方案--------------------
frm_mst_lista: Tfrm_mst_lista;
procedure showfrm_mst_lista;
===
Tfrm_mst_lista *frm_mst_lista;
void showfrm_mst_lista;

上面那个只是普通的过程,对应C++里面的void函数,不是构造函数来的
------解决方案--------------------
如果要在窗口之间传递参数,方法有很多,如果想要使用构造函数的话,首先应该是重写构造寒暑,使用overload关键字。可以定义新的构造函数,在窗口创建的时候可以传递更多的参数进取。
例如:
constructor Create(parentHandle: HWND); overload;

这样就可以将父窗口的句柄作为参数传递给子窗口。
------解决方案--------------------
方法(函数、过程)放在Private和Protected之外声明,默认就是Public的。属性放在外面声明,默认就是Published的。这是Delphi单元架构的特点,为什么这样,我也不知道。