Einzelnen Beitrag anzeigen

Maliko

Registriert seit: 20. Jun 2019
91 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Accessviolation bei TJSON.ObjectToJsonObject mit TArray<T>

  Alt 2. Sep 2021, 13:39
Args. Ich hab den Fehler. Es hatte überhaupt nichts mit dem Array an sich zu tun.

Ich benutze folgende Schleife um das Array zu füllen:
Delphi-Quellcode:
while not mQuery.Eof do
begin
  mData := TDiagonalLimitVorgang.Create;

  try
    mData.internalInvoiceId := mQuery.FieldAsString('referenzid');
    mData.amount := mQuery.FieldAsFloat('fakturabetrag');
    mData.openAmount := mQuery.FieldAsFloat('fakturabetragrest');
    mData.paymentTagetDate := TASDateUtils.ConvertDateToInternational(mQuery.FieldAsString('zahlungszieldatum'));
    mData.dateOfEntry := TASDateUtils.ConvertDateToInternational(mQuery.FieldAsString('fakturadatum'));

    if(mData.amount <> mData.openAmount) then
    begin
      mData.paymentDate := TASDateUtils.ConvertDateToInternational(DateToStr(Self.GetPaymentDateByInvoice(mQuery.FieldAsString('mandantid'), mQuery.FieldAsString('vorgangid'), mQuery.FieldAsString('fakturaid'), mQuery.FieldAsString('versionid'))));
    end;

    SetLength(Result, Length(Result) + 1);
    Result[Length(Result) - 1] := mData;
  finally
    FreeAndNil(mData);
  end;

  mQuery.Next;
end;
Was passiert wohl mit dem Objekt im Array wenn ich im finally ankomme? Nachdem ich das FreeAndNil entfernt habe, funktionierte es einwandfrei.
  Mit Zitat antworten Zitat