

function DrawTree(Cur: Pointer; Level, Position: Integer; Lines: LongInt;
Flags: Word): Boolean; far;
var
Color: Word;
S: String;
begin
DrawTree := False;
if Position >= Delta.Y then
begin
if Position > L then
begin
DrawTree := True;
Exit;
end;
if (DrawMode = drawAll) or
((DrawMode = drawFocused) and
((Position = Focused) or (Position = OldFoc))) then
begin
if (Position = Focused) and (State and sfFocused <> 0)
then Color := C.FocColor
else if IsSelected(Position)
then Color := C.SelColor
else Color := C.NrmColor;
DrawStrRect(R, GetGraph(Level, Lines, Flags) + GetText(Cur), Color,
doSetBack);
if DrawMode = drawFocused
then DrawTree := ((Position = Focused) and (Position > OldFoc)) or
((Position = OldFoc) and (Position > Focused))
end;
Inc(R.A.Y, ItemSize.Y); Inc(R.B.Y, ItemSize.Y);
end;
end;
by cutting and pasting the above. Then recomile the RTL by running buildgv.bat from your
...gv\rtl directory.
procedure Delay(MilliSec: Word); var Start,Time: Longint; begin Start := GetMilliTime(Time); repeat until GetMilliTime(Time) - Start > MilliSec; end;by cutting and pasting the above. Then recomile the RTL by running buildgv.bat from your ...gv\rtl directory. Delay is not used by the RTL or any of the demo programs, so this is only to fix your applications if they themselves use the procedure.
if AOptions and mfInsertInApp = 0 then MessageBoxRect := DeskTop^.ExecView(Dialog) else MessageBoxRect := Application^.ExecView(Dialog); --- insert this at line 130 --- Dialog^.Free; --- end of insert --- end;
{$M 16384,65536,655360}
{$A+,B-,F-,G+,I-,P-,T-,V+,X+}
--- insert this at line 11 ---
{$ifdef MsDos}
{$F+}
{$endif MsDos}
--- end of insert ---
program GVFM;
FormatStr(S, SysErrStrFunc(Max(ErrorCode, 16))^, ' ', P);to
FormatStr(S, SysErrStrFunc(Min(Word(ErrorCode), 16))^, ' ', P);