Znalazłem w internecie program JSONtoDelphiClass (http://www.pgeorgiev.com/?p=1832). Wszystko fajnie, ale mam problem z wykorzystaniem wygenerowanej klasy w kodzie. I teraz konkrety: wygenerowany kod wygląda tak:
interface
uses Generics.Collections, Rest.Json;
type
TErrors_dataClass = class
private
FArtykul: String;
FCode: String;
public
property artykul: String read FArtykul write FArtykul;
property code: String read FCode write FCode;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TErrors_dataClass;
end;
TItemClass = class
private
FErrors: String;
FErrors_data: TArray<TErrors_dataClass>;
public
property errors: String read FErrors write FErrors;
property errors_data: TArray<TErrors_dataClass> read FErrors_data write FErrors_data;
destructor Destroy; override;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TItemClass;
end;
TRootClass = class
private
FItems: TArray<TItemClass>;
public
property Items: TArray<TItemClass> read FItems write FItems;
destructor Destroy; override;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TRootClass;
end;
Natomiast moja nieśmiała próba użycia tak:
procedure TForm6.Button3Click(Sender: TObject);
var
test:unit7.TRootClass;
test2:unit7.TErrors_dataClass;
test3:unit7.TItemClass;
begin
test2:=unit7.TErrors_dataClass.Create;
test2.artykul:='p';
test2.code:='y';
showmessage( test2.ToJsonString);
test3:=unit7.TItemClass.Create;
test3.errors:='ooo';
test3.errors_data[0]:=unit7.TErrors_dataClass.Create;
test3.errors_data[0].FromJsonString(test2.ToJsonString);
showmessage(test3.ToJsonString);
end;
Kompilować się kompiluje, ale przy próbie użycia wyświetla mi AV (00000000), jakbym próbował się dostać do nieistniejącego adresu. Nawet nie wiem co robię źle