2017-01-04 20 views
0

我有一個single-threaded COM DLL內置和編寫在VisualFoxPro,我想使用從DLL的程序在C#勝利形式的應用程序。使用FoxPro編寫的DLL在C#windows窗體應用程序

現在是不是添加到DLL的引用的問題,但如果我想使用DLL像我通常

using System; 

等做到這一點,新引用的DLL將不顯示向上。

有沒有可能引用或包含VFP編寫的DLL?

然後從它調用過程呢?

或者我需要從我的項目中導入DLL,從那裏引用它,我需要改變我的VS中的東西嗎?

可悲的是,我的研究沒有帶來任何結果,只有相反的方式,這並沒有幫助我。

回答

2

您不能使用managed code這樣的庫,但是您可以使用非託管代碼和非可操作性。

首先,瞭解一些interoperability basics,再看看一些使用FoxPro的庫

+0

對不起,但我想你誤會了我。我在FoxPro中編寫了一個DLL,並希望在即將編寫的C#應用​​程序中使用該DLL。你的例子與我搜索的內容相反。 – DatRid

+0

第二個鏈接包含兩種方式 - 從c#使用FoxPro dll,反之亦然 – Nino

+1

@DatRid,我之前跳過了評論,因爲Nino已經給出了答案。看起來你首先沒有創建olepublic。創建olepublic類,然後簡單地使用tlbimp.exe讓你的dll在.Net中可用。但是,如果你問我,FWIW不會創建和使用來自.Net的VFP dll,而是用C#編寫你的代碼(至少這是我以艱苦的方式學到的教訓)。 –

2

讓我們回到了幾年的例子,從我請記住,如果引用良好,則需要在VFP編譯的dll中創建OlePublic對象的INSTANCE。然後,從該對象實例中,您應該能夠訪問並調用您公開的函數和過程。先嚐試一下,我會試着看看我能挖掘出什麼。

+0

好的,謝謝,我會試試看。 (只有班級是OlePublic可定義的?)不需要急,今天我不能再給你更多的反饋,但我明天會回來的! – DatRid

+0

@DatRid,查看來自Nino第二個例子的鏈接。來自Code雜誌的團隊深諳VFP世界,並展示OlePublic創建一個類的示例代碼,並可供在網上使用。基礎是一樣的。一個類,作爲OlePublic,然後你可以從中揭露出來。讓我知道你明天會從中取得哪些進展,如果需要的話,會嘗試獲得更具體的例子......也許通過聊天或直接發送電子郵件。 – DRapp

相關問題