[fpc-devel] Now sure why this raises Runtime Error 216

Ozz Nixon ozznixon at gmail.com
Fri Jan 7 01:50:20 CET 2022


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/6f968147/attachment.htm>


More information about the fpc-devel mailing list