DLLをアンロードする方法 - ページ 7

 

アレックスエロー

休暇から帰ってきたよ、野郎どもに囲まれてるんだね。一緒に殺そうぜ )))))

HIdeYourRichess,

インジケータを削除した後にdllを読み込む問題は確かに存在しますが、それはdllのコード自体にエラーがあるのではなく、開発者がいわゆる「合理的な制限」で外部ライブラリの利用を制限しているためなのです。

その上限が何なのか、私は知らない。わざわざ詳しく説明してくれなかった。ただし、この制限内に収まるライブラリであれば、アップロード、ダウンロードは問題ありません。

しかし、邪魔なプログラマーが過剰にメモリを操作したり、計算のためにターミナルのプロセッサ時間を奪ったり、神聖な(なんと)- terminal.exe メッセージキューに触れたりし始めると、すぐに悪のメタコットが復讐を開始します。

Dllがアンロードされないのは、今に始まったことではありません。そんな、髪をカールさせるようなものに出会ってしまった。例えば、いくつかのインジケータ(DLLコールを含まないもの)が、互いのアドレス空間に入り込むようになったのです。また、DLLから簡単な関数を呼び出した後でも(全く何もしていなくても-具体的に試してみました!)、ターミナルが突然MQLプログラムの行をスキップ(!)してしまいます。for(i=limit;i>=0;i--) の時系列ループが完了した後、負の指数の領域に抜ける(これはアラートで必然的に確認された)!!!!何より驚いたのは、あるミリ秒 後に事態の滑稽さをすべて認めて即座に糞をしたterminal.exeが、すぐにカタカタ音を止めてiを元の値0に戻し、何事もなかったようになったことである。

Ex4プログラムのコードの取り扱いに関するエラーを修正した後、regsvrユーティリティが何をするかについて説明します。

 
HideYourRichess >> :

もう一度言いますが、私はどこの国のDLLも問題にしていません。もし問題があれば、それはあなたのプログラミングの問題であり、MSもMTも責められることはないでしょう。そして、"古い "VCを使う必要があること......とにかくクリアにすることです。

おかしな人だ。

すべてはテストによって解決される。

.

そこで、DLLを取り出し、EAから引き抜く - 取り出せるのであれば

MTランニングで、それこそヒーローです!おめでとうございます。

そして、もし失敗したら、なぜここに書くのですか?誰のために?

お客様に、製品を扱う際にどのような扱いを受けるのかを見ていただくためですね。

それとも、誰に相談してはいけないか、みんなちゃんとわかっているのでしょうか?

.

今、思うのは、質問した人はどんな答えを望んでいるのだろうということです。

exeを作成し、ダイナミックリンクされたDLLをロードする。

をGetProcAddress()を介して呼び出し、その呼び出しを引き出します。

Exeを実行したときに、アンロード後にDllが削除されない場合は、問題があります。

これは、作り物ではなく、本当の客観的な結果を得るということです。

あなたのプログラミング」のいくつかの「エラー」。

そして、この得られた結果に対して、ある仮説を立てることができるのです :-)...

.

理論、悔い改めますが、すべてここで作り上げました。

でもそれは、あなたがちゃんと返信するために%を上げるのが面倒くさいからでしょう。

.

そしてVBAGは...そうだな...。ブラボー!

感覚的な問題の説明、具体的な事例、すべてが鋭く明瞭になった。

しかし、あなたがアプリケーションサーバーで作業している場合、DLLの置き換えはすぐに関連性がなくなるでしょう:-)。

.

正直なところ、デバッグのためには、ファイルに*静的な*データを保存しておく方がよいのです。

EAにデータをファイルにダンプしてもらう。

この7年間、数メガバイトのファイルを1行で読み書きしていますが、すべてが非常に高速です。

また,タブ区切りのファイルでは,この大きな文字列を一度に,しかも substr() を使わずに行列に変換することができます。

(コンマ数秒)で、文字列に分割し、さらに列にも分割するのは、どうにも無理があるので

が遅すぎる(数秒だった)。何かがクラッシュしたときに、その問題を*保証*できるよう

は、乱数発生器に頼らず、再現する。

.

そして、この方法なら(!)テストも簡略化されるでしょう。Dllじゃないから。

ONE CLICKの実行ボタンでコンパイル、スリンク、実行と、exe自体が必要なデータを取ってくれるからです。

.

追伸:ただ、「プログラミング」の問題は解決できるのですが......。

 

私のDLLをMT4で使用する場合は、注意と制限をした方が良いというのは、前の同志と同意見です。つまり、上記のことはもちろん、DLLを少しずつ開発すること、エキゾチックなものを作らないことです。あなたのDLLは、MQL4のセミインタプリタという他人の家の一時的な客人です。

2 alsuさん:体調が悪い、やることがないだけ、寝ながら知的なプロジェクトは できないが、オタクとの会話はそれほど精神力を必要としなかったので、走り書きした。 彼らの良心がいつ目覚めるか待っているが、まだ見えない、デマゴギーと口先だけ・・・・。

 
alsu >> :

インジケータを外した後にDLLがアンロードされる問題は実際に存在しますが、これはDLLコード自体のエラーの有無ではなく、開発者が外部ライブラリの利用をいわゆる「合理的制限」で制限したことに起因しています。

alsu>>:

しかし、この制限の範囲内であれば、アップロードもダウンロードも問題なく行える。

