1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-06-02 21:57:37 +02:00

Fixed wrong DevTools method result handling in MiniBrowser demo

This commit is contained in:
Salvador Diaz Fau 2021-01-07 11:12:20 +01:00
parent cfe43f040f
commit e19ecae2b5
2 changed files with 44 additions and 32 deletions

View File

@ -1138,13 +1138,20 @@ begin
if success then if success then
begin begin
TempDict := result.GetDictionary; TempResult := 1;
TempValue := TempDict.GetValue('data'); FDevToolsMsgValue := '';
if (TempValue <> nil) and (TempValue.GetType = VTYPE_STRING) then if (result <> nil) then
begin begin
FDevToolsMsgValue := TempValue.GetString; TempDict := result.GetDictionary;
if (length(FDevToolsMsgValue) > 0) then TempResult := 1;
if (TempDict <> nil) and (TempDict.GetSize > 0) then
begin
TempValue := TempDict.GetValue('data');
if (TempValue <> nil) and (TempValue.GetType = VTYPE_STRING) then
FDevToolsMsgValue := TempValue.GetString;
end;
end; end;
end end
else else
@ -1182,39 +1189,44 @@ var
begin begin
if (aMessage.WParam <> 0) then if (aMessage.WParam <> 0) then
begin begin
TempData := TNetEncoding.Base64.DecodeStringToBytes(FDevToolsMsgValue); if (length(FDevToolsMsgValue) > 0) then
TempLen := length(TempData);
if (TempLen > 0) then
begin begin
TempFile := nil; TempData := TNetEncoding.Base64.DecodeStringToBytes(FDevToolsMsgValue);
TempLen := length(TempData);
if (aMessage.LParam = FScreenshotMsgID) then if (TempLen > 0) then
begin begin
SaveDialog1.DefaultExt := 'png'; TempFile := nil;
SaveDialog1.Filter := 'PNG files (*.png)|*.PNG';
if (aMessage.LParam = FScreenshotMsgID) then
begin
SaveDialog1.DefaultExt := 'png';
SaveDialog1.Filter := 'PNG files (*.png)|*.PNG';
end
else
begin
SaveDialog1.DefaultExt := '';
SaveDialog1.Filter := 'All files (*.*)|*.*';
end;
if SaveDialog1.Execute then
try
try
TempFile := TFileStream.Create(SaveDialog1.FileName, fmCreate);
TempFile.WriteBuffer(TempData[0], TempLen);
showmessage('File saved successfully');
except
showmessage('There was an error saving the file');
end;
finally
if (TempFile <> nil) then TempFile.Free;
end;
end end
else else
begin showmessage('There was an error decoding the data');
SaveDialog1.DefaultExt := '';
SaveDialog1.Filter := 'All files (*.*)|*.*';
end;
if SaveDialog1.Execute then
try
try
TempFile := TFileStream.Create(SaveDialog1.FileName, fmCreate);
TempFile.WriteBuffer(TempData[0], TempLen);
showmessage('File saved successfully');
except
showmessage('There was an error saving the file');
end;
finally
if (TempFile <> nil) then TempFile.Free;
end;
end end
else else
showmessage('There was an error decoding the data'); showmessage('DevTools method executed successfully!');
end end
else else
if (length(FDevToolsMsgValue) > 0) then if (length(FDevToolsMsgValue) > 0) then

View File

@ -2,7 +2,7 @@
"UpdateLazPackages" : [ "UpdateLazPackages" : [
{ {
"ForceNotify" : true, "ForceNotify" : true,
"InternalVersion" : 225, "InternalVersion" : 226,
"Name" : "cef4delphi_lazarus.lpk", "Name" : "cef4delphi_lazarus.lpk",
"Version" : "87.1.12.0" "Version" : "87.1.12.0"
} }