Delphi Compiler Error
E2569 Type parameter ‘%s’ may need finalization – not allowed in variant record. Consider using RECORD constraint
Reason for the Error & Solution
This occurs when using a type constraint in a record that may not be compatible with record rules (no inheritance, no methods).
program E2569;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TGenRec<T> = record //E2569 Fix: use TGenRec<T : record> = record
case Boolean of
True: (A: T);
False: (B: Pointer);
end;
begin
end.