- 1 名前:./1256645713/662 mailto:sage [2010/03/15(月) 09:41:19 ]
- おそらく、.NET開発でデファクトスタンダードに最も近いであろう
C++/CLIについて語ろうぜ! このスレはC++および.NET Frameworkについて一定以上の知識を持っている人が対象となります。 .NETのクラスライブラリの使い方といった質問は Visual Studioスレにお願いします。 前スレッドはこちら くだすれC++/CLI(初心者用) pc8.2ch.net/test/read.cgi/tech/1142144110/l1 dat落ち姉妹スレ C++/CLI part3 pc12.2ch.net/test/read.cgi/tech/1206447234/l1 pc11.2ch.net/test/read.cgi/tech/1142147319/l1 pc8.2ch.net/test/read.cgi/tech/1126450441/l1 managed C++ やろうぜ!! 002 pc8.2ch.net/test/read.cgi/tech/1139043535/l1
- 101 名前:デフォルトの名無しさん mailto:sage [2010/11/03(水) 00:03:31 ]
- 2種類の言語が同居してる構造だな。
- 102 名前:デフォルトの名無しさん mailto:sage [2010/11/03(水) 04:25:15 ]
- D言語よりマシ。
- 103 名前:デフォルトの名無しさん mailto:sage [2010/11/03(水) 16:45:49 ]
- Z言語になるころには
なんとなくこんな感じ、って思い描いたものが 1行で組みあがるくらいに なるわけねぇ
- 104 名前:デフォルトの名無しさん mailto:sage [2010/11/03(水) 17:28:32 ]
- ref classのメンバーに構造体がある場合、その構造体のポインターはどうやって取得すればいいの?
pin_ptr<SCRIPT_STRING_ANALYSIS*> pssa = &(this->構造体型の変数); こういう風にしてもうまくいかないんだが
- 105 名前:デフォルトの名無しさん mailto:sage [2010/11/03(水) 17:41:24 ]
- >>104
自己解決した 単にpin_ptrの型を間違っていただけだった
- 106 名前:デフォルトの名無しさん mailto:sage [2010/11/11(木) 20:14:40 ]
- これって変数名とかに全角文字がつかえるのだな。
int 数値 = 0; みたいに。 うっかり全角アルファベット混ぜたりしたら大変だな。
- 107 名前:デフォルトの名無しさん mailto:sage [2010/11/11(木) 20:26:13 ]
- それCLIでない方のC++でもできるよ
コンパイラが共通なんだから
- 108 名前:デフォルトの名無しさん mailto:sage [2010/11/11(木) 22:11:50 ]
- >>106
今のパソコンて、ゼロに斜線が入らないから、うっかり int 数値 = O; とかしてしまうとやばいぜw
- 109 名前:デフォルトの名無しさん mailto:sage [2010/11/12(金) 04:36:06 ]
- どっかでOが定義済みでないと通らないだろ
- 110 名前:デフォルトの名無しさん mailto:sage [2010/11/12(金) 13:04:12 ]
- Windows Mobile用のWM_GESTUREが入ったgesture.hは何を入れたら良いんですか?
Windows Mobile 6 Professional SDK Refresh.msiと 試しにVS2010EEを入れてみたけど ダメでした Windows Mobile 6 Professional SDK Refresh.msiは2環境でインストールして いるのでインストーラがコケたとかでは無さそうです 定義だけなのでGoogle Codeとかでも良いのですが、MS系は上手く手に入りません。 くだすれですがよろしくお願いします。
- 111 名前:デフォルトの名無しさん mailto:sage [2010/11/13(土) 12:22:30 ]
- queue<array<String^>^ > queue_dwnload;
こう宣言すると System.ArgumentException' の初回例外が発生しました。 とイミディエイトウィンドウにメッセージが出るんだけど 宣言の仕方どこが間違ってますか?
- 112 名前:デフォルトの名無しさん mailto:sage [2010/11/13(土) 17:42:15 ]
- つ STL/CLI
#include <cliext/queue> using namespace System; cliext::queue<array<String^>^ > queue_dwnload;
- 113 名前:デフォルトの名無しさん mailto:sage [2010/11/13(土) 18:21:47 ]
- すまん書き足りなかった、インクルードはちゃんとしてて
プログラムも正常に動作してます それでもう少しシンプルなコードで試してみたんだけど VS2008で新規作成、プロジェクト、CLRのwindowsフォームアプリケーション のテンプレートでプロジェクトを作成して #include <cliext/queue>を追加 ~Form1(){}の下あたりに cliext::queue<array<String^>^ > queue_dwnload;を追加 デバッグ実行する これだけでメッセージが出ます、キューの宣言は間違ってないみたいだけど 何が原因なんだろう?
- 114 名前:デフォルトの名無しさん mailto:sage [2010/11/13(土) 19:06:11 ]
- VS2010にしてしまっているので再現できないが、
~Form1()と同じprotectedには出来ないのかコンパイル時に警告がでる。 privateにしたらどう? private: cliext::queue<array<String^>^ > queue_dwnload;
- 115 名前:デフォルトの名無しさん mailto:sage [2010/11/13(土) 22:52:09 ]
- private:付けてもだめでした
- 116 名前:デフォルトの名無しさん mailto:sage [2010/11/14(日) 14:34:28 ]
- とりあえず問題の切り分けだな。
まずコンパイルが警告なしで通るかどうか。 通るならデバッグ実行とデバッグなし実行で差があるかどうか。 別のPCでも再現するかどうか。
- 117 名前:デフォルトの名無しさん mailto:sage [2010/12/02(木) 11:27:46 ]
- 使用環境:VS2008 Professional Edition
プロジェクト:CLR クラスライブラリ 目的:コピーコンストラクタ、代入演算子を潰したい エラーの出ないコード。 ref class Hoge sealed { private: Hoge % operator=( Hoge const % rhd ) { return *this; } ; Hoge( Hoge const % src ) {} ; } 実装したいコード。 ref class Hoge sealed { private: Hoge % operator=( Hoge const % ) ; // error LNK2020 未解決のトークン(06000001) Hoge::op_Assign Hoge( Hoge const % ) ; // error LNK2020 未解決のトークン(06000003) Hoge::ctor } C++/CLIでメンバ関数の実装をせずに放置というのは可能でしょうか?
- 118 名前:デフォルトの名無しさん mailto:sage [2010/12/02(木) 18:43:31 ]
- そもそもref classは定義しない限りコピーとか無理じゃなかったか
- 119 名前:デフォルトの名無しさん mailto:sage [2010/12/02(木) 19:44:11 ]
- C#などから使わせるつもりなら演算子のオーバーロードは全部staticにしないといけないし
代入演算子やコピーコンストラクタはそもそもオーバーロードできないし constも使えないし参照渡しや参照返しもダメ(そもそもref classだから無意味) つかまずC#やるべき。.NETの常識が無さすぎ。
- 120 名前:117 mailto:sage [2010/12/02(木) 22:33:30 ]
- >>118
そうなんですか、回答ありがとうござます。 >>119 回答ありがとうございます。 msdn.microsoft.com/ja-jp/library/sy1y3y1t(VS.80).aspx このサンプルコードのコンパイルが通らなかったのですが、そもそもサンプルが間違ってるという事なのでしょうか? あと、.NETの常識を学ぶのにオススメの書籍などあれば教えていただけると幸いです。
- 121 名前:デフォルトの名無しさん mailto:sage [2010/12/03(金) 11:24:33 ]
- Lock に関係ない実装は省略して書いてるだけでしょ
間違ってると言うより、そこは問題とは関係ない部分なだけ
- 122 名前:117 mailto:sage [2010/12/03(金) 12:41:30 ]
- >>121
回答ありがとうございます。 別途実装をするしか無いという事ですね。分かりました。 そうすると >>119 の回答から考えて、C#などから使わせるつもりが無いなら、 ・演算子のオーバーロードはstaticにする必要はない ・代入演算子やコピーコンストラクタはオーバーロードできる ・constも使えて参照渡しや参照返しもOK ということでしょうか?
- 123 名前:デフォルトの名無しさん mailto:sage [2010/12/03(金) 15:36:41 ]
- C++/CLIではref classのメソッドにconstを付けられないから
C#やVBと相互運用しないとしてもconstパラメータは事実上役に立たない。
- 124 名前:デフォルトの名無しさん mailto:sage [2010/12/04(土) 13:39:31 ]
- 趣旨がわからないね。
C++スタイルでやりたいだけなら、そもそもC++/CLI 使う必要性がないんでない?
- 125 名前:117 mailto:sage [2010/12/04(土) 14:33:18 ]
- >>123
回答ありがとうございます。 Hoge % operator=( Hoge % arg ) { 代入処理の実装 } ; これだと代入元が書き換えられそうで気持ち悪いですけど、そういう流儀なのですね。分かりました。 >>124 >>122 の質問に関しては元々あった疑問ではありません。 >>119 の解答に書かれている内容に関しての事実確認です。 趣旨に関してはスレ違いだと思いますので書きません。
- 126 名前:デフォルトの名無しさん mailto:sage [2010/12/04(土) 14:48:36 ]
- %もいらん
ref classだから常にポインタ渡し
- 127 名前:デフォルトの名無しさん mailto:sage [2010/12/05(日) 13:03:24 ]
- >>124
MSのサンプルだか自動生成されるコードだかで、 あんな風にrefクラス上でC++っぽいことをやっているものを見た覚えがある。 元の質問者のコードもそういうのに影響されたのではないかと思う。
- 128 名前:デフォルトの名無しさん mailto:age [2010/12/05(日) 14:36:18 ]
- private ref struct A{
UInt32 data[5]; }; これがコンパイル通らないんだけど、 array<UInt32>^ data;とかにしていちいちgcnewするしかないんですか? データ宣言するだけのためにコードなんて書きたくないので、うまい解決法お願いします。
- 129 名前:デフォルトの名無しさん mailto:sage [2010/12/05(日) 15:20:34 ]
- うん、array<UInt32>^にしてコンストラクタ書くしかないんではないかなあ。
- 130 名前:デフォルトの名無しさん mailto:sage [2010/12/05(日) 21:27:52 ]
- C#では構造体でstackallocが使えるからvalue classならいけるだろうと思ったけど無理なのね
この手の機能でC#に負けてどうする
- 131 名前:デフォルトの名無しさん mailto:sage [2010/12/05(日) 21:36:00 ]
- CStringを使うには何をインクルードすればよいの?
atlstr.h、atlbase.h、atlapp.hは入れてるけどコンパイルとまる
- 132 名前:デフォルトの名無しさん [2010/12/06(月) 21:09:33 ]
- VC++2010 ExpressEditionです。
System::windows::form::timer で一秒ごとにlabel->textを更新していますが(要は時計です) 最小化から復帰するとlabel->textが更新されなくなります、何故でしょう。
- 133 名前:デフォルトの名無しさん mailto:sage [2010/12/07(火) 22:12:40 ]
- 最小化したときにとめたタイマーを元に戻すんだキバヤシ
- 134 名前:デフォルトの名無しさん mailto:sage [2010/12/08(水) 00:35:19 ]
- そもそもUI用のタイマで時計を作るな
MSDNにもはっきりそう書いてあるだろ
- 135 名前:デフォルトの名無しさん [2010/12/08(水) 00:44:46 ]
- >>133
故意に止めるようなことはしていないんですが、そういう仕様なんでしょうか?
- 136 名前:デフォルトの名無しさん [2010/12/08(水) 00:46:00 ]
- >>134
えぇぇぇぇぇ。時間分解能が悪いとかあの辺ですか!ヽ(´Д`;)ノアゥ... スレッドタイマークラスとかに変えます。ご教授ありがとうございます。
- 137 名前:デフォルトの名無しさん mailto:sage [2010/12/08(水) 00:57:53 ]
- MS公式のガイドラインかなんかで「System.Windows.Forms.Timerで時計を作らないでください」って無かったっけ?
どこだったか忘れたけど
- 138 名前:デフォルトの名無しさん mailto:sage [2010/12/08(水) 11:59:01 ]
- 一番使い易いところにあるのに、一番性能悪いとかひでー話だよな
俺も最初使ってみて混乱した
- 139 名前:デフォルトの名無しさん mailto:sage [2010/12/08(水) 14:19:36 ]
- 使い方も知らずに使うとか・・・
- 140 名前:デフォルトの名無しさん mailto:sage [2010/12/09(木) 00:12:13 ]
- VS2005です。
C++/CLIでラップしたネイティブのライブラリから例外が発生して、 C++/CLI側でcatchした時に、 ネイティブ側のインスタンスのデストラクタが呼ばれません。 これはバグと考えて良いのでしょうか? VC++2010 expressでは普通に呼ばれたので・・
- 141 名前:デフォルトの名無しさん [2010/12/09(木) 03:14:40 ]
- >>132です。
あれからいろいろいじりまくっていたんだけど、どうもフォームの透過色(TransparencyKey)が特定の色の場合 この問題が発生しているようです。引き続き調べてみます。
- 142 名前:140 [2010/12/10(金) 18:48:44 ]
- 全く相手にされてないようですが、
解決したので適当に報告しときます。 とりあえず、ネイティブのライブラリオプションを /EHscから/EHaに変更することで、デストラクタが呼ばれるようになりました。 どうやらオプションの違いでABIに互換性が無くなり、 例外をハンドルできても、その後のアンワインディングを正常に実行できていなかったようです。 デフォルトのオプション設定だと上記のような状態になるので、 自分みたいに知らずに組んでる人はメモリリークし放題ですね。
- 143 名前:デフォルトの名無しさん mailto:sage [2011/01/11(火) 22:48:33 ]
- C++/CLIでSystem::Actionって使えないの?
event Action^ Foo; とやると エラー1error C2955: 'System::Action' : クラス ジェネリック を使用するには ジェネリック 引数リストが必要です って出てくる…
- 144 名前:デフォルトの名無しさん mailto:sage [2011/01/11(火) 22:54:33 ]
- Action<T>はmscorlib.dllだがそれ以外はSystem.Core.dllだ
- 145 名前:デフォルトの名無しさん mailto:sage [2011/01/11(火) 22:57:47 ]
- >>144
ありがとう… おまえそんなところにいたのか…
- 146 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 21:22:18 ]
- 聞きたいんだけどスレ住人はVC2010でC++/CLI書いてる?
それともインテリセンス使うために2008書いてる? それともC++/CLI書かない?
- 147 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 21:30:17 ]
- C++/CLI書かない…けど次の案件がVS2010指定でネイティブDLL呼び出す必要があるから
書かざるを得なくなるかもしれなくてちょっと憂鬱
- 148 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 22:28:46 ]
- .NET用言語で一番の糞言語だからね>C++/CLI
- 149 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 22:49:37 ]
- >>148
C++自体が言語として糞だから仕方がない。 それと互換性保ちながらここまで実現したということを考えると、かなりすごいと思う。
- 150 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 22:50:52 ]
- 互換性?ねーよ。
- 151 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 22:54:50 ]
- >>150
え。それは、今では使うのは好ましくないとされているレガシー関数群をいまだにお使いになられているからではないですか?
- 152 名前:デフォルトの名無しさん mailto:sage [2011/02/06(日) 11:47:30 ]
- CとC++に互換性があるとは言わないだろ
CLIの部分については互換性ゼロなんだから
- 153 名前:デフォルトの名無しさん mailto:sage [2011/02/06(日) 11:51:41 ]
- >>152
> CとC++に互換性があるとは言わないだろ それは上位互換ありでしょ。完全ではないけれども。
- 154 名前:デフォルトの名無しさん mailto:sage [2011/02/06(日) 12:50:45 ]
- boostを完璧にコンパイルできないだろとか言い始めるのかと思ったら
斜め上をいく馬鹿だったか
- 155 名前:デフォルトの名無しさん [2011/02/08(火) 22:27:38 ]
- 初心者です。
ストリップメニューを開くと5個ぐらい項があって 3つチェックされているとして、その3という数字を取りたいのですが どうすれば良いでしょうか? 開く部分の変数はStripMenuItem1です。 for(int = 0;i<StripMenuItem1->項目数;i++){if(StripMenuItem1->子項目->checked == true){temp++;}} みたいなのはありますでしょうか?どうすれば良いでしょうか?よろしくおねがいします
- 156 名前:デフォルトの名無しさん mailto:sage [2011/02/08(火) 22:55:33 ]
- 自前で数えろよ、毎回書くのがいやなら関数にしとけ。
- 157 名前:デフォルトの名無しさん mailto:sage [2011/02/08(火) 23:02:04 ]
- >>155
StripMenuItem1.Itemsプロパティで子が全て取得できる 言っちゃ悪いけどそういう意味での初心者がC++/CLIなんか使うもんじゃない 先にC#覚えて
- 158 名前:デフォルトの名無しさん [2011/02/08(火) 23:03:11 ]
- >>156
レスありがとうございます 申し訳ありません。理解できません 何か関数があるのでしょうか? 自前で数えるといっても、2個チェックのときは2と自動で取ってこれるようにしたいのです。 そういえば if(項の変数->checked == true){temp++;} を何行も書けばいいだけですね。ありがとうございました!
- 159 名前:デフォルトの名無しさん [2011/02/08(火) 23:03:52 ]
- >>157
ありがとうございました!
- 160 名前:デフォルトの名無しさん mailto:sage [2011/02/08(火) 23:11:25 ]
- ときどき勘違いした可哀想な子が紛れ込んでくるな
>>21や>>42はまだC++/CLI使ってるんだろうか
- 161 名前:デフォルトの名無しさん mailto:sage [2011/02/09(水) 00:53:00 ]
- 次スレでは「初心者用」を消して、
> - C++プログラミング > - .NETプログラミング (C#, VB.NET, etc.) > > に不自由する方はお引き取りください とか若干きつめに書いておけばいいじゃね? 何年先になるかは分からんけどw 4,5年ぐらい?ww
- 162 名前:デフォルトの名無しさん [2011/02/09(水) 06:13:09 ]
- WCHAR f[] = aToolStripMenuItem->Text->ToCharArray();
cli::array<Type,dimension> ^' から 'WCHAR []' に変換できません。 ->ToCharArray();でWCHARが帰ると思っていたのですがなぜでしょうか?どうすれば良いですか?
- 163 名前:デフォルトの名無しさん mailto:sage [2011/02/09(水) 06:31:17 ]
- そのWCHAR[]をどうしたいかによる
- 164 名前:デフォルトの名無しさん [2011/02/09(水) 06:33:29 ]
- >>163
wcscpyしたいです。 というか元々wcscpyの引数に入れるつもりでしたができませんでした。
- 165 名前:デフォルトの名無しさん [2011/02/09(水) 07:06:40 ]
- >>163
ちなみに、第二引数にその->TEXTの文を入れて 別に用意した第一引数のWCHAR[3][]とかに入れたいのです
- 166 名前:デフォルトの名無しさん mailto:sage [2011/02/09(水) 07:48:58 ]
- >>161
もともとは初心者お断りスレもあったが、話題があまりなくて落ちた >dat落ち姉妹スレ >C++/CLI part3
- 167 名前:デフォルトの名無しさん mailto:sage [2011/02/09(水) 09:38:59 ]
- このスレでもC++、.NETの初心者は対象外だけどな
- 168 名前:デフォルトの名無しさん mailto:sage [2011/02/09(水) 11:16:29 ]
- >162
文字列操作はこれがひっかかったぞ ttp://vene.wankuma.com/prog/CppCli_strings.aspx
- 169 名前:デフォルトの名無しさん [2011/02/09(水) 11:18:17 ]
- >>168
サンクス おせーよ
- 170 名前:デフォルトの名無しさん mailto:sage [2011/02/09(水) 15:36:36 ]
- C++と.NETの両方を極めないとCLIは使いこなせないからな
- 171 名前:デフォルトの名無しさん mailto:sage [2011/02/12(土) 16:44:50 ]
- Express EditionでもC#プロジェクトと同じソリューションに入れられればいいのになあ
VCのExpress Editionが入門者向けというより達人の縛りプレイ用になってるじゃないか
- 172 名前:デフォルトの名無しさん mailto:sage [2011/02/12(土) 17:53:40 ]
- CLI使わないという選択肢はないのかw
- 173 名前:デフォルトの名無しさん mailto:sage [2011/02/12(土) 18:35:17 ]
- そんな選択肢があったらこのスレにいない
- 174 名前:デフォルトの名無しさん mailto:sage [2011/02/13(日) 04:23:39 ]
- >>171
金払え
- 175 名前:デフォルトの名無しさん mailto:sage [2011/02/18(金) 09:47:29 ]
- ダイアログで値を入力させて、その値を親ウィンドウで処理したい場合に
どうやって値の受け渡しをすればいいの? 親にpublic関数を用意して呼び出すのが簡単なわけだけど この.hファイルに親の.hファイルをインクルードすると子のデザイナが壊れる 子ダイアログで親の形を認識させる手段がない
- 176 名前:デフォルトの名無しさん mailto:sage [2011/02/18(金) 10:00:22 ]
- 子のプロパティを公開して親からアクセスすればいいんじゃねえの?
- 177 名前:デフォルトの名無しさん mailto:sage [2011/02/18(金) 16:30:00 ]
- 比較関数を書く形式で、リスト(cliext::list)をクラスのメンバで
ソートするにはどうしたら良いでしょうか? こんな感じじゃないかと思うのですが 「関数呼び出しには引数リストがありません。 メンバへのポインタを作成するために '&Test::Form1::less' を使用してください」 とエラーが出ます 以下コードを簡略化して書いてます //クラスTest ref class Test { public: DateTime date; Test(void){}; }; //比較関数 bool less(Test^ lhs, Test^ rhs) { return lhs->date < rhs->date; } //リストの作成 list<Test^> list_item; Test^ item = gcnew Test(); list_item.push_back(item);//(以下省略 //ソートする list_item.sort(less);
- 178 名前:デフォルトの名無しさん mailto:sage [2011/02/18(金) 17:09:32 ]
- 試してないけど、static にして Test::less じゃね?
- 179 名前:デフォルトの名無しさん mailto:sage [2011/02/18(金) 17:41:53 ]
- レスありがとうございます
Form1クラスの上で定義したらできました いまいちよくわからないですが これからじっくり理由を考えて見たいと思います、感謝
- 180 名前:デフォルトの名無しさん mailto:sage [2011/02/20(日) 21:49:54.49 ]
- VC++のスレでこちらの方がふさわしいのではないかと言うことで移ってきました。
VC++2010 Expressでフォームからマウスが外れているときはフォームの透明度を あげる(薄くする)と言うプログラムを組んでいます。フォームのMouseLeaveイベントと、 MouseEnterイベント発生時にOpacityプロパティを変えることで実現を目論んだのです が、ウインドウの外枠(サイズを変えるときにドラッグする部分や、上部のウインドウ名 が書かれている部分)にマウスがあると、MouseLeaveイベントが発生して、薄くなって しまいます。もちろん、ここではたとえ、フォーム外側から移動してきてもMouseEnter イベントは起きません。 フォームから完全にマウスカーソルがそれた時のみ透明度を高めたいのですが、 どういうイベントを用いればよいんでしょうか?
- 181 名前:デフォルトの名無しさん mailto:sage [2011/02/21(月) 01:14:11.85 ]
- で、その質問内容のどこがC++/CLIに関係しているんだ?
- 182 名前:180 mailto:sage [2011/02/21(月) 07:06:34.79 ]
- ってことは、.Net Frameworkのスレ探します。
- 183 名前:180 mailto:sage [2011/02/21(月) 07:08:31.22 ]
- .net Framework関連のスレって見つからないんですが、どこが適切でしょう。
すみません。
- 184 名前:デフォルトの名無しさん mailto:sage [2011/02/21(月) 07:51:25.56 ]
- ふらっとあたりで聞けばいい
- 185 名前:デフォルトの名無しさん mailto:sage [2011/02/26(土) 23:54:49.36 ]
- ref classのメンバー変数にID2D1SolidColorBrush*のようなものがある
template <class T> inline void SafeRelease(T *ppT) { unsigned long refCount; if (*ppT) { refCount = (*ppT)->Release(); *ppT = NULL; } } にID2D1SolidColorBrush*のポインターを渡すことが出来ないからpin_ptrで渡してたんだが、いい加減書くのがめんどくさくなってきた スマートに処理しようと思い、template <class T> inline void SafeRelease(T *%ppT)というパラメーターの関数を定義したんだが、こいつへの渡し方がわからない 誰か教えてくれまいか
- 186 名前:デフォルトの名無しさん mailto:sage [2011/02/27(日) 02:13:39.66 ]
- あるプロセスをオープンしようとしてます
読み取り専用で試したが結果は同じ CLIとしてコンパイルしたWindowsアプリからOpenProcessを呼び出すとフル権限で開ける C++としてコンパイルしたコンソールアプリからはOpenProcess読み取り専用でもアクセス拒否される OSはWindows7 64bit 内部のことは分からないですが、OpenProcessは同じ標準process.h内のものを使ってると思う 少なくともソース上ではそういう記述をしてますがコンパイラが何をしてるかまでは定かじゃないです 大きな違いはコンソールアプリであることですが、それが拒否の原因になるんでしょうか?
- 187 名前:デフォルトの名無しさん [2011/02/27(日) 18:39:56.37 ]
- VC2010を使用しています。
テキストボックスに文字が入力され、エンターを押されたら動作する処理を行いたいのですが、 TextChangedイベントに if(TextBox1->Text->EndsWith("\r\n")) では、認識出来ないのですが、どのようにすればよろしいのでしょうか? よろしくお願いします。
- 188 名前:デフォルトの名無しさん mailto:sage [2011/02/27(日) 19:14:15.81 ]
- フレームワークの話しはスレ違い
- 189 名前:デフォルトの名無しさん [2011/02/27(日) 19:44:49.91 ]
- フレームワークの話はどこですれば良いのでしょうか?
- 190 名前:デフォルトの名無しさん mailto:sage [2011/02/27(日) 19:48:31.21 ]
- C#の質問にして、ふらっとC#で聞くといい
- 191 名前:デフォルトの名無しさん mailto:sage [2011/02/28(月) 15:45:27.41 ]
- >185
com::ptr で保持して、リリース処理はそっちで対応しちゃあかんの?
- 192 名前:185 mailto:sage [2011/02/28(月) 18:59:52.28 ]
- >>191
ref classにはcom::ptrはおけない思う
- 193 名前:デフォルトの名無しさん mailto:sage [2011/02/28(月) 19:01:42.54 ]
- >>192
すまん。 CComPtrと勘違いしてた com:ptrはCLRでも使えるのか
- 194 名前:デフォルトの名無しさん mailto:sage [2011/02/28(月) 19:28:37.85 ]
- >193
それ用のクラスだぜ あとは .net Framework の System::Runtime::InteropServices::SafeHandle を実装したら?
- 195 名前:デフォルトの名無しさん mailto:sage [2011/02/28(月) 20:58:29.72 ]
- DirectXのリソースの解放にSafeHandleは使えないんじゃなかったっけ
最近のは知らんけど
- 196 名前:デフォルトの名無しさん mailto:sage [2011/02/28(月) 23:42:18.77 ]
- >187
KeyPress
- 197 名前:デフォルトの名無しさん mailto:sage [2011/03/01(火) 00:17:52.54 ]
- >195
詳しく
- 198 名前:デフォルトの名無しさん mailto:sage [2011/03/01(火) 01:40:02.26 ]
- Direct3D自体の作成/解放が1スレッドに限定されるのに対し
ファイナライザスレッドでどーのこーのみたいな話だったか 使えないというか使う意味がない、みたいな
- 199 名前:デフォルトの名無しさん [2011/03/10(木) 18:48:24.24 ]
- printfとか普通に書いたとき、
なんでprintfがアンマネージのコードって コンパイラは理解できるの? それらしい印になるようなキーワードを 特に書いてないような気がするのだが?
- 200 名前:デフォルトの名無しさん mailto:sage [2011/03/10(木) 18:56:54.84 ]
- 内部的には #pragma managed や unmanaged 指定がされてんじゃね?
#include か #using かで切り分けてるんだと思うけど
|

|