Delphi TJSONObject 開放時に EInvalidPointer のエラー
Delphi TJSONObject + TJSONArray を利用して、開放しようとするとエラーが発生
- Json := TJSONObject.Create;
- try
- JsonTagsArray := TJSONArray.Create;
- try
- Json.AddPair('Array', JsonTagsArray);
- Caption := Json.ToString
- finally
- JsonTagsArray.Free;
- end;
- finally
- Json.Free; // ここでエラー
- end;
- Json := TJSONObject.Create;
- try
- JsonTagsArray := TJSONArray.Create;
- try
- Json.AddPair('Array', JsonTagsArray);
- Caption := Json.ToString
- finally
- JsonTagsArray.Free;
- end;
- finally
- // Json.Free; // メモリリークが起きる
- end;
- Json := TJSONObject.Create;
- try
- JsonTagsArray := TJSONArray.Create;
- try
- Json.AddPair('Array', JsonTagsArray);
- Caption := Json.ToString
- finally
- // JsonTagsArray.Free; // 開放しなくてよい
- end;
- finally
- Json.Free;
- end;
aaaa
コメント