I've got a Windows 10 machine with two screens for development. Lazarus works fine.
A few times a week, I connect from home, using the Windows Remote Desktop.
When still open, Lazarus shows up, but crashes a few moments later. Any of my apps I was using while switching to RDP also crashes. Both IDE and apps crash with this message:
Project XXX raised exception class 'External: ?'.
In file '.\include\monitor.inc' at line 21:
Result := GetMonitorInfo(Handle, @Info);
Looking into the callstack, this is called because a ChangeBounds is called on the form (probably because the two machines have different monitor resolutions).
Without more exception details, I would guess that the monitor handle changes when switching connections, and the LCL should react to WM_WTSSESSION_CHANGE by updating the TMonitorList object.
Since RDP is essentially the same as Fast User Switching, and full support for Fast User Switching is a requirement MS makes for their (works with..., certified for...) logo programs, this is kind of a killer bug on Windows for serious software.
I would report to the bug tracker, but the login I had in my password store is no longer working, and I don't remember the email address I used there, and the FPC community login doesn't seem to work either.
This is Lazarus 1.4.4, with FPC 3.0.1, build using fpcup on November 17th.