[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 07/02 11:43 / Filesize : 233 KB / Number-of Response : 945
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっとC#,C♯,C#(初心者用) Part47



1 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 18:23:31 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

前スレ
ふらっとC#,C♯,C#(初心者用) Part45 (実質46)
pc12.2ch.net/test/read.cgi/tech/1255658236/

183 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 14:36:22 ]
>>173
× int_sin = (int)(Math.Sin(A) * 1024);
× int_cos = (int)(Math.Cos(A) * 1024);
○ int_sin = -(int)(Math.Sin(-A) * 1024);
○ int_cos = (int)(Math.Cos(-A) * 1024);

× DYX = int_sin;
○ DYX = -int_sin;

× BmpBufRot.SetPixel(y2, x2, BmpSource.GetPixel(y1, x1));
○ BmpBufRot.SetPixel(x2, y2, BmpSource.GetPixel(x1, y1));

で動いた。

184 名前:中学生 mailto:sage [2009/11/07(土) 14:36:42 ]
じゃあセダンの運転手を雇っててACCESSとC#の使える俺が一番偉いんかったんや!!

185 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 15:02:55 ]
もっと面白い事言えんのかね

186 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 15:05:06 ]
名前欄に中学生とか書いちゃうような人に期待するだけ無駄

187 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 15:30:03 ]
>>183
うおおお 神! ばっちりでした!

188 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 15:49:36 ]
ちなみに>>171の変更は必要ですか?


189 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 16:21:54 ]
>>183
1つ目必要ないし

190 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 16:45:42 ]
>>188
必要。

>>189
ああっっ、いらんわ確かに。

191 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 17:15:24 ]
AxWindowsMediaPlayerを使い音楽ツールを作っているのですが、
プレイリストを作り順再生/ランダム再生を行おうと思い、
AxWMP.currentPlaylist.appendItem(newsong);
こうすれば追加は可能ですが、
何番目の曲をプレイリストから削除することや、
現在プレイリストに入ってる曲をリストボックスに表示する方法が分かりません。
プレイリストを配列で取得・・・できるようなメソッドはありませんよねぇ・・・



192 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 17:27:17 ]
SDK見ただけだけど
IWMPPlaylist.Item (VB and C#)
The Item property (the get_Item method in C#) gets an interface to the media item at the specified index.
とか
IWMPPlaylist.count (VB and C#)
The count property gets the number of media items in a playlist.
とか
IWMPPlaylist.removeItem (VB and C#)
The removeItem method removes the specified media item from the playlist.
とかあるけど、駄目なのか?

193 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 20:48:35 ]
>>189
ありがとうございます
>>190
了解です ありがとうございました

194 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 20:48:51 ]
Graphics

195 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 20:50:44 ]
お、やっと解除された。
>>173
モバイル環境で開発してるみたいだけど、PixtureBoxもGraphicsも使えるんだろ?
そしたら拡大だろうが回転だろうがその範囲で自由にできると思うんだけど。
なぜそれくらいでゴリゴリベタなバイナリを触ろうとするのかがよく分からないな。

196 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 21:22:53 ]
CompactFrameworkには回転もアフィン変換も無いんだよ

197 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 22:18:40 ]
RectangleFとかPointFとかfloat座標使えないし、コンストラクタのオーバーロードも
軒並みアウトで作ってからシコシコとプロパティ設定とかだしな。
まあしかし、手作り感がたまらないという。なんというかマゾヒズム?

198 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 22:43:07 ]
VisualStudioのc#で実行したら
binのDebutにexeができて
ビルドを選んだらReleaseにexeができるけど

ビルドで作られたexeとDebugのexeはなんか違いあるの?

199 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 22:49:54 ]
それは自分で設定する。最適化の有無とかDEBUG定数の定義とか。

200 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 23:03:37 ]
まあC#の場合は大した違いはない

201 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 06:31:04 ]
191です
AxWMPのプレイリスト機能を使うのではなく、
配列でプレイリストのかわりにURIを持ち、
PlayStateChangeイベントハンドラで
再生終了後、配列から次のURIを読むようにしているのですが、
axwmp.Ctlcontrols.stop();
axwmp.URL = SongsPlaylist[i].ToString();
axwmp.Ctlcontrols.play();
この最後のplayメソッドが働らいていないようです。
これはどうすれば良いでしょうか?



202 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 09:07:22 ]
BeginInvokeでplayの呼び出しを遅延させる

203 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 13:02:12 ]
>>202
ありがとうございます。
URIが送られてPlayStateChangeイベントが発生したからのようですね。
初歩的なことでした;ありがとうございました。

204 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:49:35 ]
VB、C#とやってるんですが、
次手を出すなら何が良いと思いますか?

205 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:54:52 ]
他の言語に手を出す前に、VB と C# を究めたら?

206 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:55:24 ]
何がやりたいかによるんじゃ?
.NETつながりでIronPython、、つまりPythonとかどうよ

207 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 14:55:35 ]
>>204
プログラミング言語はプログラムを作る道具であって、
それに手を出すこと自体に意味があるわけではないよ。

とはいえ異なるプログラミング言語に触れることで思考の引き出しは増えていくので、
暇があるときに他の言語を試してみるというのも悪い話ではない。

208 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:02:31 ]
繋がり重視ならIronPython。
引き出しを増やすならHaskellを勧める。

209 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:11:46 ]
色々触るのもいいけど、ひとつを極めるのも面白いと思う

210 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:49:13 ]
.NET Compact Frameworkネタでもうひとつお願いします
キーロックと画面を横にしたりするのを実装したいんですが
どうしたらいいんでしょうか?
さっきから探してるんですがヒントさえ見つかりません

211 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 15:55:48 ]
言語なんてどうせ手段なんだし極めるもなにもないような・・・
オブジェクト指向を極めたぞ!とかならまだしも。



212 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:08:07 ]
だよな
いかに優れたアプリケーションを作るかの方が大事だよ

213 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:14:38 ]
C#極めたってのがどのレベルを指すのかはわからんけど(言語仕様の把握??)
.NETを極めたぞ、とかならそれなりに意味があると思う。
それだけでも仕事取れるんじゃない?


214 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:15:18 ]
いやいや、例えば車にだって低回転時のトルクがどうとかステアリングがどうとか
車種によって特性があるじゃないか。

車なんてどうせ手段だし極めるもなにもないような・・・
運転を極めたぞ!とかならまだしも。

と、特定車のスレで言い放っているのと同じだぜ、それ。

215 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:15:26 ]
自分で言ってておかしいと思わないのかな
手段を極めることとは、すなわち生産性を高めることだろ

216 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:16:05 ]
>>211
>オブジェクト指向を極めたぞ!
すごく胡散臭さを感じるw

217 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:19:44 ]
極めるなんて言う程奥深いか?
生産性高めるのって言語に対する習熟より他の部分に依る部分の方が大きくない?


218 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:21:01 ]
極めるとか高校生が言いそうですね

219 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:21:34 ]
>>217
よくわかってないなら黙ってろカス
お前がC#の深さを全然知らんだけだろ

220 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:24:40 ]
C#の深さwwww

マジレスすると、VB、C# ってきたらあとはPython、Perl、Rubyあたりのスクリプト言語に慣れとくと
色々便利じゃないかね。

221 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:25:46 ]
言語を究めたって言われてもいまいちイメージできない
その言語つかって思い通りのソフト作れるってこと?



222 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:31:54 ]
だとしたらだいぶ浅いな。

223 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:35:51 ]
エスパーレスが出来ることだろ

224 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:43:11 ]
自分で処理系作れたらおk

225 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 16:55:32 ]
極めたっつったら、その言語のコンパイラーを自作しちゃうくらいの勢いだな

226 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:00:08 ]
言語極めててもその言語のコンパイラは作れないだろ。
もっと別種の知識が必要で、それさえあればあとはその言語の仕様書さえあれば
極めてなくても作れると思うぞ。



227 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:19:49 ]
ネタだろw

228 名前:デフォルトの名無しさん [2009/11/08(日) 17:20:48 ]
C# を極めてもねぇ…。
極めるってほどじゃないと思う。

言語を極めてもクラスライブラリを使いこなせなけりゃ意味ないんだから
.NET の CLR と クラスライブラリを極めないと…。

