On 5/6/22 07:03, jcfaria wrote:
Dear Duncan,
I believe the problem is of a different nature.
I get TRUE 3 times running the code below:
procedure TfMain.btnPasteClick(Sender: TObject);
var
i: integer;
sTmp: string;
hBN: HWND;
j: bool;
begin
hBN:= FindWindowA(nil,
'R Console (64-bit)');
sTmp:= 'sd';
for i:= 1 to Length(sTmp) do begin
j:= PostMessage(hBN,
WM_CHAR,
Ord(sTmp[i]),
0);
ShowMessage(BoolToStr(j,
True));
end;
j:= PostMessage(hBN,
WM_KEYDOWN,
VK_RETURN, 0);
ShowMessage(BoolToStr(j,
True));
end;
That is, Rgui is receiving the message of the characters (via
PostMessage), but it is blocking because it does not show them in the
console.
The only thing Rgui blames is Carriage Return, as it adds an
additional prompt with each run.
I can't provide a good guess what impacted your use, but if you could
give me a full example, ideally in C, which can be compiled with
Rtools42 (so gcc, MinGW) and I can edit/recompile, and works with R 4.1,
I am happy to help debugging on 4.2.
Rgui now uses GraphApp Unicode windows on systems where it didn't
before, because it uses UTF-8 also on systems it didn't before (on
systems that would use a single-byte locale in R 4.1). These Unicode
windows are a different code path and there may be bugs not reported
previously, including processing inputs (recently I fixed handling of
accents, for example). Otherwise indeed R now uses UTF-8 as native
encoding and UCRT as the C runtime.
Best
Tomas
>
>
Best,
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
Jose Claudio Faria
UESC/DCET/Brasil
joseclaudio.faria at gmail.com
Telefones:
55(73)3680.5545 - UESC
55(73)99966.9100 - VIVO
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
If you have software to deal with statistics, you have arms,
if you have good software, you have arms and legs,
if you have software like R, you have arms, legs and wings...
the height of your flight depends only on you.
------ Mensagem original ------
De: "Duncan Murdoch" <[email protected]>
Para: "jcfaria" <[email protected]>; [email protected]
Enviado(s): 05/05/2022 13:17:53
Assunto: Re: [Rd] Rgui.exe 4.2.0 does not receive characters via the
Windows API's PostMessage function
On 05/05/2022 11:17 a.m., jcfaria wrote:
Hello,
Rgui.exe 4.2.0 does not receive characters via the Windows API's
PostMessage function.
The Tinn-R project sends messages to Rgui.exe (SDI mode) via the
Windows
API's PostMessage function.
A simplification of the code (in object Pascal) can be seen below.
procedure TfMain.btnPasteClick(Sender: TObject);
var
i: integer;
sTmp: WideString;
hBN: HWND;
begin
hBN:= FindWindowA(nil,
'R Console (64-bit)');
sTmp:= 'sd';
for i:= 1 to Length(sTmp) do begin
PostMessage(hBN,
WM_CHAR,
Ord(sTmp[i]),
0);
end;
PostMessage(hBN,
WM_KEYDOWN,
VK_RETURN, 0);
end;
This code has always worked fine for all versions of Rgui.exe with the
exception of the last one released, ie 4.2.0.
We've been trying to get around the problem on the Object Pascal side,
but without success so far.
Does anyone connected to the compilation of Rqui.exe know what the
problem is?
It could be that the new build enforces Windows security more
stringently. More details are described in the answer to this
question: https://stackoverflow.com/a/40139498/2554330, but at a
minimum you should be checking the return value from PostMessage.
Duncan Murdoch
Best,
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
Jose Claudio Faria
UESC/DCET/Brasil
joseclaudio.faria at gmail.com
Telefones:
55(73)3680.5545 - UESC
55(73)99966.9100 - VIVO
///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
If you have software to deal with statistics, you have arms,
if you have good software, you have arms and legs,
if you have software like R, you have arms, legs and wings...
the height of your flight depends only on you.
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel