簡體   English   中英

RIDL的刷新實現不會生成OLE控制代理類聲明

[英]Refresh Implementation of RIDL does not generate OLE Control Proxy class declaration

我已經將Delphi 2005 OCX項目轉換為XE2,這導致將原始TLB更改為RIDL。 使用視圖| XE2中的類型庫類似於Delphi 2005,我可以看到所有的接口和屬性/方法。

原始2005項目已經具有從原始TLB生成的_TLB.pas單元,但是我需要添加一個新屬性,因此我將其添加到RIDL中並選擇了“刷新實現”選項。

但是,雖然原始的_TLB.pas包含一個接近結尾的部分,如下所示:

// *********************************************************************//
// OLE Control Proxy class declaration
// Control Name     : TTransControlSHX
// Help String      : TransControlSHX Control
// Default Interface: ITransControlSHX
// Def. Intf. DISP? : No
// Event   Interface: ITransControlSHXEvents
// TypeFlags        : (34) CanCreate Control
// *********************************************************************//
  TTransControlSHX = class(TOleControl)

從RIDL生成的新_TLB.pas文件不包含此部分。

我該如何找回? 沒有它,我的使用OCX的應用程序都會抱怨TTransControlSHX是一個未聲明的標識符。

較早版本的Delphi在COM的TLB pas文件中創建了OLE代理類,但是,當您要編寫客戶端代碼以使用該COM對象時,必須導入類型庫(選擇“作為單元”),然后您將擁有THAT TLB pas文件中的OLE代理類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM