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


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

C#, C♯, C#相談室 Part55



1 名前:デフォルトの名無しさん mailto:sage [2009/12/06(日) 23:54:00 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ
C#, C♯, C#相談室 Part55
pc12.2ch.net/test/read.cgi/tech/1255530225/

Visual C# 2008 Express Edition 日本語版
www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

その他テンプレ>>2-5くらい

331 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:58:17 ]
>>330
なるほど、奥が深いな・・・

332 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:24:38 ]
>>331
酸素が薄くなってきましたね・・・

333 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:36:08 ]
static Stopwatch() {
  bool succeeded = SafeNativeMethods.QueryPerformanceFrequency(out Frequency);
  if(!succeeded) {
    IsHighResolution = false;
    Frequency = TicksPerSecond;
    tickFrequency = 1;
  }
  else {
    IsHighResolution = true;
    tickFrequency = TicksPerSecond;
    tickFrequency /= Frequency;
  }
}

public void Start() {
  if(!isRunning) {
    startTimeStamp = GetTimestamp();
    isRunning = true;
  }
}

public static long GetTimestamp() {
  if(IsHighResolution) {
    long timestamp = 0;
    SafeNativeMethods.QueryPerformanceCounter(out timestamp);
    return timestamp;
  }
  else {
    return DateTime.UtcNow.Ticks;
  }
}

334 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:40:43 ]
(・∀・)

335 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:50:52 ]
>Environment.TickCount:00:00:00.3905401
TickCountは単位としては1/1000秒、精度的には1/100秒程度だろ。
この例では1億回の実行中に39種類しかtickを返してないわけだ。
ちとずるいな。

336 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:53:16 ]
ずるいとかそういう問題なのか?

337 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:54:16 ]
そういう問題だ。ケチ付けんな。

338 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:59:09 ]
ケチじゃなくて疑問でしょ。
突っ込まれたら答えられない程度の理解の人が
急いで先回りで釘刺すみたいな反応しなくても。

339 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:00:43 ]
- - - - - - - やまおり - - - - - - -



340 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:03:29 ]
タイムスタンプの呼び出しを気にするような
微細なキャッシュ処理をしてるのに、
タイムスタンプが荒すぎるんじゃないのかと。

341 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:08:06 ]
227をどう読んでも、その後の227の話をどう読んでも
そんなに粗いとは思わないがな。

342 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:09:26 ]
それは、はじめから分かっていたこと。
たぶんロジックを考え直せばシリアルをつけていけばすむ。

343 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:13:01 ]
ハナから精度の問題じゃねえじゃん。
だから「そういう問題なのか?」って言ったのに。
死ね土方。

344 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:14:07 ]


345 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:15:40 ]
2chには同族嫌悪というか、ニートとかドカタとか同じ境遇の人がののしりあう傾向があるな。

346 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:17:01 ]
病んでるからね

347 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:21:54 ]
それで少しでも救われるなら喜んでドカタと罵しられるさ。

348 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:22:45 ]
もうすぐハッピーニューイヤーなんだから明るく行こうぜ。

349 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:28:35 ]
お前ら明るく行こうぜ!!!!!!!!!!!



350 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:28:46 ]
テキストデータベースの効率のいい検索方法ってどんな方法がありますか?
Google検索とか膨大なデータベースの割に一瞬で検索できますよね?
どういう仕組みなんでしょうか

351 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:31:44 ]
>>350
Googleはアルゴリズムはもとよりバックボーンが凄いんだと思う。
MapReduceとかもそのバックボーンがあってこその仕組みだし。

テキスト全文検索ならwikipediaにまとめがあるからそっからたどるといいよ
ja.wikipedia.org/wiki/%E5%85%A8%E6%96%87%E6%A4%9C%E7%B4%A2

352 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:32:05 ]
>>350
Google検索に関しては
あらかじめ分類して結果をキャッシュしておく。
最新のデータを使わずキャッシュを使う。
正確さを求めない。

なので勘定系のDBでこういう手法はご法度。

353 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:33:31 ]
全文検索はインデックスを先に作るってことで処理速度の短縮を測るのが多いような。
最近のDBはそういう全文検索機能まで付いてるのもあるんじゃなかったっけ?

354 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:35:30 ]
(・∀・)ニューイヤー!

355 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:41:49 ]
>>335
ずるいっちゃずるいんだけどさ、最初からそういう話で
今さらそこを突っ込まれても困る。


356 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:45:19 ]
たとえばintとlongの計算どっちが速い?
って疑問が出たとして計測したらintのが速かったとして
そこで、intはビット数半分だろ?ちとずるいな
って言われても困るんだ。


357 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:56:23 ]
一緒だけどな。

358 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:23:38 ]
一緒だね

359 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:29:06 ]
ずっと一緒だよ ///



360 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:38:24 ]
x64なら同じ、x86ならlongのが3倍ほど遅いという結果になった。


361 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:55:02 ]
x64、x86と来たら次はx108になるのかな?

362 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:55:48 ]
80186ですね。わかります。

363 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:56:13 ]
話を戻すが、>>227はキャッシュの有効性を判別する値に使いたいんだから、
精度(precision)はどうでもいいけど分解能(resolution)はかなり重要

で、それぞれの(公称の)分解能は

Environment.TickCount: 500ms
DateTime.UtcNow: 10ms
Stopwatch.GetTimestamp: H/W性能に依存

>>266によると「ピーク時は一秒間に数百回コールされる」とのこと
簡単のため500Hzとすると周期は2msで、あきらかに前2者は不十分


364 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:00:04 ]
>Environment.TickCount: 500ms
まあこれは実態に合ってない数値だけどな。
それはおいといて、更新を確実に確認したいなら素直にカウントにするべきだわな。


365 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:01:28 ]
あれInterlocked厨大勝利の流れ?

366 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:05:00 ]
なんでedだけ小文字なん

367 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:09:28 ]
>>363
どうでもいいことに突っ込んで悪いけど、計測において「精度」と対比されるのは
「確度」じゃないの?

その分解能って精度とどう違うのよ?
というより、それって精度そのものじゃん。

368 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:21:03 ]
いやまあ、たぶんLSBの大きさっていうか、
最小測定単位のことを言いたいんだろうってのは分かるけどね。

ただ、>>363に出てくる測定値の「誤差」ってのは、計測器そのものの
量子化誤差によるものというより、測定器を操作する側(つまりソフト)の
問題に起因する誤差だから、「分解能」ってのは概念的にしか意味を持たないよね。

369 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:21:50 ]
ないない



370 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:45:53 ]
>>365
いや、同一スレッドで(Interlocked使わずに)インクリメント&取得をする方がベター

371 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:54:28 ]
どこの国のベターだよ

372 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 02:00:20 ]
>>227は下層のエレメントが多数合って、
不特定のスレッドから勝手に情報が書き換えられるイメージで、
上層の管理スレッドが下層のエレメントの様子を見て
変更があればそれに応じた処理をするのだと思うけど。
そうなると変更があったことを示すシーケンスを作る出すのが
同一スレッドというわけにはいかない。

373 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 02:28:52 ]
そうは思えんが。
>上層の管理スレッドが下層のエレメントの様子を見て
>変更があればそれに応じた処理をするのだと思うけど。
こんなことを別スレッドで監視する馬鹿はいない。


374 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 02:34:02 ]
更新自体は複数スレッドからあったとしても、
こういうバージョンカウンタはスレッドセーフでなくてもよい場合もある。


375 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 02:35:10 ]
[割り込み|シグナル|コールバック|イベントドリブン]が理解できないので〜〜〜
よくある話ではある。

376 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 02:44:20 ]
そういう話なら、そもそもバージョン管理自体入らないんじゃね。
変更があったら即書き換える。

377 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 02:58:19 ]
ウェブサーバーもシングルスレッドで大丈夫とか言っちゃう人かな。
できなくはないだろうけがしんどいのと違うかなぁ。
>ピーク時は一秒間に数百回コールされる可能性あるので。 


378 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 03:16:13 ]
>>350
分散処理

379 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 07:20:38 ]
0



380 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 07:43:12 ]
実行中に時刻の修正が入ったら、どうなる?

381 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 07:47:12 ]
DateTime系以外は影響なし


382 名前:227 mailto:sage [2009/12/28(月) 08:06:38 ]
朝起きたらすれが膨大に増えてて吹いた&さーせん。

基本的にユーザーの操作によって位置などが変えられる可能性があり、描画時に上の階層の更新時刻?をすべて舐めて更新されてたら絶対座標などの再計算を行うというものなので
後からの呼び出しが同時刻もしくはそれ以降であることが保障されるなら精度は数百ミリセクでも足ります。

計算してくれた人ありです。その時間なら問題なかです。

そもそもの更新時刻?みて再計算がやり方として正しいのかわからんですがとりあえず実装してみまふ。すくなくとも今の毎回上から全計算しながら下るよりは速いと願いたいw


383 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 10:33:58 ]
そろそろ誰か3行でたのむ。
とちゅうでついていけなくなった。

384 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 10:50:53 ]
>>382
それって、ただのカウンタでいいってことじゃない。

385 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 10:54:15 ]
場合によってはフラグでも・・・


386 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 11:58:05 ]
ハッシュとか

387 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:07:00 ]
>>377
誰に言ってるのか何が言いたいのか分からん

388 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:09:59 ]
たとえ更新が複数スレッドでも、その用途ならvolatile変数程度で普通にインクリメントで十分。
最もその前に更新自体が複数スレッドから正常に行えるか確認いるけどな。



389 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:15:13 ]
volatileのincrementは安全なのか?



390 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:17:30 ]
絶対座標取得時は親の座標取得して加算てのと余り変わらん気がするが。
キャッシュするなら、全キャッシュの一発無効化が出来るプラグや更新バージョンを使わんと、
結局全親のトラバースが必要なので大して効果ないと思う。
何せ計算自体の負荷が小さいだろうから。
計算が結構重いなら効果あるだろうけど。

391 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:21:59 ]
volatileではもちろんインクリメントはスレッドセーフじゃない。
でも、キャッシュの無効化のための更新バージョンなんてのは、それでも実質的にうまく動く。
考えて見たら分かるよ。
更新が競合しない場合→当然問題なし
更新が競合する場合→結果として必ず誰かが1回は更新することになるので問題なし


392 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:25:21 ]
後はビットフラグなんかで上手く工夫すれば、子孫だけキャッシュ無効化ってのもひょっとするとできるかもしれない。


393 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:26:44 ]
>>391
ああそういうことね。ただ前提を創作しすぎるのはどうかと。
それだったらバージョンの更新は、
キャッシュを使ってる側がやれば十分でないかな。

394 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:27:47 ]
とにかく、現状の考え方である、キャッシュの確認も実際の座標計算も同じだけトラバースが必要な設計では、
計算自体がそこそこ重くないとあまり効果は期待できない。


395 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:33:29 ]
うみねこのなく頃にのような展開で話が見えない

396 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:39:46 ]
実際のとこ、ホントにそんな計算に時間かかってるの?
要素数はトータルでどのくらい?
また現状のコードはどんなの?

それから、絶対座標計算するのは描画などの特定タイミングで一斉にやるの?
一斉にやるなら、ルートから全要素をトラバースするやり方ならそんな無駄はない。
あるいはこれと全要素共通の更新バージョンとの組み合わせ。


397 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:43:06 ]
それでも遅いなら特定子孫のみを無効化出来るようにビットフラグなんかで工夫、
ただしこれはうまくできるかは分からない、頭の中で設計出来てない。
出来たとしてもちょっと複雑になるから効果は落ちる可能性が高い。



398 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:53:27 ]
産業

399 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 16:57:48 ]
みなさん!自己解決しました!



400 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 05:44:35 ]
みなって誰?

401 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 08:17:31 ]
青江

402 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 10:06:33 ]
流石の俺も「青江」は出ねぇわw

403 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 12:44:01 ]
(  ̄ー ̄)ふーん…

404 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 12:50:04 ]
    (  ̄ー ̄)
  (  ̄ー ̄)(  ̄ー ̄)
(  ̄ー ̄)(  ̄ー ̄)(  ̄ー ̄)

405 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 13:14:47 ]
    (  ̄ー ̄)
  (  ̄ー ̄)(  ̄ー ̄)
(  ̄ー ̄)(  ̄ー ̄)(TーT)


406 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 13:29:20 ]
使い捨て下っ端のITドカタを表現したAAですね

407 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 13:57:46 ]
本物のドカタは定刻で帰れるがな。

408 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 15:06:59 ]
がながな。

409 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 15:52:14 ]
VC#2008で行番号が表示されないんですが。知ってる人いませんか?



410 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 15:53:23 ]
ありますたorzスミマセン

411 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 17:32:37 ]
単にあったかだけ書かずにどこにあったかも書いとけよ

412 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 17:42:48 ]
かわりに書いておいてください
では

413 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 17:47:51 ]
死ねハゲ

414 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 17:56:50 ]
悪性のタコだな

415 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 18:02:22 ]
C#でDictionary型の連想配列のディープコピーをするには
ループでコピーするしかないですか?

416 名前:415 mailto:sage [2009/12/29(火) 18:05:18 ]
自己解決しました

417 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 18:06:20 ]
はいはい

418 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 18:08:40 ]
>>416
答え書け、バカ

419 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 18:10:54 ]
>>418
イヤです。



420 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 18:10:59 ]
>>416-418
自演乙
誰だよお前w>>416

421 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 18:16:02 ]
こんなカスが常駐してるからID非表示の板は嫌なんだ
おとなしくループでしこしこやってるわ

422 名前:デフォルトの名無しさん [2009/12/29(火) 18:20:57 ]
>>421
どうしても答え欲しいならトリップでもつけりゃいいじゃん
あほなの?

423 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 18:23:23 ]
冬休みで基地外が居座ってる確率が急上昇中だな。

424 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 18:25:52 ]
たいへんだな

425 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 18:28:05 ]
まぁ、本当に自己解決したからいいわw
ループコピーの関数作ったから。

426 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 20:39:25 ]
UserControl継承してコントロール拵えてたんだけど
パブリックプロパティ作ったらデザイナが勝手にnull入れようとしてくるのね。
そのプロパティはnull許容できないからArgumentNullException吐いてるのね。
それでも執拗にnull入れてくるのね。

たぶんこの辺を制御する属性があるはずなんで教えてください。

427 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 20:40:02 ]
DefaultValueAttribute

428 名前: ◆dqVzDvT5pM mailto:sage [2009/12/29(火) 20:40:47 ]
よろしくおねがいします

429 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 20:41:58 ]
こちらこそよろしくおねがいします



430 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 20:42:34 ]
>>427
ありがとうござます。

431 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 21:23:32 ]
こんごともよろしく

432 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 22:21:23 ]
>>426
デザイナは勝手にnull入れようとなんてしないし、
DefaultValueAttributeは単にプロパティグリッドのコンテクストメニューが
表示されるときに「リセット」項目を有効にするかどうかの判定に使われるだけ。

なんか勘違いしてると思う。

433 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 22:26:51 ]
しないし〜と言わても、コントロール更新する度に
Form.InitializeCompornent
の中で毎度毎度
MyControl.NullNotablePropaty=null
を自動生成されるのでどうしたらいいのやら
結局メソッドにしたからいいんだけど

434 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 22:35:38 ]
再現するので一応手順を書きます。

普通にFormアプリケーションのプロジェクトを新規作成します。
追加でUserControlを選択し、TestUserControlを作成します。
TestUserControlに以下のコードを記入します。

private object nullNotablePropaty = null;
public object NullNotablePropaty {
get { return this.nullNotablePropaty; }
set {
if (value == null) { throw new ArgumentNullException("value"); }
this.NullNotablePropaty = value;
}
}

一度ビルドします。
Formに戻ってTestUserControlを貼り付けます。
もう一度ビルドすると

//警告 値を Null にすることはできません。
//パラメータ名: value

と吐いてデザイナが停止します。
これ標準的な動作なのですか?

435 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 22:38:49 ]
>>433
それはUserControlのコードで適切なタイミング(普通はコンストラクタで
いいと思うけど)でプロパティを初期化してないから。

あるいは逆に、UserControlが何かのイベントハンドラでプロパティ(またはその
バックストアフィールドに)nullを入れちゃってるか。

いずれにせよ、デザイナがやってるのは、ただ設定されてるプロパティを永続化するための
コードを吐いてるだけ。

もちろんDefaultValueAttributeで適当な値を指定して、そのプロパティをデザイナで
指定すれば、

MyControl.NullNotablePropaty=null;
は作成されなくなるけど、根本的な問題解決になってない。

436 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 22:39:52 ]
そもそもnull入れちゃダメなのにnullで初期化してる意味がわからない

437 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 22:43:42 ]
別にString.Emptyでも何でもええですよ。
適当な値が思いつかなかったからここではNullになってるだけっす。
重箱がお好きですねぇ。

438 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 22:46:16 ]
重箱は職業マの趣味だよw
程度低いよねw

439 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 22:48:24 ]
(´・ω・`)



440 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 22:52:52 ]
>>434
だから、とにかくプロパティを初期化するコードを書こうよ。

なぜそういう動作になるのかは、俺も完全には説明できないけど
落ち着いて考えれば大体の想像はつくと思う。

441 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 23:02:06 ]
プロパティって初期化するか?

442 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 23:02:58 ]
後ろのフィールドを初期化してDefaultValue属性で明示するのが正しい

443 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 23:07:09 ]
んじゃおきまりの文句を
設 計 が 悪 い

444 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 23:09:43 ]
UserControlにnullを許容しない参照型のプロパティを持つのが理解できない
設計が悪い

445 名前:434 mailto:sage [2009/12/29(火) 23:20:31 ]
自己解決しました

446 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 23:20:36 ]
>>434
あと、一応言っておくけど単にIDEがそのプロパティを永続化するコードを吐くことを
抑止したいだけなら、DesignerSerializationVisibilityAttribute.Hiddenを付ければいい。

447 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 23:22:22 ]
>>439
(´・ω・`)←鳥の糞

448 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 23:24:56 ]
しかし、どう解決したかぐらい書けばいいのにな。
なんかさもしいよな

449 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 23:26:11 ]
遊ばれてる人々



450 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 23:31:57 ]
他人がネタで書いてるだけだってば。

451 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 23:44:30 ]
ID無い板で冬休み
そういうことだ

452 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:17:40 ]
>>437
こんなあほ相手にするだけ無駄だったな。


453 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:20:15 ]
>>432
お前も勘違いしてる。


454 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 03:05:56 ]
初めまして。
現在COMのiTunes 1.12 Type Libraryを利用して、
iTunesで曲が再生される度にListViewに曲目を追加していくアプリを開発しています。
再生開始時にListViewに追加できるようにするため、一通りコードを書いたのですが
以下のコードがうまく動かずに頓挫しています。

具体的には、関数ShowSongInfoOnList()において
リストを表示する手前でMessageBoxを出すと、曲目が表示されるのですが、
(ゆえに、曲目は正常に取れているはず)
その次の行のAddする時にうまく行っていないようで、困っています。
Addさえうまく行けば…と思い、苦労しております。

解決法をご存知の方、どうかご教授ください。

455 名前:454のコード1 mailto:sage [2009/12/31(木) 03:07:34 ]
namespace WindowsFormsApplication1
{

public partial class Form1 : Form
{
// iTunes操作のためのインスタンス
private iTunesApp iTunes;

public Form1()
{
// 初期化
InitializeComponent();

// リスト形式で表示するためのコード
listView1.FullRowSelect = true;
listView1.GridLines = true;
listView1.Sorting = SortOrder.Ascending;
listView1.View = View.Details;
listView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
listView1.Columns.Add("楽曲名", 145, HorizontalAlignment.Left);
listView1.Columns.Add("アーティスト", 145, HorizontalAlignment.Left);
listView1.Columns.Add("アルバム", 100, HorizontalAlignment.Left);
listView1.Columns.Add("再生日時", 200, HorizontalAlignment.Left);

// インスタンス生成
iTunes = new iTunesAppClass();



456 名前:454のコード2 mailto:sage [2009/12/31(木) 03:08:20 ]
// イベントハンドラ群
iTunes.OnPlayerPlayEvent += new _IiTunesEvents_OnPlayerPlayEventEventHandler(iTunesPlayEvent);
iTunes.OnPlayerStopEvent += new _IiTunesEvents_OnPlayerStopEventEventHandler(iTunesStopEvent);
iTunes.OnAboutToPromptUserToQuitEvent += new _IiTunesEvents_OnAboutToPromptUserToQuitEventEventHandler(iTunesQuitEvent);
}
// 再生開始イベント
private void iTunesPlayEvent(Object iTrack)
{
ShowSongInfoOnList((IITTrack)iTrack);
}
// 再生終了イベント
private void iTunesStopEvent(Object iTrack)
{
}

// iTunes終了イベント
private void iTunesQuitEvent()
{
this.Close();
}

private void ShowSongInfoOnList(IITTrack itrack)
{
// 曲情報を格納
DateTime dt = DateTime.Now;
// デバッグ用
MessageBox.Show(itrack.Name + itrack.Artist + itrack.Album + dt.ToString());
// リスト表示
this.listView1.Items.Add(new ListViewItem(new String[] { itrack.Name, itrack.Artist, itrack.Album, dt.ToString() }));
}
}
}

457 名前:454 mailto:sage [2009/12/31(木) 03:11:17 ]
自己解決しました。スレ汚し失礼しました。

458 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 22:29:20 ]
ある値を返す関数FUNCがあるとします。FUNCが返す値は、FUNC内で取得や生成がされるものではなく、他のコールバック関数CBがきた時点でCB内で取得できるものです。
この場合、FUNCによってCBで得られた値を返すにはどのような方法をとればいいのでしょうか。

CB内の処理で適当なフラグをONにして、FUNC内でそのフラグがONになるのをwhileループで待つというのは微妙な方法だと思います。
またThread.Sleepで処理を待つというのも、この場合FUNCの反応速度が1ms単位になってしまうので若干の妥協を強いられることになってしまいます。

この場合どのような手段が最適なのでしょうか。
ちなみにこの情報が役に立つかはわかりませんが、具体的にやりたいことはDirectShowでUSBカメラのキャプチャを行うことの複雑さをクラスによって隠蔽しようとしています。
DirectShowのISampleGrabberCB.BufferCBが上記のコールバック関数CBにあたり、クラスでキャプチャ画像を取得する関数が上記のFUNCに相当します。
よろしくお願いします。

459 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 22:35:25 ]
FUNCだけでやりたい、ってことなら、ポーリングするしかない。
普通に考えれば、コールバックなりイベントなりを使うだろうけどね。



460 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 02:08:29 ]
要約するとこう?
| コールバック関数にキャプったデータが非同期で順次渡され、FUNCで現在のデータを取り出す
| しかし、まだカメラの準備ができていなくてデータがないときはFUNCをブロックしたい

いずれにしても、同期制御の基本的な部分が分らないんだろうな
キーワード: イベントオブジェクト、EventWaitHandle

461 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 05:13:05 ]
>>460
笑(笑)

462 名前:458 mailto:sage [2010/01/01(金) 17:19:47 ]
すいません自己解決しました。

463 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 17:34:25 ]
よかったね。死ね。

464 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 18:01:31 ]
すみません自己解凍しました。

465 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 21:09:16 ]
>>459-460
レスありがとうございます。極力クラスを利用するほうには簡単に見せたかったので、イベントやコールバックも控えていたんです。
EventWaitHandleなどについて調べてみたいと思います。


466 名前:デフォルトの名無しさん [2010/01/03(日) 13:47:18 ]
DataGridView を継承したクラス を作っているんですが、CellValuePushed イベント内で
e.ColumnIndex の値が書き変わってしまいます。
関数内で this(あるいはキャストした sender).Rows[].Cells[].Value のように、cell.Value
を実行したのが原因のようですが、これはしてはいけないことなんでしょうか?

467 名前:466 mailto:sage [2010/01/03(日) 14:17:02 ]
自己解決しました

468 名前:466 [2010/01/03(日) 14:20:14 ]
偽者が出たので再度カキコ

DataGridView を継承したクラス を作っているんですが、CellValuePushed イベント内で
e.ColumnIndex の値が書き変わってしまいます。
関数内で this(あるいはキャストした sender).Rows[].Cells[].Value のように、cell.Value
を実行したのが原因のようですが、これはしてはいけないことなんでしょうか?

469 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 14:26:37 ]
>>468
偽者なんてわかってるのに二重書き込みとかいちいちうざいよ。



470 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 14:54:31 ]
>>469
チミ自身は「うざ」くないと思ってるの?w
こういう「俺様棚上げ君」って頭オカシイんじゃないのかねホント。

471 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 14:56:15 ]
>>466
意味がわかんない。e.Value使えばいいんじゃね?
確かめたわけじゃないけど、Cellsのインデックスはカラム順じゃないキガス

それと467==469だな、うん。ゴミレスが根拠。470も同類ウザ

472 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 14:59:43 ]
467だけど469ではないです。
あと466解決しました。

