We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PPAのコンテキストをクラス外から設定できる仕組みを作りたい
CPPA::stdErrorはプライベートなグローバル変数CPPA::m_CurInstanceに依存します。 sakura/sakura_core/macro/CPPA.cpp Lines 333 to 338 in e67c8ce void __stdcall CPPA::stdError( int Err_CD, const char* Err_Mes ) { if( false != m_CurInstance->m_bError ){ return; } m_CurInstance->m_bError = true; // 関数内で関数を呼ぶ場合等、2回表示されるのを防ぐ CPPA::m_CurInstanceはCPPAの実行コンテキストを保持する構造体です。 プライベートなグローバル変数ですので、クラス外から値を変更することはできません。 CPPA::m_CurInstanceの初期値はnullptrなので、上記コードをテストコードから呼び出すとAV例外が発生します。 テストしたいコードは339行目以降なので、CPPA::stdErrorをテストするにはCPPA::m_CurInstanceに有効なPPAコンテキストを設定するために仕組みが必須になります。
CPPA::stdErrorはプライベートなグローバル変数CPPA::m_CurInstanceに依存します。
CPPA::stdError
CPPA::m_CurInstance
sakura/sakura_core/macro/CPPA.cpp
Lines 333 to 338 in e67c8ce
CPPA::m_CurInstanceはCPPAの実行コンテキストを保持する構造体です。 プライベートなグローバル変数ですので、クラス外から値を変更することはできません。 CPPA::m_CurInstanceの初期値はnullptrなので、上記コードをテストコードから呼び出すとAV例外が発生します。
nullptr
テストしたいコードは339行目以降なので、CPPA::stdErrorをテストするにはCPPA::m_CurInstanceに有効なPPAコンテキストを設定するために仕組みが必須になります。
Originally posted by @berryzplus in #1811 (comment)
The text was updated successfully, but these errors were encountered:
PPAの実行コンテキストを外から指定できる仕組みを作ったとして、 仕組みを活用するには CEditView を生成できる仕組みが必要。
CEditView
sakura/sakura_core/macro/CPPA.h
Lines 275 to 278 in b5d5900
現状、CEditViewをインスタンス化するにはCEditDoc をインスタンス化していることが必要で、 CEditDoc をインスタンス化するには共有メモリの初期化化が完了している必要がある。
CEditDoc
Sorry, something went wrong.
別な対応方法を検討しているので取り下げます。
No branches or pull requests
やりたいこと
PPAのコンテキストをクラス外から設定できる仕組みを作りたい
経緯
Originally posted by @berryzplus in #1811 (comment)
The text was updated successfully, but these errors were encountered: