Closed hcgernhardtiii closed 7 years ago
Henry Thanks for PR. But now I'm not able to compile myself and would like to find out if something depends e.g. on Lazarus version or another settings. You made a change e.g. here: https://github.com/me2d13/luamacros/blob/master/src/ukbddeviceservice.pas#L66 adding adress operator @. But I have compilation error here. The functions is defined here: https://github.com/me2d13/luamacros/blob/master/src/uRawInput.pas#L478 and the parameter is type var puiNumDevices: UINT, not ^UINT. The reference is done by compiler using "var", you don't have to handle pointers yourself. So what's different in your environment, how can you compile? My error message now is: ukbddeviceservice.pas(66,46) Error: Call by var for arg no. 2 has to match exactly: Got "Pointer" expected "LongWord". My Lazarus version is 1.6.
Please comment.
Petr—
I'm using Lazarus 1.6.4, and the function in question is: GetRawInputDeviceList(pRawInputDeviceList: PRAWINPUTDEVICELIST; puiNumDevices: PUINT; cbSize: UINT): UINT;
Which the compiler is showing as defined at: C:\lazarus\fpc\3.0.2\source\rtl\win\wininc\func.inc(675,10)
This is a fresh install of the most recent version of Lazarus, including the change to ExtraHighlighters_RT as explained in https://github.com/me2d13/luamacros/issues/9.
There are two things I can figure:
var
in the
argument list.I got the info by simply hovering over the function name in the code editor. Can you shoot me where your environment is grabbing that function from?
Oh, and there's another gotcha I need to look at: With the changes I made to get it to compile on my environment, the keyboard is now both trapping and passing keys. The handler function gets called, but only after the default OS key action has occurred. I'll be needing to work out what's happening there.
Thanks,
Henry
On Mon, Aug 14, 2017 at 5:37 PM, Petr Medek notifications@github.com wrote:
Henry Thanks for PR. But now I'm not able to compile myself and would like to find out if something depends e.g. on Lazarus version or another settings. You made a change e.g. here: https://github.com/me2d13/ luamacros/blob/master/src/ukbddeviceservice.pas#L66 adding adress operator @. But I have compilation error here. The functions is defined here: https://github.com/me2d13/luamacros/blob/master/src/ uRawInput.pas#L478 and the parameter is type var puiNumDevices: UINT, not ^UINT. The reference is done by compiler using "var", you don't have to handle pointers yourself. So what's different in your environment, how can you compile? My error message now is: ukbddeviceservice.pas(66,46) Error: Call by var for arg no. 2 has to match exactly: Got "Pointer" expected "LongWord". My Lazarus version is 1.6.
Please comment.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/me2d13/luamacros/pull/17#issuecomment-322316835, or mute the thread https://github.com/notifications/unsubscribe-auth/AWWPjGwfjrVcsN8Ya5VVcJrLnyK5J_WLks5sYL4SgaJpZM4O1gSK .
I wanted to be able to get the title of the root owner window. Unfortunately, there were a whole bunch of problems getting LuaMacros to compile on win64. This series of commits addresses those compile errors, a couple of warnings, and adds
lmc_get_rootowner_window_title()
, which allows us to get the title of the rootowner window of the currently active window.