1
我試圖調查DeHL德爾福2010年自定義屬性,我得到的問題。Delphi 2010 DeHL序列化XML和自定義屬性:它是如何工作的?
TAppParamTest = class
public
User: string;
Password: string;
end;
TAppParam = class
private
FTest: TAppParamTest;
public
constructor Create;
destructor Destroy; override;
property Test: TAppParamTest read FTest write FTest;
end;
這個效果很好:當我序列我有這個
<TAppParam xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:DeHL="http://alex.ciobanu.org/DeHL.Serialization.XML" DeHL:class="AppParam_unt.TAppParam" DeHL:refid="1">
<FTest DeHL:class="AppParam_unt.TAppParamTest" DeHL:refid="2">
<User>User</User>
<Password>Psw</Password>
</FTest>
</TAppParam
,但我想這一點:
<TAppParam xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:DeHL="http://alex.ciobanu.org/DeHL.Serialization.XML" DeHL:class="AppParam_unt.TAppParam" DeHL:refid="1">
<Test DeHL:class="AppParam_unt.TAppParamTest" DeHL:refid="2">
<User>User</User>
<Password>Psw</Password>
</Test>
</TAppParam
,所以我希望把定製我的類屬性:
TAppParam = class
private
[XmlElement('Test')]
FTest: TAppParamTest;
public
constructor Create;
destructor Destroy; override;
property Test: TAppParamTest read FTest write FTest;
end;
但它不會編譯:(
我在哪裏犯錯?
我只是試過,它編譯得很好。你得到什麼樣的編譯器錯誤,以及你的Delphi版本是什麼? – 2010-04-01 12:58:21
我使用德爾福2010年,我有這個在法國「E2034 Trop deparamètresoriginaux」太多的英語參數。我使用DeHL 0.8。謝謝你的回答。 – 2010-04-01 14:40:05
新DeHL鏈接; https://github.com/pavkam/DeHL – 2014-06-20 14:16:44