Hello guys
Hello guys,
A man posted a bug report related to my new project (DebugEngine). He said that he can't compile the library because Delphi (XE3) is unable to recognize FinalizeRecord function ! He got : "Undeclared Identifier: 'FinalizeRecord' error".
I told him to disable all 3rd party libraries and try call FinalizeRecord function like this: System.FinalizeRecord. After doing that he told me that the same error still exists !
That's very weird ! Does anyone knows what could be the problem ?
A man posted a bug report related to my new project (DebugEngine). He said that he can't compile the library because Delphi (XE3) is unable to recognize FinalizeRecord function ! He got : "Undeclared Identifier: 'FinalizeRecord' error".
I told him to disable all 3rd party libraries and try call FinalizeRecord function like this: System.FinalizeRecord. After doing that he told me that the same error still exists !
That's very weird ! Does anyone knows what could be the problem ?
/sub
ReplyDeleteI have the same problem, Win 10 Ent x64, Seattle upd1
Zoran M Does this compile for you:
ReplyDeleteprogram Project5;
{$APPTYPE CONSOLE}
{$R *.res}
type
TRec = record
a: real;
end;
var
r: TRec;
begin
FinalizeRecord(@r, TypeInfo(TRec));
end.
Primož Gabrijelčič No, still get the message:
ReplyDelete[dcc32 Error] Project1.dpr(22): E2003 Undeclared identifier: 'FinalizeRecord'
Searching Delphi source folder for 'FinalizeRecord' didn't produce any results ('_FinalizeRecord' exists, but not 'FinalizeRecord'.
Really weird. Which edition of Delphi/RAD Studio do you have?
ReplyDeleteI checked this out and while Berlin defines FinalizeRecord, Seattle only has _FinalizeRecord in the System unit and you cannot call it directly as compiler complains about 'Undeclared identifier: _FinalizeRecord'.
ReplyDeleteGuys I found the solution. Thank you for every one who participated to this post.
ReplyDeleteWe can use Finalize function instead of FinalizeRecord. "Finalize" is just a MACRO !!! It calls FinalizeRecord when working on record.