关于delphi的过程处理(急)

来源:百度知道 编辑:UC知道 时间:2024/05/09 15:54:04
一个在单击事件里面能够执行的代码,但是定义成过程就不行,这是怎么回事?请高手帮忙。。
全部代码如下:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,mmsystem, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
procedure opendvd; //打开光驱
begin
try
mciSendString('Set cdaudio door open wait', nil, 0, handle); //这句过不了
except
end;

{$R *.dfm}

//这里面的能够正常执行
procedure TForm1.Button1Click(Sender: TObject);
begin
try
mciSendString('Set cdaudio door open wait', nil, 0, handle);
except
end;
end;
end.

mciSendString('Set cdaudio door open wait', nil, 0, handle); //这句过不了

改为:

mciSendString('Set cdaudio door open wait', nil, 0, NULL);

这样就可以了。因为handle在事件里面是FORM定义的,在过程里面就会提示变量没有定义的错误,换为常量NULL即可。