Пожалуй, в предложенном варианте, без MDI, мне тоже было бы неудобно работать. С закладками для окон работать гораздо приятнее.
А в чём усть следующего изменения?
@@ -2007,13 +1812,13 @@ MODULE HostWindows;
BEGIN
instance := WinApi.GetModuleHandleW(NIL);
dc := WinApi.GetDC(0);
- unit := Ports.inch DIV WinApi.GetDeviceCaps(dc, WinApi.LOGPIXELSY);
+ unit := 47664*Ports.mm DIV 192000 (* Ports.inch DIV WinApi.GetDeviceCaps(dc, WinApi.LOGPIXELSY) *);
res := WinApi.ReleaseDC(0, dc);
scW := WinApi.GetSystemMetrics(0); (* screen width *)
scH := WinApi.GetSystemMetrics(1); (* screen height *)
NEW(d); d.l := -1; d.t := -1; d.r := -1; d.b := -1; dir := d; Windows.SetDir(d);
NEW(winAnchor); winAnchor.next := NIL; (* dummy header *)
Кроме того, WinApi.SystemParametersInfo не обяъвлен, поэтому заменил на WinApi.SystemParametersInfoW.