2010-06-27 75 views
1

我想設計一個使用屬性返回記錄的COM庫。德爾福COM嚮導允許我創建的屬性,但是當它被編譯,我得到在Delphi COM嚮導中使用記錄作爲屬性類型

[GENTLB Error] Project1.ridl(1): Error saving C:\Users\mark\Documents\RAD Studio\Projects\Test\Project1.tlb: Inconsistent property functions 

所產生看起來像這樣RIDL文件...

[ 
uuid(24BD89DB-AB22-430C-874C-EC5CEA062E80) 
] 
struct Record1 
{ 
    long Field1; 
}; 


[ 
    uuid(FA48C31A-56B8-4A86-8325-5A2000AA77B2), 
    helpstring("Interface for XXX Object"), 
    oleautomation 
] 
interface IXXX : IUnknown 
{ 
    [propget, id(0x00000065)] 
    HRESULT _stdcall Property1([out, retval] struct Record1* Value); 
    [propput, id(0x00000065)] 
    struct Record1 _stdcall Property1([in] long Value); 
}; 

誰能明白我我在這裏做錯了嗎?

回答

1

的「propput」部分應該是這樣的:

[propput, id(0x00000065)] 
HRESULT _stdcall Property1([in] struct Record1 Value); 
+0

謝謝,它確實解決這個問題,唯一的問題是,我沒有創造RIDL像擺在首位,在COM嚮導沒有。我會試着重複一遍,看看發生了什麼問題。 – Mmarquee 2010-06-27 13:04:08

+0

將錯誤報告給QC。 – 2010-06-28 22:07:52

相關問題