473 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 15:00:10 ]
まったく同じこと書きなおす奴は読んでる人のことは全然考えてない

474 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 15:02:26 ]
>>470
チミとかきんもーっ☆

475 名前:デフォルトの名無しさん [2010/01/03(日) 15:11:11 ]
>>471
「==」わろた

476 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 15:13:28 ]
まぁマ板だし

477 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 15:29:54 ]
いやム板でしょ

478 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 15:37:12 ]
だから自己解決したときも答えを書けといってるのに

479 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 15:42:20 ]
>>466-479
ここまで自演



480 名前:デフォルトの名無しさん [2010/01/03(日) 15:43:16 ]
だからいちいちトリップつけろよめんどくさい

481 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 15:49:59 ]
>>466
試してみた。
現象としては違うんだけど、デバッグ文とかで
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value
を参照すると、e.Valueが何故か消えるな・・・

String mes1 = "row:" + e.RowIndex + ", col:" + e.ColumnIndex + ", val:" + e.Value;
String mes2 = "row:" + e.RowIndex + ", col:" + e.ColumnIndex + ", val:" + dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;

そもそも CellValuePushed の中じゃ dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value は
入力以前の値だから見ても意味がない。
やっぱり e.Value を使えばいい。変更前の値ならデータストアを見る。


482 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 15:52:37 ]
あと、ColumnIndexは表示のカラムとは無関係だった。(カラムの順番を手で移動しても変わらない)

483 名前:466 mailto:sage [2010/01/03(日) 17:31:14 ]
>>471 >>481 >>482
レスありがとうございます。
Rows[].Cells[].Value で同行の他列を参照したいので、e.Value は使えないんです。
最初に e.ColumnIndex を保存しておくとかも考えたんですが、CellValuePushed 内で
他列を参照しない方がいいですね…
アドバイスどおり、おとなしく元データのほうを参照するようにします。

484 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 21:06:37 ]
32bitOSで作ったC#アプリは
64bitOSでも使えますか?

485 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 21:15:00 ]
動く

486 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 21:16:22 ]
動くようにも作れる

487 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 21:25:25 ]
動かないように作る方が難しいと思うけどw
IntPtr使うところわざとint使ったりでもしなきゃ動くんじゃないのか

488 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 21:57:04 ]
まあ普通に作れば動くわな。
アンマネージ使う場合くらい注意。


489 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 22:24:56 ]
あとは32ビット版しかないCOMコンポーネントとか要注意だな。



490 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 22:30:46 ]
今は直ってた気がするけど、
昔、LINQ to SQL 使うと64ビットで動かなかったことが。

491 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 22:35:26 ]
LINQってなんですかぁ?
Linkの派生版ですかぁ?
ハイパーリンク出来るんですかぁ?
よくわかりません><

492 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 22:39:13 ]
>>491
和製英語で臨海空港のこと。
臨海空港 ⇒ りんくう ⇒ LINQ
一つお勉強になったね

493 名前:デフォルトの名無しさん mailto:sage [2010/01/06(水) 23:05:22 ]
つまんね

494 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 00:46:57 ]
Properties.Settingsで、起動時にuser.configを読み込むタイミングで
validateを差し込む方法はあるでしょうか?

ユーザがuser.configを自分で無効な値に書き換えた場合などに、
キャンセルしてデフォルト値を読み込めるようにしたいのですが。

495 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 02:17:26 ]
どうしても出来ない事があって、質問しようと今までやってきたことを書き連ねてたら、
突然ひらめいて解決できた。

ありがとう、本当にありがとう。

496 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 02:19:48 ]
そういうもんだ。

497 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 02:25:12 ]
文章書くことで頭が整理される


498 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 05:23:16 ]
脳が活性化されるからね

499 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 09:01:53 ]
文章というか可視化だな



500 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 09:33:12 ]
そうそう、先輩や後輩に相談しようとして話してたら閃くことってたまにあるw
やっぱ整理するって大事なのね

501 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 09:37:27 ]
アウトプットしないと人間馬鹿になるっていうしな

502 名前:デフォルトの名無しさん [2010/01/07(木) 14:06:00 ]
ありすぎて笑う

503 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 23:05:19 ]
仮死化

504 名前:デフォルトの名無しさん mailto:sage [2010/01/07(木) 23:14:25 ]
ドキュメントを残していれば誰かが引き継いでくれるのを期待することですね

505 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 01:51:05 ]
先生、このロンゴロンゴ文字解読できません!

506 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 02:32:56 ]
C#WindowsアプリからWEBブラウザを起動し、
WindowsFormに入力した値をブラウザ上に自動入力する
プログラムを作っています。

通常のiFrame(インラインフレーム)等を使わないページであれば
mshtmlを使用する事によりWindowsフォームに入力した値を
ブラウザに設定する事が出来ているのですが、

指定したページ内部にiFrameを使用しているページの場合には
どうしても自動で入力をする事が出来ません。

どうすれば指定したページ(URL)にiFrameが使用されている場合にも
ページの特定項目にmshtmlを使用して自動入力をさせる事が出来るのでしょうか?

507 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 02:59:46 ]
>>506
javascriptでのやり方と一緒です
iframeをDOMで取得して中のドキュメントを取得すれば
そこから先はiframeを使っていない場合と同じ
トップのドキュメントとフレームのドメインが異なるなら無理です
絶対不可能かというとそうでもないんだがセキュリティ上の制約です

508 名前:デフォルトの名無しさん mailto:sage [2010/01/08(金) 19:24:09 ]
Ctrl + Mを改行に割り当てられますか。
Mはアウトライン関連の2ストロークの最初の文字みたいだったんで、それらを削除してみたんだが。

509 名前:508 mailto:sage [2010/01/08(金) 19:53:31 ]
失礼、残ってた、アウトラインのCtrl + M関連全部削除したら、できました。ありがとうございます。



510 名前:デフォルトの名無しさん [2010/01/09(土) 12:47:14 ]
OrderdOyについてなのですが
var seq = from item in container orderby item.Key1 , item.Key2 select item;
この複数キーでソートするorderbyに直接対応する拡張メソッドが無いようなのですが
これって、どうやって呼び出されているかご存じの方おられますか?


511 名前:デフォルトの名無しさん mailto:sage [2010/01/09(土) 13:14:41 ]
ThenBy

512 名前:デフォルトの名無しさん mailto:sage [2010/01/09(土) 15:58:38 ]
>>512

513 名前:デフォルトの名無しさん mailto:sage [2010/01/09(土) 20:56:36 ]
逆コンパイルしたらすぐわかるのに

514 名前:デフォルトの名無しさん [2010/01/10(日) 03:20:21 ]
ダイアログを、タスクトレイがどこに配置されていても、タスクトレイの直上(or 直下)に
開くようにコーディングしたいのですが、どうすればよいでしょうか。

515 名前:506 mailto:sage [2010/01/10(日) 04:11:58 ]
折角ご回答頂いたのにお返事が遅くなりまして申し訳ありません。
※規制されていました。

>>507
フレーム内の要素にアクセスしようと思い
次の様なコードを書いてみたのですが
次の「ERROR_POINT」と書いた部分でエラーが発生してしまいます。
一体何が原因なのでしょうか?

アクセスが拒否されました。(HRESULT からの例外: 0x80070005(E_ACCESSDENIED))


iCol = HTMLDoc.getElementsByTagName("iframe");
foreach (mshtml.IHTMLElement IhtmlIE in iCol)
{
  if (IhtmlIE.getAttribute("id", 1) != null) // ERROR_POINT
  {
    sString = (string)IhtmlIE.getAttribute("id", 1);

  if (sString == "inputBody_ifr")
  {

  }
}


また、mshtml を使用して自動でiframe内の要素に自動入力が
出来ない場合には、Windows APIを使用して画面内のiFrameの位置をクリックし
文字列を入力したいと思うのですが、
そもそもWindows APIを使用して画面内の特定座標をクリックし
そこに対して文字列を入力する事など可能なのでしょうか?

516 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 09:13:30 ]
>>515
>一体何が原因なのでしょうか?
507でもいったけどトップのドキュメントとフレームのドメインが同じかどうか確認したかい?
それもせずに、ソース丸投げでデバッグしてくれはないだろ

517 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 19:18:02 ]
>>516
それが不思議な事にそのサイトは、コードを見ても次の様になっていて
(SRCにJavaScriptになっています。)
ドメインが同じかどうかの確認をする事が出来ません。

しかも、ブラウザから見て入力を行うと(例えば"あいうえお")
iFrame内の<body>タグ内になぜか文字が入るのです。
(FireBugで要素を調査したと結果)
<body>あいうえお</body>

■iFrame内のコード
<iFrame src="Javascript:">
<html>
  <head>
  </head>

  <body>
  </body>
</html>
</IFrame>


518 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 19:45:47 ]
そのサイトを教えてくれたら俺が作ってやるのに

519 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 19:58:48 ]
>>518
実は会社から自分のブログへアクセスし
書き込みをする事が出来ない為、

これまで仕事中にこっそりブログのネタをテキストファイルに書込みを行い、
メールで自宅に送信し、そのネタをブログの本文に貼り付けていたのですが、
毎回それを手動でするのは面倒なので、自動で受信メールの内容を

ブログにログインし本文に貼り付けようとしているのですが、
iFrameのトラップがある事を知り断念している状況です。

結構難易度が高く私のスキルではどうもiFramewを使ってるところに
自動で入力をする事が出来ません。。。

お手数ですがもし可能でしたらlivedoorの本文に自動入力する方法をご伝授頂けると助かります。



520 名前:519 mailto:sage [2010/01/10(日) 20:01:55 ]
>>519 ですが、仕事中にブログのネタを書いてる・・・の件はシカトして下さい><;

521 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:03:02 ]
そのブログ主だって会社にばれたときタイムスタンプについてどういいわけするのか
まずそこから考えたほうがいいと思うよ

522 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:04:24 ]
そういうのはどうでもいい。

523 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:04:57 ]
よし
龍馬伝見てから考える

524 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:06:29 ]
DOMでやるのはあきらめて、HttpWebRequestでやれば?
ログイン->クッキーもらう->ブログの書き込み内容をPOST、みたいな感じだろうし。

525 名前:519 mailto:sage [2010/01/10(日) 20:11:37 ]
>>521 >>521 >.523
(だって仕事詰まらないんですもの。)

>>524
httpWebRequestはあまり詳しく無いので
Windows APIでも駆使して何とかして
自動化したいんです。

(仕事中にじっくりネタを考えてるせいもあって、お陰様で結構人気です。)


526 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:13:01 ]
何とかして、って何ともなってねーじゃんw

527 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:14:36 ]
だなw

528 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:15:07 ]
だいたい「ちゃんと目的のページを読み込めたか」の例外処理のほうがむずかしいっつーの
プログラムってのはコードの実行性だけを示すんじゃないんだけどなぁ

529 名前:519 mailto:sage [2010/01/10(日) 20:33:31 ]
>>526 >>527 >>528
私のスキルではどうもiFrameを使ってるところの自動
入力させるのは難しいです。

どなたかこの様な事を出来る方はいませんか?



530 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:40:01 ]
ひとつ言っておくけど、この件でAPIはほとんど役立たず。
せいぜい、キー入力を送るくらい(これなら、SendKeysで充分だけど)。

531 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:42:53 ]
>>530
一言余計だと思うんだけどなぁ

532 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:45:46 ]
龍馬伝おわた
風呂入ってくる。

533 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:47:43 ]
答え書かれてるじゃん。一連の認証と送信手続きを動作確認しながらすればいいって。
意味わかんないなら誰かに金払って作ってもらいなよ。それか携帯でブログ更新するかだね。仕事中に。

534 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 21:17:34 ]
>>525
>それが不思議な事にそのサイトは、コードを見ても次の様になっていて
>(SRCにJavaScriptになっています。)
>ドメインが同じかどうかの確認をする事が出来ません。
それはドメインが異なるのと同じ扱いになってる(勝手に解釈して情報省くな)
まあ、どう考えても自動操作はめんどくさいだけだから
524の言うようにhttpWebRequestでやるか
もう少し扱いが簡単なWebClient使って頑張るかだな

535 名前:519 mailto:sage [2010/01/10(日) 21:33:15 ]
>>530
SendKeyで試そうしているのですが
例えばタイトル項目にフォーカスを当ててからSenkeyで
"{TAB}あいうえお" という文字列を送ろうとして次のコードを書いたところエラーが出てしまいます。

■コード
 // mshtml.IHTMLElement IhtmlIE
 IhtmlIE.Focus();

■エラー内容
 mshtml.IHTMLElement' に 'Focus' の定義がありません。

VB.netだと普通にFocus(); が出切るのになぜC#だと出来ないのでしょうか?






536 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 21:36:45 ]
mshtml.IHTMLElement' に 'Focus' の定義がないからだろ。

537 名前:519 mailto:sage [2010/01/10(日) 21:39:46 ]
>>532
お風呂から上がられましたら>>532さんのテクニックに期待してます。

>>533 >>534
mshtmlを操作して入力→ボタンのクリックをした方が一番簡単かと思っているのですが
その認証を行う為には、>>534さんのおっしゃってる様に
httpWebRequest か WebClient を使うしか無いのでしょうか。

また、mhstmを使用しても出来ない場合には、
本文の入力エリアは決まった位置に表示されるので、WindowsAPIを使用して
iFrameで定義されたiFrame内の要素をクリック→文字列の送信をする方法を考えているのですが

Windows APIで特定の座標をクリック→文字列の送信をするにはどうすれば良いでしょか?


538 名前:519 mailto:sage [2010/01/10(日) 21:40:29 ]
>>536
VB.netだと Focus();が普通に使えてました。

539 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 21:41:42 ]
じゃぁ、VB.NETでやれよ。



540 名前:519 mailto:sage [2010/01/10(日) 21:58:49 ]
C#の方がコードが見やすいのでC#でやりたいです。

541 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:02:19 ]
>>537
534だが、mshtmlを操作するよりWebClientのほうが簡単だ
DOMによる操作セキュリティ制限に引っかかっていて難しい
キー操作でどうにかするならレイアウト変わるたびにメンテ
マウスなら座標取るためにDOMが必要だから非現実的
どの方法も不可能とは言わないが、WebClientが圧倒的に簡単
根性でキー入力するなら文字はクリップボードから貼り付ければw

542 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:23:48 ]
いい加減、mshtmlの使い方はスレチだと気付け

543 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:51:17 ]
うーん。ログインしてタイトルと本文入れるとこまでできた。
でも投稿できない。本文を入れなければ投稿するけど
本文を入れて下さいのエラーがでる。今日はつかれたからこの辺にしておこう。

544 名前:519 mailto:sage [2010/01/10(日) 23:07:18 ]
>>541
WebClientにも挑戦してみようと思います。
というよりちょっと疑問なのですが、
>DOMによる操作セキュリティ制限に引っかかっていて難しい
この様な情報ってどこから知られたのでしょうか?
私の方でも色々とぐぐってみたのですが見つかりませんでした。

>>543
ええっ!?風呂入ってもうそこまで出来たのですか!?ぱねーっす。
私はタイトルの入力まででだいたい5時間位時間がかかったのに、、、
お暇な時で結構ですので本文の入力方法をご教示下さい。


(仕事がつまらないから、こっそりブログのネタを考えてる俺って社会人として最低かなw?
まだ、自覚症状があるだけましと勝手に解釈しています。)


545 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:08:31 ]
いいから死ねよ。

546 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:27:16 ]
背筋がゾワゾワってするぐらい気持悪い

547 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:33:35 ]
>>544
どこのブログ使ってんの?

548 名前:519 mailto:sage [2010/01/10(日) 23:43:21 ]
>>547
live door っす

549 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:53:29 ]
ATOM APIにも一応対応してるんだな。サポート外らしいけど。



550 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:54:36 ]
おっ
できた。例外エラーが出てただけだった。

551 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:58:02 ]
おめでとう。

552 名前:519 ◆JRq8rZjk7c mailto:sage [2010/01/11(月) 00:09:53 ]
>>550
は偽者です。

553 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:10:37 ]
>>543=>>550 じゃねーの?

554 名前:519 ◆xdkteuOpHo mailto:sage [2010/01/11(月) 00:11:10 ]
>>552
トリップ後出しとか意味ないから。

555 名前:519 ◆JRq8rZjk7c mailto:sage [2010/01/11(月) 00:12:51 ]
>>554
そういうのつまんない

556 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:13:49 ]
#5151
#kusosure

557 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:14:11 ]
>>553
そうです


558 名前:519 ◆G0.qAawIBk mailto:sage [2010/01/11(月) 01:42:54 ]
>>553
なるほどw勘違いしてました。すみません。

>>555
お前は2chのプロ固定w?酉が丸見えの様だけどw

559 名前:519 ◆G0.qAawIBk mailto:sage [2010/01/11(月) 01:50:25 ]
プログラム板にもプロ固定がいるのか。

>>555
酉が分ってる時点でプロ固定丸出しw
2chのサクラのプロ固定はウザイからウセロカスw




560 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 02:12:30 ]
プロ固定ってなに?しかもム板でコテとか馬鹿ですって言ってるようなもんだろ。
ふらっと行けよ、ふらっと。

561 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 02:22:47 ]
>>543ですけどー
うpしとくよー。
DLパスはlivedoorだよ。
www1.axfc.net/uploader/Sc/so/72426.txt

562 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 09:11:47 ]
プロ固定ってなんだ・・・??

563 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 09:40:40 ]
これか。
病気か?
ja.uncyclopedia.info/wiki/%E3%83%97%E3%83%AD%E5%9B%BA%E5%AE%9A

564 名前:519 ◆G0.qAawIBk mailto:sage [2010/01/11(月) 11:50:05 ]
>>561
ありがとうございます。凄いです^^w
まさかこんな短期間で出切るなんて、、、
本当にどうもありがとうございました。

(これで仕事中にブログのネタを一生件名考える事が出来ますw)



565 名前:519 ◆G0.qAawIBk mailto:sage [2010/01/11(月) 11:50:46 ]
プロ固定を知らないとか大丈夫?
某サイトにプロ固定の情報がテンコ盛りだよw

566 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 11:53:59 ]
頭のおかしな人が妄想を書き連ねたサイト、だろwwwww

567 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 12:03:35 ]
kwsk

568 名前:デフォルトの名無しさん [2010/01/11(月) 12:25:30 ]
anti2ch.blog61.fc2.com/blog-entry-55.html

プロ固定って新しい技術かなんかかと思ったら
ただのキチガイの妄想かよ

プロ固定とかいうのの存在を日記に書いたら
>しかし、この日記が広く知れ渡る前に、
>井上玄氏の元にはなぜか暴力団による激しい恫喝が行われ、
>家族もその被害に合い、この日記はすぐに閉鎖させられてしまいます。


新種の厨二病かなんか?

569 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 12:27:01 ]
>>568
プロ固定を必死に否定するのが表2chのサクラ(プロ固定だよw)

某掲示板にプロ固定の情報とか全部晒されてるから見てご覧



570 名前:デフォルトの名無しさん [2010/01/11(月) 12:29:19 ]
>>569
よくわからんけど
ここでプロ固定うんぬん言い出してスレを荒らす行為と
そのプロ固定が無意味なコピペで書き込み数を水増しするのとどう違うの?

どんだけ2chに人生かけてんだよ

571 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 12:39:00 ]
>>519がちょっと可哀そうな人だってことだけはよーく伝わった。

572 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 12:43:27 ]
>>570
取り合えず荒らしと思う人がいるならこれで最後にするよ。
プロ固定 裏 で検索してみてね。

ブログの順位をあげるコツw
仕事中にネタを練りまくる事w

573 名前:デフォルトの名無しさん [2010/01/11(月) 12:46:00 ]
>>572
いようがいまいが 一般人は 気にしない

574 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 12:50:14 ]
チラ裏に書いてろって言葉がぴったり

575 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 13:18:32 ]
最近のチラシは裏が白紙じゃないことが多いから
表に書いてもいいけどな

576 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 14:30:39 ]
プロ固定を知らないとか大丈夫?
某サイトにプロ固定の情報がチンコ盛りだよw

577 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 14:34:39 ]
>>576
表2chに対抗して作られた某掲示板の「表2ch批判」
板に色々と際どい情報(プロ固定の住所・指名とかw)がマンコ盛りw

ところでプロ固定を知らないのはマジでヤバイと思うよ。
そーいう人に限って規制を喰らって●とか買っちゃうんだろうね。

C#とは関係無いからこの変にしておくけど。


578 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 14:38:09 ]
ねぇ、これに乗っかってもなんも面白くないと思うけど・・・

579 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 14:39:19 ]
いまどきプロ固定ネタとか。



580 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 15:10:15 ]
最近知ったから興奮してるんでしょ。
よくまあググりゃひっかかるトリップバレからここまで話ひっぱれること。

581 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 19:09:32 ]
おおっぐぐったら確かにヒットしたw

プロ固定かとおもたw

582 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 19:36:50 ]
トリップは一方向ハッシュで生成してるから、
「プロ固定に配布されているトリップ解析プログラム」
なんてありえないのにねw

583 名前:デフォルトの名無しさん [2010/01/13(水) 00:06:10 ]
質問です。

.NETあるいはWindows上で、
「それを確保したアプリケーション以外からは決してアクセスできないセキュアな永続化領域」
を確保する手段はあるでしょうか?

早い話が、ローカルに何かのサービスのパスワードをセキュアに保存する方法があるのかどうか、
ということなのですが。

584 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 00:11:35 ]
できます

585 名前:583 mailto:sage [2010/01/13(水) 00:12:17 ]
出来るんですね。分かりました。
自分で調べます。ありがとうございました。

586 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 00:29:57 ]
ないと思う。

587 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 00:47:51 ]
Windows APIのCryptProtectDataなんかで実現できると思う。

588 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 01:06:44 ]
それもパスワード知ってたら無理だろ。

589 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 02:10:44 ]
>>561 さんのコードを元に>>519さんと同じ事を学習用に
やっているのですがどうも次のキャストで失敗する為に
後続処理のページ内の各オブジェクトにアクセスする事が出来ません。
>>561さんは、キャストもせずになぜそのまま出来たのでしょうか?

※対象コード
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
  
  state = state + 1
   If state = 1 Then
      Dim doc As HTMLDocument
      Try

        '(A)
        doc = DirectCast(WebBrowser1.Document, HTMLDocument)

        '(B)
        'doc = WebBrowser1.Document

      Catch ex As Exception

        Debug.WriteLine(ex.Message)

      End Try

※エラー内容
  System.InvalidCastException = {"型 'System.Windows.Forms.HtmlDocument'
  のオブジェクトを型 'mshtml.HTMLDocument' にキャストできません。"}


(A)(B)いずれのコードでも同一のエラーが表示されてしまいます。



590 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 02:48:26 ]
mshtml.HTMLDocumentとSystem.Windows.Forms.HtmlDocumentは全く別ものなんだからキャストできなくて当然。
>>561はmshtml使わずにFormsだけで実装しているように見える。
それからスレタイよく読め。

591 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 02:52:58 ]
>>590
WindowsFormにツールボックスからWebBrowserをドラッグして使用しているのですが、
何が違うのでしょうか?

大変あつかましいお願いかとは思いますが、キャストの方法を教えて頂けますか?

592 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 03:19:31 ]
だからキャストできないんだって

593 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 03:32:16 ]
絶対あつかましいとか思ってねーw

594 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 06:32:17 ]
私が寝ている間に、小人さん>>585がなんか書き込んでいますが、

>>586-588
CryptProtectData系も、ログイン中のユーザが実行している他のプログラムからは
普通にアクセスできてしまうようですので、欲しいものとは少し違うかもしれません。
(まぁ、大概のケースでは問題にならないかもしれませんが)

とりあえず無さそうということで、ありがとうございました。

595 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 06:54:54 ]
追記
小人さん>>585は無能

596 名前:583 mailto:sage [2010/01/13(水) 07:04:06 ]
>>595
いや。。君は誰さ。。。

597 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 07:12:15 ]
DomDocumentだっけか? キャストに使えるCOMオブジェクトがプロパティに
あった気がする。

598 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 09:10:09 ]
自演されたくない質問者はトリ付けた方がいいと思うぜ
最近暇人がなりすまし覚えて粘着してるから

599 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 11:17:02 ]
>>598
暇そうだね



600 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 11:45:16 ]
>>589
doc.xml = WebBrowser1.Document.outerXml
みたいに中身から再構築すればいいんじゃね?
超適当に言ってみるけど。

601 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 13:47:25 ]
>>600
低脳乙

602 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 14:43:34 ]
多分VB6上がりなやつなんだろう

603 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 18:25:20 ]
正直言って、WebBrowserコントロール使うんだったらVB6でやった方が楽だしデバッグもしやすい。

604 名前:589 mailto:sage [2010/01/13(水) 22:25:52 ]
>>600
分らないのなら黙ってて下さい。


どなたかお教え願います。

605 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 22:28:21 ]
>>603
なんでなんで?

606 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 22:46:02 ]
>>604
>>590

そのコードがこのスレに相応しいかどうかすら判らないなんて…
つか、どこから mshtml が沸いて出たのやら。
変な参照設定でもしてるのか?

607 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 22:51:18 ]
成りすましが受けると思ってしつこく繰り返してる頭のおかしな人だから放置で。

608 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 22:53:26 ]
もう冬休み終ったと思ったんだが

609 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 00:41:44 ]
今年のおれのスケジュール
〜3月下旬 冬休み
〜6月末 春休み
〜8月末 夏休み
〜11月末 秋休み
その後年末まで冬休み



610 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 00:44:47 ]
結局人生ってさ「経験」が物を言うんだよな
いい大学行こうがいい成績取ろうが「経験」が無いと世間に出たときに何も役に立たない
まぁお前らみたいなオタクにはわかんねーかもしんないけどな
俺は高卒で世間的には低学歴かもしれないが、フランスに渡米した経験を活かして
今は充実した仕事してるよ
お前らも壁作って自分の世界に閉じ込もって無いで
今しかできない「経験」しといて経験値積んどけ


611 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 00:57:24 ]
>>610
俺のよく行く「30代職歴無しの就職活動スレ」と同じ空気を感じる

612 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 01:30:07 ]
最早、懐かしさすら感じるw<フランスに渡米

613 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 01:42:09 ]
>>612
日本語でおか

614 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 03:26:38 ]
えり

615 名前:デフォルトの名無しさん [2010/01/14(木) 03:30:43 ]
.NET アプリって低スペXPだと起動に数秒かかったりするけど
Vistaやwin7だったらメモ帳くらい早く画面出て操作可能になるの?

616 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 03:33:02 ]
なんでOSのバージョンがあがったくらいで
劇的に速くなるなどと想像できるんだろう。

617 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 09:43:34 ]
一回起動しちゃえば速くなるんだけどな。
そういうのが気になりそうな小さめのアプリはVC++でがんばれ

618 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 10:32:15 ]
まあ、Vista とかだと推奨スペックが違うから、ハード性能的にだいぶ違う気もするけど。
あと、Vista 以降では SuperFetch があるんで、メモリ多く積んでる速いかも。

619 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 18:02:14 ]
やはりそう簡単に実行速度がかわるもんでもないんですね
ありがとうございました



620 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 18:38:36 ]
起動は速いけど実行が遅いのと
起動は遅いけど実行が速いのが選べたらいいのに

621 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 18:45:09 ]
起動も早いし実行も速い

622 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 19:08:27 ]
ただし開発は…

623 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 04:48:57 ]
>>616
おまえは立派な開発現場に居合わせたことがないんだろうね

624 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 17:03:05 ]
C#で仮想メモリの領域って増やせないんですか?
4G中3.5Gぐらい使いたいんですけど

共有メモリにマッピングしても2G超えたらメモリダンプしちまいます。

誰か教えてください。

625 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 17:37:26 ]
>>624
つ 64bit版のWindows

626 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 17:46:03 ]
>>625
32Bit版が前提でお願いしますよ〜

いや、そう出来れば一番いいんですけどね・・・

627 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 17:49:11 ]
>>626
32Bitは無理。

628 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 17:52:26 ]
>>627
CとかだとCreateFileMappingとか使って、共有メモリに構造体ぶち込んだり
C++だったらVirtualAllocとか使ったりして
いけたんですがねー


やっぱりC#だと無理なのか・・・

629 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:00:41 ]
FileMappingは.NET4.0からだな




630 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:02:16 ]
一応DllImportして、CreateFileMapping使ってみたんだけど
やっぱり、2Gで落ちるんですよね

参った

631 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:13:45 ]
LargeAddressAwareがなんちゃら

632 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:30:26 ]
頑張ればいけるかもしれない・・・

633 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:40:20 ]
editbin.exeが鍵か

634 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 19:40:57 ]
boot.ini で /3G で >>633 ので IMAGE_FILE_LARGE_ADDRESS_AWARE 
でも3G

635 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 19:51:59 ]
DVDのISOファイルすら操れないとは・・・

636 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:04:36 ]
そんなものをオンメモリでやるな。

637 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:24:06 ]
でもそろそろそういうのもオンメモリでやる時代になってきたってことじゃね?
640kのメインメモリなんて頃もあったわけだし。

638 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 22:42:10 ]
じゃね?

639 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:02:27 ]
>>628
C++でも32ビットWindowsなら2GBまでだろ。C#も同じ。ただし、当然>>634はC#でも通用する。
あと、64ビット版WindowsでIMAGE_FILE_LARGE_ADDRESS_AWARE付きの32ビットEXEを実行すると仮想アドレス4GB全部使える。

>>635-637
64ビットでやれ。



640 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 06:20:39 ]
HDDに書き込んで取り出してを繰り返せよ


641 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 07:42:52 ]
>>628
CreateFileMapping自体は4G越えもいけた。
MapViewOfFileでまとめて設定できるViewが2G越えでダメだといってるのだろうか?
どちらにせよ、ネイティブのViewからマネージド領域へマーシャリングが必要になるので
あまり効率は良くない。

642 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 10:40:26 ]
32ビットで4G積んで、システムプロパティで実装メモリ見たら
4GB(3GB使用可能)てなってるが。

643 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:09:58 ]
>>642
それは物理メモリが3GB使えるということだけど、今の話とは関係ない。
物理メモリに空きが無くても、メモリ確保やMapOfViewFileは成功する。
そのためのページング機構。

今問題なのは、プロセスごとの仮想アドレス空間(のうち、ユーザモードで使える分)。
msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx
逆に、いくら物理メモリが空いていても、アドレス空間に空きがなければソフトウェアから使うことは不可能。

644 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:24:59 ]
仮想領域が32bitアドレッシングである限り、言語を問わずマップできるのは 268435456 byte まで。
思うに、>630で落ちるというのは、マップ可能なサイズ以上にマップしようとしてないか?
細かくビューをMap/UnMapすれば通ると思うんだが・・・

645 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:45:05 ]
DOS時代に16bit nearポインタだと64kしかメモリブロック確保出来なかったのと同じことがおきてるわけだよな。

646 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 13:18:46 ]
そのうち、ギガバイト単位のメモリをやりくりするのが当然になる時代が来るのかなぁ。

647 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 13:20:27 ]
今はもう12GBとかつんでるパソコンが20万以下で手に入るからな。
もうすぐだろう

648 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 14:36:55 ]
こないだ会社の後輩がいきなり2GBの配列作ってた。
そういうことが何も考えずにできちゃう時代になったんだなあとしみじみ思った。

649 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 14:44:51 ]
でもやっぱ2G配列確保は躊躇するわ・・・





650 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 14:54:15 ]
さすがに2Gの配列を「何も考えずにできちゃう時代」はまだ数年は先だと思ふ

651 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 15:14:40 ]
ファイルマッピングなら2GB程度・・・と思ったが、「ファイルマッピング」という
点で「何か考えている」か。

652 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 17:52:51 ]
携帯開発だとそうはいかないんじゃないですか?
ビット詰めして軽くするとかやってるみたいですけど。

653 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 18:22:56 ]
そりゃ組込みだとそうはいかないだろうけど
そもそも組込みでC#だのJavaだのの高級言語使える時点で時代が違うよな。


654 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 18:43:48 ]
test

655 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 18:49:48 ]
共通一次

656 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 19:01:52 ]
2Gって64環境じゃないとそもそもできないと思うが。
しかし、アクセスがある時間内では局所的で、
ワーキングセットが小さく保たれていれば
それなりの動きをしているともいえるな。


657 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 19:31:47 ]
ですね。

658 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 02:21:53 ]
たぶん冬休みの宿題だったんだよw

659 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 17:45:10 ]
マルチスレッドプログラミングにおける適切なスレッド数を示したガイドラインみたいなものってありますか。
今はなんとなくコア数でやってます。



660 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 18:26:40 ]
場合によるとしか
IOなどでブロックされることが多いならいっぱい作れば速くなるだろうし
ずっと100%動いてるなら=コア数で十分だし

661 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 20:11:00 ]
>>660
ありがとうございます。
適当そうなスレッド数を事前に見積もる必要がありそうですね。

662 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 20:57:19 ]
レジストリとかで変更できるようにしとかないような残念な奴にならんようにな。

663 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 07:51:32 ]
レジストリを使うこと自体が残念なんだが

