#1 2025-05-20 14:07:57

salah eddine frigini
Member
Registered: 2024-10-12
Posts: 10

Is Init required before assigning a variant to TDocVariantData?

Is it necessary to initialize TDocVariantData before assigning a variant via TDocVariantData(v)?
I'm using TDocVariantData and assigning a variant created via _JSON(...) directly like this:

var
  doc: TDocVariantData;
  i:integer;
begin
 doc := TDocVariantData(_JSON('{ "id": 12 }'));
 doc.addorupdatevalue('id',0);

  for i := 0 to doc.Count - 1 do
    WriteLn(Format('%s = %s', [doc.Names[i], VariantToString(doc.Values[i])]));

end;

This works fine in my tests, but I'm wondering:

Is it safe to skip doc.Init in this case? Or should I be calling init

Offline

#2 2025-05-20 15:15:51

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 15,025
Website

Re: Is Init required before assigning a variant to TDocVariantData?

It is not mandatory, but it is easier, faster and safer to just write:

doc.InitJson(...);

Offline

Board footer

Powered by FluxBB