[fpc-devel] Now sure why this raises Runtime Error 216
Ozz Nixon
ozznixon at gmail.com
Fri Jan 7 01:51:22 CET 2022
Just incase someone needs to know: (public release, not a custom build).
Free Pascal Compiler version 3.0.4 [2017/10/06] for i386
Copyright (c) 1993-2017 by Florian Klaempfl and others
C:\FPC\3.0.4\bin\i386-Win32\fpc.exe [options] <inputfile> [options]
On Thu, Jan 6, 2022 at 6:50 PM Ozz Nixon <ozznixon at gmail.com> wrote:
> Without SetLength(var,0) at the end I get Runtime Error 216 once, adding
> those - assuming FPC now required me to zero out those fields, I now get
> the error twice.
>
> Code:
> Program MakePrompts;
>
> Type
> Language_File = Record
> Description:Array of Char; {null terminated string}
> Enabled:Boolean;
> SecurityLevel:Byte; {zero to 255, 255 is reserved for SYSOP}
> Flags:Longint; {32 Flags - A..Z,1..6}
> MenuPath:Array of Char;
> TextPath:Array of Char;
> QuestPath:Array of Char;
> End;
>
> Var
> L:Language_File;
>
> Procedure Make_Language_File(
> Description,MenuPath,TextPath,QuestPath:String;
> Enabled:Boolean;SecurityLevel:Byte;Flags:Longint);
> Var
> FileSize:Longint;
>
> Begin
> Writeln('Language_File empty size is ',SizeOf(L));
> FileSize:=0;
> Description:=Description+#0;
> Inc(FileSize,Length(Description));
> MenuPath:=MenuPath+#0;
> Inc(FileSize,Length(MenuPath));
> TextPath:=TextPath+#0;
> Inc(FileSize,Length(TextPath));
> QuestPath:=QuestPath+#0;
> Inc(FileSize,Length(QuestPath));
> SetLength(L.Description,Length(Description));
> SetLength(L.MenuPath,Length(MenuPath));
> SetLength(L.TextPath,Length(TextPath));
> SetLength(L.QuestPath,Length(QuestPath));
> Move(Description[1],L.Description,Length(Description));
> Move(MenuPath[1],L.MenuPath,Length(MenuPath));
> Move(TextPath[1],L.TextPath,Length(TextPath));
> Move(QuestPath[1],L.QuestPath,Length(QuestPath));
> L.Enabled:=Enabled;
> L.SecurityLevel:=SecurityLevel;
> L.Flags:=Flags;
> Inc(FileSize,6);
> Writeln('Language_File size is ',FileSize);
> SetLength(L.Description,0);
> SetLength(L.MenuPath,0);
> SetLength(L.TextPath,0);
> SetLength(L.QuestPath,0);
> End;
>
> Begin
> Make_Language_File('English (c) 2022 by Ozz
> Nixon','%ROOTPATH%\MENUS\','%ROOTPATH%\TXTFILES\','%ROOTPATH%\QUESTION\',True,0,0);
> End.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20220106/053a68fa/attachment.htm>
More information about the fpc-devel
mailing list