I have a TWebClientConnection and TWebClientDataset combo that is set to autoopen = true, though when i look in the console the event is not triggered:
unit Login;
interface
uses
System.SysUtils, System.Classes, JS, Web, WEBLib.Graphics, WEBLib.Controls,
WEBLib.Forms,WEBLib.REST, WEBLib.Dialogs, Vcl.StdCtrls,WEBLib.Cookies, System.DateUtils, WEBLib.StdCtrls, Vcl.Controls, WEBLib.CDS, Data.DB;
type
TForm5 = class(TWebForm)
Username: TWebLabel;
Login: TWebButton;
cu_username: TWebEdit;
cu_password: TWebEdit;
Password: TWebLabel;
ConnectionLogin: TWebClientConnection;
LoginDataset: TWebClientDataSet;
TestDataset: TWebClientDataSet;
ConnectionTest: TWebClientConnection;
procedure ConnectionLoginBeforeConnect(Sender: TObject);
procedure LoginClick(Sender: TObject);
procedure TestDatasetAfterOpen(DataSet: TDataSet);
procedure LoginDatasetAfterOpen(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
procedure SetCookie(cookie_name, value: String; minutes: UInt64);
var
Cookies: TCookies;
begin
Cookies := TCookies.Create;
Try
Cookies.Add(cookie_name,value, IncMinute(Now,minutes));
Cookies.SetCookies;
Finally
Cookies.Free;
End;
end;
{$R *.dfm}
procedure TForm5.ConnectionLoginBeforeConnect(Sender: TObject);
begin
ConnectionLogin.URI := Format('http://localhost:2001/tms/xdata/CrmService/Login?userid=%s&password=%s', [cu_username.Text,cu_password.Text]);
end;
procedure TForm5.LoginClick(Sender: TObject);
begin
WriteLn('jesus');
ConnectionLogin.AutoOpenDataSet := True;
ConnectionLogin.Active := True;
LoginDataset.Open;
WriteLn(ConnectionLogin.AutoOpenDataSet);
WriteLn(ConnectionLogin.Active);
end;
procedure TForm5.LoginDatasetAfterOpen(DataSet: TDataSet);
begin
WriteLn('opened dataset');
LoginDataset.First;
if Assigned(LoginDataset.FieldByName('value')) then
begin
WriteLn('set cookie');
SetCookie('bearer',LoginDataset.FieldByName('value').Text,100);
WriteLn('set cookie2');
end;
end;
procedure TForm5.TestDatasetAfterOpen(DataSet: TDataSet);
begin
WriteLn('finished');
end;
end.