2013-02-04 51 views
3

我已經寫了一系列在Delphi中的ActiveX控件出現在其他開發環境(如Visual Studio或dBASE for Windows來使用,因爲兩個示例)如何讓我的ActiveX控件工具箱上的在Visual Studio(和其他人)

我使用了作爲RAD Studio IDE的一部分提供的ActiveX嚮導來爲我的基於VCL的控件生成ActiveX「綁定」(對於更好的單詞),但它看起來不會產生源使它們出現在IDE組件托盤上是必要的。

通常在這些IDE(Visual Studio和dBASE Plus)上,我可以簡單地導入一個ActiveX控件,它將顯示在他們的工具箱(他們的組件托盤的版本)上,並帶有他們定義的圖標。

那麼,在Delphi中生成的我自己的ActiveX控件不會(它們導入得很好,但不會顯示在托盤/工具箱中),而且我一直在搜尋谷歌,試圖找到最後兩個解決方案周。

已經悲慘地失敗了,我已經決定要在這裏問:

如何讓我的ActiveX控件出現在工具箱在Visual Studio(和其他人)?

感謝您的任何意見/建議。

編輯:一些額外的信息...

我一直在試圖既XE2以及XE3要做到這一點,它已每次都失敗......但是,當我做同樣的事情(使用嚮導)與Delphi 2007,該組件的圖標確實顯示在其他IDE的Pallet/Toolbox中。 這意味着問題是在Delphi 2007之後的某個時候推出的,並且很可能是一些RTL/VCL修改的結果。

+1

這聽起來像你需要Embarcadero公司藉此起來。 –

+0

我剛用BitButton創建了一個簡單的測試。導入工作。該控件出現在指針旁邊工具箱的常規部分。當我拖動VS2012(OXYGENE不是一個完整VS)形式在控制工作室告訴我 - 無法導入該ActiveX控件。請確保它已正確註冊。但我發現沒有OCX控制工作。所以我不知道這個測試是否合適。 – 2013-02-04 21:27:52

+0

@MichaelBunny:你需要註冊ActiveX服務器(Delphi的Run-> Register ActiveX Server,或者在命令提示符下使用項目文件夾中的regsvr32 YourControl.DLL),然後才能真正使用它。 –

回答

1

我的研究結論是,德爾福(2009年至XE3)的Unicode的版本不產生對ActiveX正確的標記使用所提供的嚮導控件。

此外,自2007年以來對RTL和VCL的更改意味着,即使您手動生成必需的源標記,嵌入非Delphi應用程序(例如Visual Studio和dBASE)時,控件也不會正常工作加)。其中很大一部分與VCL推定符合VCL的Parent屬性值有關,其中屬性更新(如ParentFont)將導致訪問衝突錯誤。

在我的情況下,解決方案一直以生產出口ActiveX控件在2007年德爾福(它是爲「公平競賽」與其他ActiveX控件消費者的最新版本)

希望這些信息將長期保存你以及爲了得出這個結論,我必須經歷煩人的事實調查過程。

相關問題