しかし、邪魔なプログラマーが過剰にメモリを操作したり、計算のためにターミナルのプロセッサ時間を奪ったり、神聖な(なんと)- terminal.exe メッセージキューに触れたりし始めると、すぐに悪のメタコットが復讐を開始します。

Dllがアンロードされないのは、今に始まったことではありません。そんな、髪をカールさせるようなものに出会ってしまった。例えば、いくつかのインジケータ(DLLコールを含まないもの)が、互いのアドレス空間に入り込むようになったのです。また、DLLから簡単な関数を呼び出した後でも(全く何もしていなくても-具体的に試してみました!)、ターミナルが突然MQLプログラムの行をスキップ(!)してしまいます。for(i=limit;i>=0;i--) の時系列ループが終了した後、負の指数の領域に抜ける(これはアラートで必然的に確認された)!!!!何より驚いたのは、あるミリ秒後に事態の滑稽さをすべて認めて即座に糞をしたterminal.exeが、すぐにカタカタ音を止めてiを元の値0に戻し、何事もなかったようになったことである。

eX4コードの処理エラーを修正した後、regsvrユーティリティが何をするかについて説明します。

よく言われるように、バカだとチンコが折れるんですよ。つまり、MQLで普通に動作するプログラムが書けないのであれば、それはあなたの問題であって、MQLの問題ではない、それだけのことなのです。C言語でバグだらけのDLLを書いても、C言語が素晴らしい言語であることは打ち消されないんだ。そしてここでも、踊りの下手な人、つまりあなたがボールの邪魔をするのです。自分のミスをMTやMSのせいにしたい気持ちはよくわかります。年齢を重ねても治らないものは、どうしようもないのです。

 
HideYourRichess >> :

ここでは、よく言われるように、愚直にチンコを折ればいいのだ。つまり、MQLでまともに動作するプログラムが書けないのは、MQLではなくあなたの問題である、それだけのことなのです。C言語でバグだらけのDLLを書いても、C言語が素晴らしい言語であることは打ち消されないんだ。そしてここでも、踊りの下手な人、つまりあなたがボールの邪魔をするのです。自分のミスをMTやMSのせいにしたい気持ちはよくわかります。年齢を重ねても治らないのであれば......もう何をやってもダメですね。

アバターから判断するに、あなたの年齢では、壊すものも干渉するものもないでしょう。

私のDLLを見たことがありますか?いったいなぜ、悪口と言うのでしょうか?私はグリッチを書いたことがないのですが......時間がないのです。今回の不具合はメタ引用で書かれたものです(ちなみに私はMSにクレームをつけているわけではありません)。あなたが2+2以上の複雑なものをDLLに入れたことがなくても、他の人が入れないとは限りません。2 +2は不具合にならない。

 
jartmailru >> :

おかしな人だ。

すべてはテストによって解決される。


私はそれをテストしました - 私のために正常に動作します。


jartmailru>>:

そこで、DLLを取り出し、EAから引き抜く - 取り出せるのであれば

MTランニングで、それこそヒーローです!おめでとうございます。

そして、もし失敗したら、なぜここに書くのですか?誰のために?

では、お客さまが製品を扱う際に、どのように扱われるかを知ることができるのですね。

あるいは、誰が相談にのってはいけないか、みんながよく知っているように?


取り外せる」とはどういう意味ですか?EAのDLLはちゃんと動作しているのですが。何か完全に間違っているのだろう。

 
HideYourRichess >> :

>>それはあなたの問題であって、MQLの問題ではありません。

インタプリタに不具合がなければ、たとえウンコを漏らしても、コード中のコマンドをスキップすることはないんだ!」。

 
HideYourRichess >> :

取り外せる」とはどういう意味ですか?EAのDLLはちゃんと動作しているのですが。何か完全に間違っているのだろう。

どういうことかというと、EAで特定のDLLを指定する必要があるのです。

その後、Expert Advisorを実行し、Metatraderを終了させないことです。

次に、最も重要なユースケースは、DLLを新しいものに置き換えるというふりをすることです。

メタトレーダーが動作しているときに失敗した場合(ファイルを削除して確認)-。

とすると、システムはそのDLLが使用中であると判断します。

をご覧ください。Expert Advisorは終了し、DLLは削除されていません。

これで、Dllを置き換えるために、アプリケーション全体を再起動する必要があります。

 
AlexEro >> :

私は病気です。

H1N1;)

>> プリフィックスを取得したとのことです。

 
alsu >> :

アバターから判断するに、あなたの年齢では、壊すものも干渉するものもないでしょう。

私のDLLを見たことがありますか?いったいなぜ、悪口と言うのでしょうか?私はグリッチを書いたことがないのですが......時間がないのです。今回の不具合はメタ引用で書かれたものです(ちなみに私はMSにクレームをつけているわけではありません)。あなたが2+2以上の複雑なものをDLLに入れたことがなくても、他の人が入れないとは限りません。2 +2は不具合にならない。


おっと、ムユエがアバターをバカにするような真似をしてきましたね。次は愛称をからかおうとしている。


前の講演ではどんなことを話したのですか? 驚く聴衆にどんな恐怖を伝えたのですか?それを見ていると、純粋に戸惑うばかりです。それを手に入れるには、相当な努力が必要でしょう。それゆえ、あなたのDLLに悪口を言っているのです。しかし、あなたが言ったこれらの恐怖がDLLに関係ないのであれば、なぜあなたはそれを話しているのでしょうか?


ところで、2+2ってどういう意味ですか? 難易度を表すものですか?Excelのように2+2のようなものを自力で実装してみると、その難しさに驚くはずです。