我可以獲得一些代碼示例以將DDE用作服務器嗎?我知道如何使用客戶端部分,但無法將我的應用設置爲充當服務器並接收數據。如何使用DDE服務器
回答
看看您的Delphi安裝中名爲DDEDemo的文件夾。這是一個Delphi使用的DDE項目(我不是100%確定它仍然包含在內,但看一看)。演示包括一個DDE客戶端和服務器。
編輯 - 對於某些示例代碼,請嘗試使用link。
使用DDE服務器非常簡單,您甚至不需要示例代碼。你可以只是在Delphi的窗體設計器內設計時做到這一點:
要創建發出數據的服務器:
- 刪除一個TDDEServerConv和 TDDEServerItem表單或數據 模塊。
- 服務器項目連接到 服務器會話(使用對象檢查器中設置 DDEServerItem1.ServerConv = DdeServerConv1 ,有 下拉列表中,但雙擊 就足夠了)。
- 的DDEServerItem.Text值設置爲一些有效的文本值(即「A」)
接收數據,你可能希望由DDE客戶端傳遞數據給服務器執行的宏。爲此,您使用DdeServerConv.OnExecuteMacro事件。嘗試將參數Msg:TStrings轉儲到這樣的備忘錄:
Memo1.Lines.Assign(Msg);
現在保存並運行您的項目。
爲了在測試它在Excel類型:
=Project1|DdeServerConv1!DdeServerItem1
Excel的DDE客戶語法部分是應用程序名,接着豎線,對話名稱,隨後感嘆號,然後項名稱。
你會看到在Excel中出現的值(A,或任何你放入項目中的Text屬性)。
這是一個正常工作的單品DDE服務器,沒有您寫的任何代碼。
我通常會發現,我在運行時創建對話和項目,而不是在設計時,在對我更有用的現實世界場景中。
對於較老的(非Unicode)Delphi版本,還有一個名爲Django的全功能商業產品,它可以幫助DDE工作很多。
我想你也許正在尋找關於如何在delphi端編寫「DDE Poke」命令處理程序的信息。我沒有演示。我試了一下,顯然這些東西並不適合我(服務器上的項目有一個OnPoke事件,我寫了一個簡單的客戶端,名爲PokeData,但它不起作用)。
嗨,不能讓這個工作。我不知道如何在Excel中使用DDE,但我做了一個小客戶端測試應用程序。例如,這適用於mIRC:http://pastebin.com/pqhLuZWN我可以成功地從mIRC中檢索數據,例如暱稱等。我嘗試按照您告訴我的方式將其與服務器測試應用程序一起使用,但它從不顯示任何內容備忘錄。另外,如何在服務器中指定DDE服務名稱? – hikari 2011-02-27 12:11:28
如果您嘗試了它並且無法正常工作,您可能會輸入錯誤的服務器名稱,主題名稱或項目名稱。這是唯一的三種合理的可能性。這不像你想象的那麼難。你看到我上面說了什麼?我的項目的服務器名稱是Project1。會話名稱是DdeServerConv1,而項目是DDeServerItem1。 – 2011-03-10 01:36:46
- 1. 在Qt中使用DDE服務器
- 2. Excel 2016無法訪問DDE服務器
- 3. NDDE實現DDE服務器,在服務器提醒
- 4. DDE服務器Windows:orcascr9.exe:應用程序錯誤
- 5. DDE服務器窗口 - 應用程序錯誤
- 6. 如何使用wpm2 bps服務器的bpmn服務任務?
- 7. 如何使服務器端
- 8. 如何使用DDE使用Javascript,而無需使用Active X的?
- 9. 如何使用下拉從服務器我得到使用knockoutjs從服務器
- 10. SendMessage()當用於連接到DDE服務器時,WINAPI獲取掛起
- 11. 如何使用Ruby 2.4.0服務器
- 12. 如何使用Solr的雲服務器
- 13. 如何使用服務器套接字
- 14. 如何使用jwt保護服務器
- 15. 如何使用服務器數據庫?
- 16. 如何使用服務器時
- 17. 我如何使用Selenium服務器
- 18. 如何使用libcurl作爲服務器?
- 19. 如何使用外部服務器
- 20. 如何使用bash跨服務器scp?
- 21. 如何從FTP服務器使用maven
- 22. SSIS:如何使用鏈接服務器:
- 23. 如何從HTTP服務器使用AJAX
- 24. 如何使用git與服務器?
- 25. 如何使用python web服務器
- 26. 使用VBA操作DDE?
- 27. 如何啓用服務器
- 28. 如何使用節點服務動態圖像服務器
- 29. 如何使用RED5閃存服務器爲MP3服務
- 30. 如何使用Apache服務Django服務器和React客戶端?
不包括了,至少不能用XE看到 – hikari 2011-02-26 13:44:45
哇..那是D1! (也許也是D2,但不是D3)。你有相當的記憶力。與D2007編譯,不知道他們是否按預期工作。 – 2011-02-26 16:38:09
該演示僅涵蓋客戶端部分。 – hikari 2011-02-26 19:36:05