PLOです。アプリケーションの問題 - ページ 9 12345678910111213141516...19 新しいコメント Aleksandr Chugunov 2011.04.09 22:15 #81 でも、本当はこんなことする必要ないんですよね...。機能の仮想化を利用するべし追伸:あと、暗黙の型変換 で普通のプログラムは組めません。あくまでバリエーションとして...GoToのような...運営者 Документация по MQL5: Основы языка / Типы данных / Приведение типов www.mql5.com Основы языка / Типы данных / Приведение типов - Документация по MQL5 削除済み 2011.04.09 22:15 #82 AlexSTAL: 2) プログラムが終了する前に削除することが主...しかし、このポインタを関数内で作成した場合、グローバルな場所に保存するように配慮する必要がある...。私もそう思っていました。配列はグローバルなようですが、漏れがありますね。それとも、アレイだけでなく、他のものも必要なのでしょうか? TheXpert 2011.04.09 22:16 #83 本当に笑わせてくれますね )))) Aleksandr Chugunov 2011.04.09 22:17 #84 Interesting:私もそう思っていました。配列はグローバルなようですが、漏れがありますね。それとも、アレイだけでなく、何か別の原因があるのでしょうか?他のところから漏れているのでは......?この方法で作成したクラスは何百とありますが、どこにも漏れたことはありません...。簡単な例で試してみると...。 Aleksandr Chugunov 2011.04.09 22:17 #85 TheXpert: 本当に笑わせてくれますね )))) たまにはいいこともあるもんだ...。しびれる 削除済み 2011.04.09 22:44 #86 AlexSTAL:他のところから漏れているのでは......?この方法で作成したクラスは何百とありますが、どこにも漏れたことはありません...。簡単な例で試してみると...。EAのアンインストールブロックにこのコードを入れて、取り除いたと思います(今のところ問題はありません)。 for (int i=0; i<ArraySize(ArrShapes);i++) { ArrShapes[i].Free(ArrShapes[i]); } 削除済み 2011.04.09 23:47 #87 結局、こんな感じで、とても理解できないまま終わってしまいました。一言で言えばモンスターです...。:) ファイル: Forum-2.mq5 11 kb Yedelkin 2011.04.10 12:04 #88 ともかく、この問題を議論した結果、https://www.mql5.com/ru/forum/3566/page6#comment_58280、SRに応募があった。 削除済み 2011.04.11 08:35 #89 Yedelkin:一般的には、問題点を議論した後、https://www.mql5.com/ru/forum/3566/page6#comment_58280、SRにアプリケーションを送った。1.どうだろう、どうだろう。セキュリティのためにわざわざ機能を犠牲にするようなことは、開発者はしないと思います(ある意味正しいことです)。おそらく、Aleksander(AlexSTAL)が提案した方法であれば、この問題は解決できたでしょう(多少面倒なことは考慮しないことにします)。しかし、そうすることで、せいぜい子孫のイベントやメソッドにアクセスできるようになる程度だ(その場合、祖先で宣言されていないプロパティや変数などは使われる可能性は低い)。しかし、ほとんどの場合、実験しなければならないでしょう。2.今あるものをベースに、別のことをする、2つの選択肢があると思います。а.あるクラスのオブジェクトのみを含む特殊な配列(特定の型の子孫)を使用する。この場合、配列内のオブジェクトのあらゆるプロパティ、メソッド、イベントにアクセスすることができます(同質であるため)。 б.もし、ある基本クラスの子孫である、異なる型のオブジェクトの配列を扱う必要がある場合、それぞれの子孫の型を格納するために、追加の配列を作成する必要があります。したがって、主配列では、すべてのオブジェクトに共通する機能(AUTOGENとQUALDAを除く)のみにアクセスし、特殊配列では、それぞれのタイプの子孫の全機能にアクセスすることができます。私の理解では、いくつかのテーブルからなるデータベースのようなものができ、一対多と多対一の接続方法があります。しかし、この場合、全体の同期がきちんととれているかどうかが問題になります。さらに、即席データベースのすべてのアレイ(テーブル)をどのような基準でリンクさせるかを決めなければならない。バインディングは、例えば、ポインタや特殊なハンドル(七面鳥で使われるようなもの)に基づく、何らかのユニークな識別子に基づくことができる。追記ちなみに、ハンドルでの考え方は十分だと思います(ポインターをオブジェクトを扱うすべての基本として考えても)。ハンドルは、ユニークなオブジェクトを類似のオブジェクトから、またはオブジェクトのリスト全体から区別できるようにする必要があります。 削除済み 2011.04.11 08:36 #90 TheXpert: 本当に笑わせてくれますね )))) 時々、本当に自分がおかしくなってしまう、そんな時もあっていいんです。:) 12345678910111213141516...19 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
でも、本当はこんなことする必要ないんですよね...。
機能の仮想化を利用するべし
追伸:あと、暗黙の型変換 で普通のプログラムは組めません。あくまでバリエーションとして...GoToのような...運営者
2) プログラムが終了する前に削除することが主...しかし、このポインタを関数内で作成した場合、グローバルな場所に保存するように配慮する必要がある...。
私もそう思っていました。配列はグローバルなようですが、漏れがありますね。それとも、アレイだけでなく、他のものも必要なのでしょうか?
私もそう思っていました。配列はグローバルなようですが、漏れがありますね。それとも、アレイだけでなく、何か別の原因があるのでしょうか?
他のところから漏れているのでは......?
この方法で作成したクラスは何百とありますが、どこにも漏れたことはありません...。
簡単な例で試してみると...。
本当に笑わせてくれますね ))))
他のところから漏れているのでは......?
この方法で作成したクラスは何百とありますが、どこにも漏れたことはありません...。
簡単な例で試してみると...。
EAのアンインストールブロックにこのコードを入れて、取り除いたと思います(今のところ問題はありません)。
結局、こんな感じで、とても理解できないまま終わってしまいました。
一言で言えばモンスターです...。:)
ともかく、この問題を議論した結果、https://www.mql5.com/ru/forum/3566/page6#comment_58280、SRに応募があった。
一般的には、問題点を議論した後、https://www.mql5.com/ru/forum/3566/page6#comment_58280、SRにアプリケーションを送った。
1.どうだろう、どうだろう。
セキュリティのためにわざわざ機能を犠牲にするようなことは、開発者はしないと思います(ある意味正しいことです)。
おそらく、Aleksander(AlexSTAL)が提案した方法であれば、この問題は解決できたでしょう(多少面倒なことは考慮しないことにします)。
しかし、そうすることで、せいぜい子孫のイベントやメソッドにアクセスできるようになる程度だ(その場合、祖先で宣言されていないプロパティや変数などは使われる可能性は低い)。
しかし、ほとんどの場合、実験しなければならないでしょう。
2.今あるものをベースに、別のことをする、2つの選択肢があると思います。
а.あるクラスのオブジェクトのみを含む特殊な配列(特定の型の子孫)を使用する。
この場合、配列内のオブジェクトのあらゆるプロパティ、メソッド、イベントにアクセスすることができます(同質であるため)。
б.もし、ある基本クラスの子孫である、異なる型のオブジェクトの配列を扱う必要がある場合、それぞれの子孫の型を格納するために、追加の配列を作成する必要があります。
したがって、主配列では、すべてのオブジェクトに共通する機能(AUTOGENとQUALDAを除く)のみにアクセスし、特殊配列では、それぞれのタイプの子孫の全機能にアクセスすることができます。
私の理解では、いくつかのテーブルからなるデータベースのようなものができ、一対多と多対一の接続方法があります。しかし、この場合、全体の同期がきちんととれているかどうかが問題になります。さらに、即席データベースのすべてのアレイ(テーブル)をどのような基準でリンクさせるかを決めなければならない。
バインディングは、例えば、ポインタや特殊なハンドル(七面鳥で使われるようなもの)に基づく、何らかのユニークな識別子に基づくことができる。
追記
ちなみに、ハンドルでの考え方は十分だと思います(ポインターをオブジェクトを扱うすべての基本として考えても)。ハンドルは、ユニークなオブジェクトを類似のオブジェクトから、またはオブジェクトのリスト全体から区別できるようにする必要があります。
本当に笑わせてくれますね ))))