229 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:23:43 ]
コアとあなたは、クラスメイト♪

230 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:26:56 ]
CLRの理解を深めるといい。


231 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:47:24 ]
Form_Load後、300ミリ秒程度間を開けて処理をしたいのですが、
それだけのためにtimerを利用するのもどうかと思いますし、
同じスレッドで他の処理はしたいので、Threading.Thread.Sleepは使えません。
こんな時に使えるモノはないでしょうか?



232 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:48:10 ]
C#極めましたっていったらまあ.NET極めましたって意味に取っちゃうかな


233 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:50:43 ]
>>231
Timerでいいよ

234 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:51:58 ]
よっぽどヒマならアセンブラ辺りやっとけば。
その上でネイティブの C をちゃんと覚えれば無敵状態になれるかもよ。

235 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 17:57:07 ]
ネイティブのCって開発環境無いよね

236 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:00:56 ]
いくらでもあるだろ。

237 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:06:31 ]
>>231
用途に合うかどうかは知らないが、
フォームの表示が済んだらすぐ程度でよかったらShownイベントでいいんでない?

238 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:24:00 ]
プロパティの get 内でウェブアクセスして情報取得をしたいのですが、問題ありますでしょうか?
それともメソッドにすべき?

239 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 18:44:04 ]
>>237
それは試してましたが、
Loadから呼ばれる関数内から300ミリ待たせたかったので、
Shownだと早すぎてアウトみたいです。
とりあえず暫定的にタイマー使っておこうかと思います。

240 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 19:45:54 ]
>>238
さすがにそれは絶対ダメ
メソッドどころか専用のクラス作ってもいいくらいだ

241 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 20:31:19 ]
>>240
だめですか・・・
大人しく SetXX と IsXX を作ります。

ガイドライン見てみるとたしかに書いてありますね。
msdn.microsoft.com/ja-jp/library/ms229054.aspx より
>以下の場合は、プロパティではなくメソッドを使用してください。
> 操作がフィールド セットの場合よりも格段に低速の場合。
> スレッドのブロックを避けるために非同期バージョンの操作を提供することも検討している場合は、
> プロパティでは操作の負荷が大きくなりすぎる可能性があります。
> 特に、初期化時以外にもネットワークやファイル システムにアクセスする操作は、
> 多くの場合、プロパティではなく、メソッドにする必要があります。

多くの場合って書いてあるけど、例外的にOKな場合もあるんだろか・・・



242 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 20:38:40 ]
バインディングやリフレクションの都合でどうしてもプロパティにしたい場合はあるだろうな

243 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 20:49:39 ]
じゃあ、form上の複数のコントロールのenable値を変えたい時にプロパティで設定するのはおk?

244 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 21:27:07 ]
>>243
論理値でだとすると微妙。
一度にfalse/trueにする機能ならメソッド推奨。
複数コントロールのenable値の組み合わせは論理値じゃ返せないだろうし、
そしてget無しのset専用プロパティはガイドライン違反だから。
※ 無理矢理にでも返すとか言い出すなら「ご勝手に」かな。

245 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 22:22:27 ]
副作用起こすプロパティ作って、うまいことやった気になるのは初心者によくあること
HogeControl.Enadled = true; これで他のコントロールが無効になったり
ネットワーク通信始めるようになったら、次にソース見たときに
それが本当に何をやっているのか中まで全部見ないと理解できないものになる
小さいプログラムのうちはなんとかなるが、大きくなるにつれて
たまねぎの皮を剥くような精神力の戦いに引きずり込まれることになる

246 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 22:28:51 ]
>>245
どういう意味で「副作用」と言っているのか不明瞭な気がするが、
それは抽象化と命名が適切かどうかという問題であって、
「それ」がプロパティかメソッドか、という問題ではないと思うが。

247 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 22:50:25 ]
メソッドは操作、プロパティはデータを表すのが一般的だとガイドラインに明記
されているし、俺もそう思う。
抽象化と命名の問題かもしれないが、区別して使うに越したことはない。

