ライブラリ: DLLなしでのファイルマッピング - ページ 6 123456789101112 新しいコメント Mykola Demko 2013.08.27 20:12 #51 TheXpert: スタンダードはスタンダードだから、何も突っ込むことはない、とんでもない。エラーが発生しました--開発者に報告してください。それ以外の方法はない。標準のバイブルでは、呼び出しはGetLastError.となっているが、本来は ::GetLastError.そうでなければ、kernel32::GetLastErrorは バグです。修正しない方法は? --- 2013.08.27 20:16 #52 Urain:どうして修正されないのか?ヒントも示したし、書いた。#インポートintGetLastError(int )---これでコンテキストは自由だ。そのようにしたくない場合は、RtlGetLastErrorが似ている。 Mykola Demko 2013.08.27 20:20 #53 sergeev:私はほのめかし、示し、そして書いた。#インポートint GetLastError(int )---コンテキストは自由だ。そうしたくない場合は、RtlGetLastErrorも似たようなものだ。 MQの開発者だけが私たちに注意を払い、そうでなければ彼らは誰のためにもコードを書かず、人々が苦しむことになるのです。 TheXpert 2013.08.27 20:57 #54 sergeev:RtlGetLastError - 似たようなものです。 RtlGetLastWin32Error - 似たようなもの。 akskarabey 2014.09.03 23:40 #55 共有メモリのサイズが4096バイトより大きい場合、CMemMapApi::Write / Read(memmaplib.mqhの219行目と231行目)のmemcpyXが"Access Violation "を表示します。memcpyに4kbより大きなメモリブロックを読み込ませるために「どこを掘ればいいのか」教えていただけませんか? 削除済み 2015.01.04 19:33 #56 作者はその仕事に大きな敬意を払っている。もし作者が気にしないのであれば、この2つのクラスを私のSCLクラスライブラリに含めるつもりです。しかし、マイクロソフトの標準的な型を定義するという点で、このクラスには誤りがあり、それがアルゴリズムに他の誤りを引き起こす原因となっています。例えば、DWORD型はintではなくuintです。このため、クラス内のいくつかのアルゴリズムを修正しなければなりませんでしたが、それほど難しいものではありませんでした。 --- 2015.01.05 07:59 #57 _Konstantin_:例えば、DWORD型はintではなくuintである。 ビット数は同じである。 削除済み 2015.01.05 10:21 #58 sergeev: ビット数は同じです。 マイクロソフトによれば、DWORD < 0が条件となるメソッドでは、DWORDは0より小さくできないので、警告が出る。総じて、私はこの2つのクラスが気に入りました。) Al_key 2016.02.19 08:18 #59 スレッドセーフがどのように実装されているのかよく理解できないのだが?複数のプロセスが同時に書き込みと読み込みを行うとします。論理的には、Lockfileのようなものがあるはずですが、libには見当たりませんでした。それとも、winapiレベルですでに実装されているのでしょうか? --- 2016.02.19 08:30 #60 Al_key: スレッドセーフがどのように実装されているのかよく理解できないのだが?複数のプロセスが同時に書き込みと読み込みを行うとします。論理的には、Lockfileのようなものがあるはずですが、libには見当たりませんでした。それとも、すでにwinapiレベルで実装されているのでしょうか?libにはセクションバインディングがありません。理論的には、コードは異なるプロセスで実行することができるからです。それをコントロールするには、あなたのバリアントかhttps://www.mql5.com/ja/code/1835。 Mutex - на чистом WinAPI 投票: 292013.08.20o_Owww.mql5.com Синхронизируем процессы ОС/EA/MT и т.д. Никаких самописных DLL. Настало время держать все под своим контролем! 123456789101112 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
スタンダードはスタンダードだから、何も突っ込むことはない、とんでもない。エラーが発生しました--開発者に報告してください。それ以外の方法はない。
標準のバイブルでは、呼び出しはGetLastError.
となっているが、本来は ::GetLastError.
そうでなければ、kernel32::GetLastErrorは バグです。
修正しない方法は?
どうして修正されないのか?
ヒントも示したし、書いた。
#インポート
intGetLastError(int )
---
これでコンテキストは自由だ。
そのようにしたくない場合は、RtlGetLastErrorが似ている。
私はほのめかし、示し、そして書いた。
#インポート
int GetLastError(int )
---
コンテキストは自由だ。
そうしたくない場合は、RtlGetLastErrorも似たようなものだ。
RtlGetLastError - 似たようなものです。
作者はその仕事に大きな敬意を払っている。もし作者が気にしないのであれば、この2つのクラスを私のSCLクラスライブラリに含めるつもりです。
しかし、マイクロソフトの標準的な型を定義するという点で、このクラスには誤りがあり、それがアルゴリズムに他の誤りを引き起こす原因となっています。例えば、DWORD型はintではなくuintです。このため、クラス内のいくつかのアルゴリズムを修正しなければなりませんでしたが、それほど難しいものではありませんでした。
_Konstantin_:
例えば、DWORD型はintではなくuintである。
ビット数は同じです。
スレッドセーフがどのように実装されているのかよく理解できないのだが?複数のプロセスが同時に書き込みと読み込みを行うとします。論理的には、Lockfileのようなものがあるはずですが、libには見当たりませんでした。それとも、すでにwinapiレベルで実装されているのでしょうか?
libにはセクションバインディングがありません。理論的には、コードは異なるプロセスで実行することができるからです。
それをコントロールするには、あなたのバリアントかhttps://www.mql5.com/ja/code/1835。