//include lib: using NDde.Client; // Create a client that connects to XQFAP|Quote. DdeClient client = new DdeClient("XQFAP", "Quote"); // Subscribe to the Disconnected event client.Disconnected += OnDisconnected; // Connect to the server. client.Connect(); // Syncronous Request Operation Console.WriteLine("Request: " + client.Request("FITX*1.TF-Price", 60000)); // Asynchronous Request Operation client.BeginRequest("FITX*1.TF-Price", 1, OnRequestComplete, client); // Advise Loop client.StartAdvise("FITX*1.TF-Price", 1, true, 60000); client.Advise += OnAdvise; // private static void OnRequestComplete(IAsyncResult ar) { try { DdeClient client = (DdeClient)ar.AsyncState; byte[] data = client.EndRequest(ar); Console.WriteLine("OnRequestComplete: " + Encoding.ASCII.GetString(data)); } catch (Exception e) { Console.WriteLine("OnRequestComplete: " + e.Message); } } ....other NDde applications [C#][WinForm]利用程式使用DDE(Dynamic Data Exchange)來打開PDF or ExcelViewer自動列印PDF or Excel檔案 [Office][C#]使用動態資料交換 (DDE) 將 EXCEL 檔案輸出至印表機進行列印
2010年5月20日 星期四
NDde....
底下是我為了解決RealDDE Crack時的替代方案,可參考底下的連結.
Ref:
談談 C#.NET 連結 DDE Server 的設計觀
C# DDE 用戶端(Client) 的範本(含源碼下載與說明)
from : Kenming's 軟體設計思維
NDde Source Code
Ref:
NDde
from NDde
主要原因在於RealDDE 會透過API Access 的方式存取 DDE Client, 但是我們並沒有任何 Luck, Event trigger的機制, 導致 sample/(s) 的次數過大時, 會造成 "Exceed Limit" 的狀態.
解決方式:
1. 把 sample ratio 調小
2.更改 DDE Client TimeOut 的時間
$Win32::DDE::Client::Timeout = 1000; ->
$Win32::DDE::Client::Timeout = 6000;
3. combine NDde 2 Our Environment....
call "NDde.dll " use Perl Win32 api ...
NDde Client 原理
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言