248 名前:243 mailto:sage [2009/11/08(日) 22:51:48 ]
>>244
一括ではない。
組み合わせをcase式で処理してる。
さらにいえば、それは親フォームにある共通のコントロール。
getsetで渡す値はenumな値で表示モードです。
子フォームからgetsetして共通コントロールの制御を親のプロパティで行い、子は自formのコントロールの制御をおこなう。
状態としてコントロールの管理をしたかったんた゛。

249 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 23:09:08 ]
>>248
それは別にいいんじゃないの?


250 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 23:10:25 ]
それはイベント使った方がいい気がする
せっかく親フォームを抽象化しようとしているみたいなのにもったいない

251 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 23:38:54 ]
XmlSerializerでメンバをシリアライズ/デシリアライズする際、
独自の日付方式で書かれた文字列をDateTimeに変換したい場合に
属性のみの記述で変換することは不可能でしょうか?
それとも大人しくラッパークラスを作るしかないんでしょうか?

・日付文字列(W3Cで定義された形式とは違う)
Sat Jan 24 22:14:29 +0000 2009

・メンバ
[System.Xml.Serializer.XmlElement("date")]
public DateTime Date {get; set;}







252 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:01:57 ]
>>251
言ってることが支離滅裂に聞こえる。
独自の日付方式で書かれた文字列って何?

>public DateTime Date {get; set;}
このプロパティの型はDateTimeであって文字列ではないと思うけど。


253 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:05:29 ]
>>252
カスは黙ってろ

254 名前:ISO 8601 mailto:sage [2009/11/09(月) 00:09:55 ]
まあ、アメちゃんに国際規格とか言っても、北米が全世界で他は異世界と思ってるしな。

255 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:29:33 ]
DateTimeは構造体ダス

256 名前:251 mailto:sage [2009/11/09(月) 00:30:22 ]
>>252
XML上の「文字列」をDateTime型のプロパティにデシアライズしたい、というわけです。
その際、W3Cで定義された形式の日付文字列は特になにもしなくてもDateTime型に相互変換出来るんですが、
>>251 で挙げてるようなW3C標準じゃない形式の場合は変換してくれないんですよ。

で、属性にフォーマット指定したり変換用のデリゲートとかクラス指定したりして
シンプルに書く方法はないのかなぁと・・・

>>254
REST API実装してるアプリが返す日付形式って結構ばらばらな上適当ですよねぇ。

257 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:36:45 ]
DateTimeの書式を決めるカルチャ設定はスレッドごとに云々
DateTimeFormatInfo使えんかね

258 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 00:39:13 ]
>>256
そういうことなら、(当たり前のこと言うなと思うかもしれないけど)

>public DateTime Date {get; set;}
このプロパティにはXmlIgnore属性をつけておいて、このプロパティの値を
「独自の日付方式」の文字列で設定/取得するデシリアライズ用のダミーの
プロパティーを用意するだけじゃないの?

259 名前:251 mailto:sage [2009/11/09(月) 01:04:58 ]
>>257
シリアライザの方はカルチャ設定の書式ではなくW3Cの仕様にしたがって変換してるみたいです。

>>258
そうするとパブリックな日付のプロパティが2つ出来てしまうわけですよね。
あんまり無駄なパブリックメンバは作りたくないというのが正直なところです・・・

とりあえず、IXmlSerializable を実装した DateTime の子クラスを作って使うことにしてみます。
W3C規定の形式以外はこれが正解になるんだろか?

260 名前:251 mailto:sage [2009/11/09(月) 01:07:02 ]
って、DateTime は継承出来ませんね・・・

261 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:09:13 ]
それは255で既に指摘されてるじゃん



262 名前:251 mailto:sage [2009/11/09(月) 01:30:57 ]
ググったところ、
DateTimeをラップして IXmlSerializable を実装するクラスを書くか
日付のプロパティ持ってるクラス自体で IXmlSerializable を実装して
他のプロパティでも属性使って楽するのを放棄するかの2パターンぐらいみたいですね。

うう、なんかすっきりしないなぁ。

263 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 09:07:39 ]
以下のようなクラスがあった場合

public class A {
public A(string id) {...}
public string Id {get; set;}
}

public class B {
public B(string id) {...}
public string Id {get; set;};
}

A.Id と B.Id がお互い代入出来なくするためにはそれぞれクラスや構造体(AidとかBidみたいな)を
作るしかないのでしょうか?


264 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 10:46:30 ]
>>263
イマイチ意図が読み取れないけど
GETだけのプロパティアクセスはだめなの?


265 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 12:37:34 ]
>>264
Cのtypedefみたいなことがしたかったんですが、C#のusingだと別名なだけで
相互に代入してもコンパイルエラーにはならないみたいですね。

やりたかったことは、以下でした
・A.IDとB.IDはお互いに採番体系が異るのでコード中で混ざらないようにしたい
(コンパイラにミスを見つけさせたい)
・ID自体にはメソッドもプロパティも不要なのでなるべくクラスは作りたくない
・プロパティはセッタもゲッタも必要

一番目か二番目を妥協するしかないのかしらん

266 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 12:50:14 ]
えっ

267 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 12:50:38 ]
ますますわからんw

268 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 12:59:22 ]
メリットがいまいちわからんな…

269 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 13:15:18 ]
>>210です
ロケーションの変更は
msdn.microsoft.com/ja-jp/library/cc825750.aspx
でわかったんですがキーロックの方法がわかりません
画面コピーしたモーダルウィンドウを全画面で出すとかですかね?
イベントをおおもとでキャッチしてしまえばいいんですが
作成しているのがコントロールオブジェクトなので親のイベントを
横取りするのも作法としてどうなのかと思いますし、方法もわかりません
ご意見をお願いします

270 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 13:41:33 ]
>>269
通常はAPIのSetWindowsHookExを呼んでキーボードフック(WH_KEYBOARD_LL)でやるんだけど
WMだとどうかな。一応、非公式でこのAPIそのものはあるみたいだが。

271 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 13:58:57 ]
>>268
たとえば、A.IDとB.IDを受けとってなにかするメソッドHogeがあったとして、
> public static void Hoge(string aId, string bId) {....}
コーディング中に第一引数と第二引数が逆になっちゃってもコンパイル時にはねて欲しいんですよ。
この場合はプロパティを直接渡すんじゃなくてクラスで渡せば問題ないですが。



272 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:16:40 ]
typedefってエラーになったんだっけ?


273 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:21:42 ]
>>272
俺も疑問に思ったんで今試したが普通に通るな。警告すらでなかったぞ。
#cygwinのgccで警告最大でコンパイルした結果。彼は何か勘違いしてる気がする。

274 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:23:56 ]
クラス(とかstruct)で渡せばいい話じゃない

275 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:28:08 ]
IDだけのクラス作ってもいいと思うよ
IDクラスからAIDとBID継承させるとか

276 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:40:14 ]
>>273
VC++のclで警告レベル最大でコンパイルしても警告出ないね

277 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:44:43 ]
C#やJavaは基本型もオブジェクトとして扱っていることが優れた言語仕様だと思うし
intという抽象度で表現出来る範囲を逸脱したオブジェクトなら専用のクラスにすべきだと思う

278 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 14:59:05 ]
> 基本型もオブジェクトとして扱っている

思いっ切り間違ってるんだが

279 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:06:32 ]
Javaとは違うのだよ、Javaとは

280 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:07:57 ]
構造体なんか廃止すればいいのに

281 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:08:37 ]
>>270
ありがとうございます
一度キーワードがわかると情報がざくざくあつまってきますね
SetWindowsHookExを読んでフックする方法の弱点として
フックを登録できるのが1つだけのようです
なので他のアプリが使ってたら不具合が出たりするようです

サブクラス化というキーワードも出て来ましたが、これは
フックするというより盗み見するだけですか?

情報が集まったので方針を決めたいと思います
ありがとうございました



282 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:22:43 ]
そんなことないです
グローバルフックもローカルフックもCallNextHookExってのを使ってチェーン状に管理しています

サブクラス化はイベントの起動に利用するだけでメッセージ潰したりはできません

283 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:18:57 ]
まあキーロックが目的なら握りつぶすわけで、どんな方法でも
他のキー入力当てにしてるプロシージャに影響出ないわけないなw






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<233KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef