Delphi创建GUId错误

来源:百度知道 编辑:UC知道 时间:2024/06/15 12:37:54
提示错误: E2197 Constant object cannot be passed as var parameter。

interface

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

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

var
Form10: TForm10;

implementation

{$R *.dfm}

procedure TForm10.Button1Click(Sender: TObject);
var
Guid: TGUID;
str: string;
begin
Guid:=SysUtils.CreateGuid(StringToGUID('00000000-0000-0000-0000-000000000000'));
str := GUIDToString(Guid);

Memo1.Lines.Add(str);
end;

方法弄错了。下面是正确的方法:
uses
activex;

procedure TForm1.Button1Click(Sender: TObject);
var
ID:TGUID;
s:string;
begin
if CoCreateGuid(ID)=s_OK then
begin
showmessage(GUIDToString(ID));
end;

end;