2011-10-10 85 views
0

交流我寫了一個C#.NET 4.0的應用程序,我需要將數據發送到一個VB6應用程序。 VB6可以通過DDE發送和接收數據,但是我找不到任何適用於我的C#應用​​程序的工作和/或可理解的DDE協議。我可以嘗試更改VB應用程序的通信協議。 您對合適的協議有任何建議嗎?C#應用程序與VB6應用程序

我發現這個topic,我想我會選擇TCP winsock協議,它可以在兩個工作區使用,但是我找不到任何這樣的多語言使用Winsock的工作代碼示例。 我會很高興得到這樣的例子。 謝謝!

+0

你有沒有想出解決辦法? – Akin

+0

我很抱歉,我不記得了......那是很久很久以前...... 我想我只是把它扔了並在共享文件夾中使用文件IO溝通。效率不高,但它做到了工作。 – Seffix

回答

2

如果你想堅持DDE你可以看看這個項目:http://ndde.codeplex.com/http://www.angelfire.com/biz/rhaminisys/ddeinfo.html。我沒有使用它們的經驗,但他們的目標是解決這個問題。

但是,如果您對VB6應用程序的源代碼,那麼它可能是更簡單的爲你揭露一個COM接口。

您可以通過改變從標準EXE到的ActiveX EXE項目,並創建至少一個公共類暴露你的方法做到這一點。我爲以前使用DDE的所有VB6應用程序完成了此操作,並對其進行了很好的推薦。它爲客戶端應用程序提供了一個更好的界面。

+0

VB6應用程序的問題是我有權修改它。這是第三方應用程序。我只能建議對兼容性進行更改。你提出的建議對詢問太多了。 – Seffix

+0

但是,我會再次檢查DDE問題。 – Seffix

+2

+1 DDE的另一個選擇是編寫一個VB6工具來爲您發送/接收DDE。使它成爲一個ActiveX EXE,然後你就可以從.Net調用它 – MarkJ