请看下面的代码,改来改去就不对。(10分)

  • 主题发起人 主题发起人 ysp_1984
  • 开始时间 开始时间
Y

ysp_1984

Unregistered / Unconfirmed
GUEST, unregistred user!
program Project1;

uses
Forms, Windows,
Unit1 in 'Unit1.pas' {frmmain};

{$R *.res}
var
mutex:Hwnd;
begin
Application.Initialize;
Application.title:='text';
mutex:=CreateMutex(nil,false,'text');
if Getlasterror<>Error_Already_Exists then
begin
Application.CreateForm(Tfrmmain, frmmain);
Application.Run;
end
else
begin
Application.Messagebox('本程序同时只能运行一个','警告',mb_ok);

end;
ReleaseMutex(mutex);

end.


把 Application.title:='text';
mutex:=CreateMutex(nil,false,'text'); 这两句改为mutex:=CreateMutex(nil,false,Application.title); 就不对了,改成mutex:=CreateMutex(nil,false,pchar(Application.title))也不对。为什么阿?;
 
program Project1;

uses
Forms, Windows,
Unit1 in 'Unit1.pas' {frmmain};

{$R *.res}
var
mutex:Hwnd;
begin
mutex:=CreateMutex(nil,false,'Project1');
if Getlasterror<>Error_Already_Exists then
begin
Application.Initialize;
Application.title:='text';
Application.CreateForm(Tfrmmain, frmmain);
Application.Run;
end
else
begin
Application.Messagebox('本程序同时只能运行一个','警告',mb_ok);
end;
ReleaseMutex(mutex);
end.
 
我的上面的代码运行也对!我问的问题是把 Application.title:='text';
mutex:=CreateMutex(nil,false,'text'); 这两句改为mutex:=CreateMutex(nil,false,Application.title); 就不对了,改成mutex:=CreateMutex(nil,false,pchar(Application.title))也不对。不对的原因是什么?
 
接受答案了.
 

Similar threads

I
回复
0
查看
487
import
I
I
回复
0
查看
572
import
I
I
回复
0
查看
711
import
I
后退
顶部