664 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 10:27:29 ]
スレッド数とかユーザが弄れるようになってるのもソフトによっちゃ結構残念ではあるような・・・
フリーソフトならありかもしれんけどサポート要るソフトでは面倒だからやりたくないわ。


665 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:11:32 ]
面倒だからやりたくない人にはプログラムを組む資格がないんだが

666 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:21:52 ]
その資格試験どこで受けられますか?

667 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:33:34 ]
>>664
非公開・サポート無し、な機能にすればいいと思うよ

668 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:42:16 ]
俺は面倒だからプログラムを組むけどな

669 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 15:35:45 ]
>>665
ん?
面倒だからやりたくないってのは
機能を盛りこむとユーザからその分の問い合わせがくる
→ 面倒な仕事が増えるってことなんだけど?

なんか意味判ってない人がいるようだな。

俺だったらコア数設定みたいなの設定項目に組みこむぐらいなら
動いてるシステムのコア数によってスレッド数増減するようなコード書くけどな。



670 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 15:43:23 ]
俺は面倒だから3行以上は読まないな

671 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 15:47:01 ]
この板はプロアマ自称他称問わずが混在していることを忘れないよう。
あと仕事の話しを持ちこむと喜ぶ奴がいることも忘れないよう。


672 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 15:49:19 ]
日本人は機能過剰と設定項目過剰が大好きな思考停止民族ニダ

673 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 16:40:57 ]
BackgroundWorker

674 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 17:15:15 ]
>>673
ふらっとスレとまちがえたか

675 名前:デフォルトの名無しさん [2010/01/18(月) 18:10:42 ]
>>673
噂のおじいちゃんですか?((((;゚Д゚))))ガクガクブルブル

676 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 21:33:40 ]
そのスレッド増減の適正値なんて予測できないから調整手段入れとけって話。
あなたは神かww

677 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 21:37:36 ]
ん?システムのコア数に合わせて自動調整するって話とちゃうの?
QuadCoreなら4とか。上限ぐらいは設定できても良い気はするけど。

678 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 21:48:38 ]
適正値が存在する処理かどうかも不明だし
調整手段を用意するかどうかは処理次第ポリシー次第だし
質疑応答はとっくに終わってるし
どうでもよいと思います。

679 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 21:58:09 ]
はぁ?ユーザがどうやって適正な値に設定するっていうんだよ。
コア数はプログラム側で読める上にどんな処理してるのかわかってるのもプログラム側。
この状況で誰が一番適切な値決められるんだよ。思考停止してんじゃねーよぼけ。





680 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:02:05 ]
>>679
例えばMTUでggrks

681 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:16:31 ]
>>680
ん?はぁ?ふっはっ?

682 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:17:39 ]
>>680
あほだ、あほがおる

683 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:25:09 ]
まあ、だからレジストリがいいんじゃないの?
勝手にいじるようならサポートする必要はないし、勘違いユーザはいい気分になるだろうし

684 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:28:13 ]
ユーザ: 1コアだけ別のプログラム用に空けときたいんだけど・・・
>>679: はぁ?これが一番適切な値なんだよぼけ。

685 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:34:08 ]
仕方ないので優先度下げた

686 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:42:27 ]
>>685: はぁ?

687 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:46:55 ]
中身を知らなくてもユーザは使い方を知ってる。
っていうかね、全ての変数を設定項目にしてもいいぐらい。おもいあがんな。

688 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 22:49:48 ]
>>687
おもいあがってるのはおまえだろ

689 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 00:00:13 ]
>>688
おもいあがったプログラマさんですか?
最適コア数自動調整乙でございます。



690 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 00:20:16 ]
MAX何コアまで割り当てるとかくらいはあってもいいけど、まあその程度のことだ。


691 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 00:58:47 ]
プログラマの思い上りは異常。
ユーザーが一番偉いのに。設定値は解放されるべき。


692 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 01:07:51 ]
お客様は神様ってやつか。
客商売やってりゃ、神様とでも思わないとやってらんねーよってやつだ。

693 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 01:40:07 ]
ソフトが気に入らないときは自分でつくりゃいいんだよ。
低脳には無理だろうが。

694 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 01:40:54 ]
客商売やってりゃ、余計な設定は外したくなる。


695 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 02:04:35 ]
>>694
余計なことすんなよ。コア数設定させてやれよ。

696 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 06:05:17 ]
日本での商売のソフトは普通、環境を限定して作るもんだろ。

697 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 07:24:17 ]
わざわざマルチスレッドにしてまで高速化するものだったら、ユーザもそれなりのレベルを想定してると思う。

698 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 08:02:18 ]
アプリケーションの要求速度とユーザのレベルとの間に相関があるとか
論理展開が突飛すぎて付いていけない

699 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 09:05:40 ]
一種類のタスクでマルチスレッド化のオーバーヘッドを上回るほどの重い計算をさせるんだろ。
一般的じゃない。



700 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 10:14:12 ]
>>697
これがプログラマー脳って奴だ。
こんなんだから日本のIT業界はおいてきぼりになるんだわ。
あーあ。馬鹿に付ける薬はないって本当だな。


701 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 10:23:34 ]
なんだよ。じゃあ、いってみろよ。
シングルスレッドじゃなかったら、プロセッサの数のスレッド数。
それで不満なんてマニア。

702 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 12:43:18 ]
ロードバランサ

703 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 13:30:06 ]
>>702
意味不明な書き込みにワロタ

704 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 14:14:36 ]
処理内容も対象ユーザ層もぼんやりなまま各自の脳内設定で煽り合って何がしたいの?
というかそもそもなんで喧嘩腰なの?
あと突然5段階ぐらい論理過程ぶっ飛んだ単語を並べる奴は何がしたいの?
雑談にしてもちょっと酷いんじゃないの?
ばかなの?しぬの?

705 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 14:23:04 ]
荒らしたいだけだろ。馬鹿の相手する方も馬鹿だな。

706 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 14:43:52 ]
技術的な話になると出番がないので
こういうときでないと書き込めません><

707 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 19:06:32 ]
どういうときにマルチスレッドにするの? 数値計算ぐらいしか思い浮かばないんですが。

708 名前:デフォルトの名無しさん [2010/01/19(火) 19:08:05 ]
C#勉強がてらダウンロードして早速サンプル作ろうと思ったんだけどコンパイルが通らない。
getData(string):値を返さないコードパスがあります。といったエラーが解決できない。
どこが悪いの?

namespace StockQuote
{
public class StockQuote
{
public static void Main()
{
string url = "stocks.finance.yahoo.co.jp/stocks/detail/?code=1";
string rtnData = getData(url);
Console.Write(rtnData);
}

private static string getData(string pUrl)
{
try
{
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(pUrl);
return "SUCCESS";
}
catch (Exception)
{
return "ERROR";
}
}
}
}

709 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 19:16:48 ]
そのコードをコピペしてみたが、
コンパイル通ったよ



710 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 19:21:01 ]
A.dllというアセンブリがあって
A.dllが読み込まれた場合に
A.dllの中のBというクラスの特定のスタティックメソッドを呼び出すことは出来ますか?


711 名前:デフォルトの名無しさん [2010/01/19(火) 19:22:10 ]
>>709
えええ?と思い、コメントアウトしてた行を全部消してみたらコンパイルが通りました^^
なんかコンパイラが信用できないなー。。。

712 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 19:52:01 ]
>>710
A.dll側で実装する方法は思いつかないなぁ
A.dllを参照する側なら、ロード前にAppDomainのAssemblyLoadイベントを設定しとけばいけるけど

713 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:01:18 ]
呼び出すって言ってるから、エントリポイントのことじゃないだろ

714 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:33:08 ]
>>711
なぜ自分の頭の方を疑わないのか。。。

715 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:34:03 ]
コンストラクタってよくわからないのですが
初期化するって何を初期化するんでしょうか?


716 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:34:45 ]
newするオブジェクトを

717 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:40:34 ]
プライベート/パブリックフィールドの初期化とかインスタンスを実行するのに必要な初期処理とかしてやればいいよ。


718 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 21:06:37 ]
>>715
「何を初期化するか」が分からないというより、
そもそも初期化って概念がわからないんでしょw

そんなの気にしなくていいよ自ずとわかるから。

719 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 23:05:20 ]
>>707
ネットワークアクセスやIOなど
まあそういう使い方だとコア数なんか全く関係ないけどなw



720 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 09:11:02 ]
>>715
思いつかないなら、初期化するオブジェクトは無いということだね。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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