0
TaiPan Realtime COMサーバーからイベントを取得しようとしています。私はそこから他のデータを抽出することができます。キーへのアクセスが正しく機能しています。C#COMイベントが起動されない
しかし、私がイベントを取得しようとすると、その機能は何とか起動されません。うまくいけば、これは小さな間違いです。読みやすくするために、小さなテストコードを作成しました。これはあなたにとって読みやすいです。これらのIDをStreamに追加すると、Visual Basicデバッガが動作し、com_testのCPUアクティビティが表示されます。
私はイベントがありますが、どうにかしてイベントハンドリングに間違いました。
ありがとうございました。
using System;
using System.Collections.Generic;
using TaiPanRTLib;
namespace com_test
{
class Program
{
static void Main(string[] args)
{
var handle = new handle();
handle.start();
Console.ReadLine();
}
}
public class handle
{
public int counter;
// this is a list contains the internal numbers of the taipan Software
public static List<int> numbercodes = new List<int>(new int[] { 78379670, 78379685, 78379692, 78379669, 78379729, 78379672, 78379674, 78379698, 78379682, 78379681, 78379704, 78379689, 78379694, 78379673, 78379697, 78379687, 78379702, 78379690, 78379668, 78379671, 78379715, 78379666, 78379706, 78379727, 78379679, 127289939, 78379677, 78379693, 78379676, 78379678, 78379680, 78379688, 78379726, 78379686, 78379696, 78379675, 78379667, 78379703, 78379691, 78379684, 78379700, 78379699, 78379705, 78379695, 78379701, 78379664, 78379716, 78379982, 78379665, 78379707, 78379728, 78379717, 78379719, 7837971 });
void TPRTDataStream_Bezahlt(int SymbolNr, float Kurs, float Volume, DateTime Zeit)
{
Console.WriteLine("peng"); // never see this in window - so not fired?
counter += 1;
}
public void start()
{
TaiPanRealtime TPRTObject = new TaiPanRealtime(); // connects to launches Application
DataStream TPRTDataStream = (DataStream)TPRTObject.DataStream; // attach to the DataStream Object.
foreach (int db_num in numbercodes)
{
TPRTDataStream.Add(db_num, 0); // This adds the internal dbnumber to the Stream
}
TPRTDataStream.Bezahlt+=new _IDataStreamEvents_BezahltEventHandler(TPRTDataStream_Bezahlt);
while (true)
{
Console.WriteLine(counter); // counter stays 0 all the time
System.Threading.Thread.Sleep(1000);
};
}
}
}
まだコードをステップしましたか? –
私の不明な点は申し訳ありませんが、私はそのようにする方法をGoogleに伝える必要があります。 CPUの縫い目が今やピークに達しています。私の推測は、私は間違ったイベントを処理することです。私のメインコードはそれ以上のものです。元のコードでは、そのcomサーバーから大量のデータを抽出します。しかし、イベント.....とにかく私はgoogleとそのコードをステップしてみてください。 – Steven