1

我所做的一切都与 cookie 示例中的完全相同(此处显示为http://www.atozed.com/intraweb/docs/Develop/Cookies.aspx),但它没有编译并且显示“[DCC Error] Login.pas (38): E2035 没有足够的实际参数”并将课程放在“WebApplication.Response.Cookies.Add”之后

我错过了什么?有没有我需要添加到用途的单位?

我使用 Delphi XE2 和 Intraweb 2.1.23 哦,我是 intraweb 的新手...

请帮忙谢谢

4

3 回答 3

3

确保httpapp在您的 uses 子句中并尝试以下操作:

procedure TIWServerController.SetCookie;
var
  mCookie: TCookie;
begin
  mCookie := WebApplication.Response.Cookies.Add;
  with mCookie do begin
    Name:='mycookie';
    Value:='mycookievalue';
    Expires := Date + 30;
  end;
end;
于 2012-07-16T12:55:35.507 回答
2

这是一个工作代码块,它将在 Intraweb 12.2.8 XE2 中创建一个 Cookie

确保在您的 uses 子句中 添加IW.HTTP.Cookie 。

当然,您必须修改 TiwfrmMain 以匹配您的 iwform 并通过以下方式声明过程:):procedure MakeCookie; 在你的

procedure TiwfrmMain.MakeCookie;
    var cookieMain: THttpCookie;

begin

 try
  cookieMain:=  THttpCookie.Create('email',editLogin.Text,'',Date + 999);
  WebApplication.Response.Cookies.Add(cookieMain);
  cookieMain.free;  
 except

 end;

end;

然后您还可以通过以下方式获取它:

procedure TiwfrmMain.SetCookie;
begin
  try


    if WebApplication.Request.CookieFields.IndexOfName('email')> -1 then
    editLogin.Text := WebApplication.Request.CookieFields.Values['email'];


  except

  end;

end;

开心:)

于 2012-10-26T10:44:28.227 回答
-2

我的代码:

procedure SetCookie(AIWApplication: TIWApplication; AName, AValue: string; AExpiration: TDate);
var
   LCookie: TCookie;
begin
   AIWApplication.Response.Cookies.Add(LCookie);
 with LCookie do
 begin
   Name := AName;
   Value := AValue;
   Expires := AExpiration;
 end;
end;
于 2018-11-30T13:07:25.830 回答