関連記事
- 【memory leak】メモリーリーク発生...ドロドロドロ 【2025年10月27日(月)】
- う~~忙しい!あ~~忙しい!! 【2025年09月24日(水)】
- 【#ChatGPT】ChatGPTのヤロー(怒 SJIS変換サンプルコード,嘘コード吐いてやがった.原因対応に2時間も悩んだぞー 【2025年02月22日(土)】
- ぎんゆぅ~さんの更新頻度が落ちているときは仕事炎上中(爆 【2025年01月09日(木)】
- 仕事が納まった,のか?一応,拘束解除命令が出たモルモルモル 【2024年12月27日(金)】
ついに,禁断のC++/CLIに手を出してみたり...
いや,悪戦苦闘中(爆
少しずつ,ここにTIPSが上がるはず?
ってことで,第一弾
- アンマネージクラスにマネージクラスのメンバを追加したいのじゃ!
class CHogeHoge : public CObject
{
private:
Bitmap^ m_Image;
}
見たいなの書くと...- error C3265: マネージ ‘m_Image’ をアンマネージ ‘CHogeHoge’ で宣言できません。
まぁ,メモリ管理の問題から,いろいろあるっちゃろねぇ
アンマネージとマネージの間には,深くて暗い川があるしのぉ~
でも,使いたいんじゃぁ~~ 😈
ってことで,調べていったら...
裏技発見!
C++/CLI – ネイティブクラスメンバのマネージクラス – LangEdge Weblog
さまのページに,記載がありましたです
なんでも,マネージクラスメンバの宣言時に
- gcroot<マネージクラス名^>
書き直してみた
class CHogeHoge : public CObject
{
private:
gcroot<Bitmap^> m_Image;
}
これで,コンパイルも通り,使えるようになりましたです 😉 あと,この変数のNULLチェックですが
if (m_Image == nullptr)
{
//にゃぁ~にゃぁ~にゃぁ~
}
と書くと- error C2088: ‘==’ : struct に対して正しくありません。
チェックするためには一手間必要で
if (static_cast<Bitmap^>(m_Image) == nullptr)
{
//にゃぁ~にゃぁ~にゃぁ~
}
みたいな感じで,キャストしてやる必要がありますです
コメント
【#衆議院選挙2026 】自民 316議席獲得 単独で3分の2超 中道は49議席
【#衆議院選挙2026 】自民単独で過半数大きく上回り300議席に達する可能性
【BW55T】UPSが死んだ...ドロドロドロ😭これは人類滅亡間違いなし!なので発注(爆
広島カープの羽月隆太郎容疑者、「ゾンビたばこ」使用の疑いで逮捕
【#総選挙】衆議院選挙 きょう公示 12日間の選挙戦へ
青森 スノーモービル乗るため入山の約10人と連絡取れず 遭難か
【#不発弾】宮崎市中心部の不発弾 17日に処理 避難指示や交通規制予定(26/1/17)
【総選挙】立民 公明 衆院選に向け新党結成で合意(26/1/15)
【大雪】大雪と雷及び突風に関する全般気象情報 第3号(26/1/1)