記事をありがとう。面白かったよ。
ModIcqはそのままでも十分使えるけど、改造した方が作業しやすいんだ :)
IcqMod.dllは Ansi文字列で動作し、MT5の文字列はUnicode形式であるため、MT5で直接使用することはできません。
正確ではありません。StringToCharArrayを使って 変換することができます。例えば、このコードは私のために動作します。
struct ICQ_CLIENT { uchar status; ushort sequence; ulong sock; }; #import "IcqMod.dll" ulong ICQConnect(ICQ_CLIENT& client, uchar& host[], ushort port, uchar& login[], uchar& pass[], int proxy); void ICQClose(ICQ_CLIENT& client); ulong ICQSendMsg(ICQ_CLIENT& client, uchar& uin[], uchar& message[]); ulong ICQReadMsg(ICQ_CLIENT& client, uchar& uin[], uchar& msg[], int& msglen); #import void OnStart() { // 文字列を文字の配列に変換してDLLに渡す uchar login[], password[], server[]; StringToCharArray("123456789", login); StringToCharArray("password", password); StringToCharArray("login.icq.com", server); // 接続する ICQ_CLIENT client; ICQConnect(client, server, 5190, login, password, 0); for (;;) { uchar uinR[10], msgR[512]; int len = 0; // 受信メッセージをチェックする ICQReadMsg(client, uinR, msgR, len); if (len > 0) { string uinStr = CharArrayToString(uinR), // 送信者のUIN msgStr = CharArrayToString(msgR); // メッセージ uchar msgS[]; // メッセージReceived: の前に追加し、送り返す。 StringToCharArray(「受信: " + msgStr, msgS); ICQSendMsg(client, uinR, msgS); } Sleep(100); } }
しかし、常に変換するのは不便なので、この意味ではあなたのライブラリの方がずっと使いやすい。
プロキシについても考えました。おそらく、ローカル・マシンで十分に機能する設定があるのではないでしょうか?つまり、プロキシを使わなければ、プロキシにいくつかのデフォルト設定が設定され、すべてが機能する。オプションとして、ライブラリに2つのConnect関数を作ることができます。
ライブラリに加えられた変更は、文字列に渡される値の型に影響するだけではない。単純すぎるだろう。送信されるメッセージの形式が変わり(dllのソースコードのBuildQuery_SendMsg_Unicode関数を参照)、ネイティブ(バイナリ)ではなくユニバーサル(HTML)になった。IcqMod を通して送信されたロシア語リテラルが正しく受信されるという事実は、あなたがテストしているネイティブ ICQ プログラムのメリットです。http://wap.ebuddy.com/ や別の ICQ マネージャーでロシア語メッセージの受信をテストしてみると、キリル文字の代わりに走り書きが表示されるでしょう。キリル文字だけでなく、世界中のどの言語でも私のプロジェクトが正しく動作するICQマネージャーを十数個試しました。もちろん、宣伝で申し訳ない。
プロキシについて。ローカルではなく、リモートのSOCK4/SOCK5をテストしてみた。うまくいかなかった。だからプロジェクトでは一切使わないことにしたんだ。必要であればやってみるつもりだ。ありがとう!とても分かりやすかった。
このスレッドにお邪魔するのは久しぶりです。私のicq_power.mqhがコンパイルできません。*2 Cpp compiler 02:50:00 MSVisual Studio compiler is not installed in the system or failed initializing the compiler*と表示されます。
どういう意味でしょうか?
久しぶりにこのスレッドにお邪魔します。私のicq_power.mqhがコンパイルできません。*2 Cpp compiler 02:50:00 MS Visual Studio compiler is not installed in the system or failed initializing the compiler*と表示されます。
これはどういう意味でしょうか?
それは
MSVisual Studio コンパイラがシステムにインストールされていない。
または
コンパイラの初期化に失敗しました。
それはどういう意味ですか?
http://wap.ebuddy.com/、または別のICQマネージャーでロシア語のメッセージの受信をテストしてみると、キリル文字の代わりに走り書きが表示されます。私は十数種類のICQマネージャーを試しましたが、私のプロジェクトはキリル文字だけでなく、世界中のどの言語でも正しく動作しました。もちろん、宣伝のために申し訳ありません。
2つの質問があります:
1) x32システムでも動作しますか?
2) 誰もx64用に再設計していないのですか? (x64では動作しません) .
私は答えを非常に感謝されるでしょう。私はそれを作り直すことを試みた-それは働かなかった-私が働くとき、それは落ちる
2013.11.07 02:14:24 icq_demo (EURUSD.m,M1) Status_RECV_ERRORPS: 正確にICQが必要...
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
新しい記事 MQL5でICQを用いたExpert Advisorの連携 はパブリッシュされました:
本稿は、Expert Advisor と ICQ ユーザー間の情報交換について述べていきます。いくつかの例を提供します。ICQ クライアントを使用し、携帯電話やPDAでクライアント端末から遠隔でトレーディング情報を受け取りたい方には興味を引かれる資料を提供することとなるでしょう。
作者: Andrey Voytenko