関連記事
- ぎんゆぅ~さんの更新頻度が落ちているときは仕事炎上中(爆 【2025年01月09日(木)】
- 仕事が納まった,のか?一応,拘束解除命令が出たモルモルモル 【2024年12月27日(金)】
- さすがに激務すぎ,ワロタ! 【2024年12月25日(水)】
- 今週もひたすらモノ書き #JAVA 祭りがまだまだ続く そろそろC#を書かせろー 【2024年12月04日(水)】
- 【#Assembler】結局x64のアセンブラでゴニョゴニョと書き始めたオイラはバカかっ!(爆 【2024年05月13日(月)】
ついに,禁断の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) { //にゃぁ~にゃぁ~にゃぁ~ }みたいな感じで,キャストしてやる必要がありますです
コメント
【#大相撲】 横綱 照ノ富士 引退の意向を固める
【#日向灘地震】割れ残り部が依然健在じゃし.怖いわなぁ
【#大地震】宮崎に大地震キタ━(゚∀゚)━!!(25/1/13)
【#大雪】宮崎市に降雪予報キター(25/1/11)
【#2025】あけおめ~ 2025年が始まったらしい...ドロドロドロ
2024年が終わりますなぁ 1年ありがとうございました
ついに宮崎市も氷点下気温キター(24/12/23)