2017-11-22 17:43:48 +01:00
|
|
|
unit uMyV8Handler;
|
2017-07-25 22:50:34 +02:00
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
uses
|
2017-11-22 17:43:48 +01:00
|
|
|
uCEFTypes, uCEFInterfaces, uCEFv8Value, uCEFv8Handler;
|
2017-07-25 22:50:34 +02:00
|
|
|
|
|
|
|
type
|
2017-11-22 17:43:48 +01:00
|
|
|
TMyV8Handler = class(TCefv8HandlerOwn)
|
|
|
|
protected
|
|
|
|
FMyParam : string;
|
|
|
|
|
|
|
|
function Execute(const name: ustring; const obj: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean; override;
|
2017-07-25 22:50:34 +02:00
|
|
|
end;
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
2017-11-22 17:43:48 +01:00
|
|
|
function TMyV8Handler.Execute(const name : ustring;
|
|
|
|
const obj : ICefv8Value;
|
|
|
|
const arguments : TCefv8ValueArray;
|
|
|
|
var retval : ICefv8Value;
|
|
|
|
var exception : ustring): Boolean;
|
2017-07-25 22:50:34 +02:00
|
|
|
begin
|
2017-11-22 17:43:48 +01:00
|
|
|
if (name = 'GetMyParam') then
|
|
|
|
begin
|
|
|
|
retval := TCefv8ValueRef.NewString(FMyParam);
|
|
|
|
Result := True;
|
|
|
|
end
|
|
|
|
else
|
|
|
|
if (name = 'SetMyParam') then
|
|
|
|
begin
|
|
|
|
if (length(arguments) > 0) and arguments[0].IsString then
|
|
|
|
FMyParam := arguments[0].GetStringValue;
|
2017-07-25 22:50:34 +02:00
|
|
|
|
2017-11-22 17:43:48 +01:00
|
|
|
Result := True;
|
|
|
|
end
|
|
|
|
else
|
|
|
|
Result := False;
|
2017-07-25 22:50:34 +02:00
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
end.
|