<b><i>编译报错---变量怎么赋值?</i></b>(15分)

  • 主题发起人 主题发起人 cat.yy
  • 开始时间 开始时间
C

cat.yy

Unregistered / Unconfirmed
GUEST, unregistred user!
......
if (...) then
FORM_WMRBUTTONDBLCLK();&lt;font color=green&gt;就这儿出的错&lt;/font&gt;
end;

procedure TForm1.FORM_WMRBUTTONDBLCLK(var Message: TMessage);
begin
Showmessage('WM_RBUTTONDBLCLK');
end;

我想给变量赋上 &lt;u&gt;鼠标右击的消息&lt;/u&gt; 以便调用后面的过程
 
你得在FORM的INTERFACE中的PRIVATE或PUBLIC中先定义此过程.
如:
private
procedure FORM_WMRBUTTONDBLCLK(var Message:TMessage);
 
调用时参数不匹配!!

FORM_WMRBUTTONDBLCLK(mymessage);
 
定义过了
传递变量 不知该怎么写

写成这样 FORM_WMRBUTTONDBLCLK(WM_RBUTTONDBLCLK);
系统报错 Types of actual and formal var parameters must be identical
不知道那个参数怎写?(我想给变量赋上 鼠标右击的消息)
 
再试试我的,另:你一开始报何错呀!?
 
在调用过程之前,先定义参数

MyMessage:TMessage;
FORM_WMRBUTTONDBLCLK(MyMessage);
 
答zyy04:
Not enough actual parameters
 
var MyMessage:TMessage;

begin
with MyMessage.Msg do
begin
Msg := WM_RBUTTONDBLCLK;
Result := 0; // 可加可不加, 劝您加上
end;
FORM_WMRBUTTONDBLCLK(MyMessage);
end;
 
对呀!

你的过程有一个形参,而你第一次调用时,未加实参;当然报‘缺少实参'啦!

第二次调用时系统认为WM_RBUTTONDBLCLK是个未定义变量,就报“形实不符”或
‘变量未定义’。

我第一次答你的时候,意思到了,但不完整;eyes的最完整了,你用应该没问题.

Good Luck!
 
多人接受答案了。
 
后退
顶部