- 1 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:44:27 ]
- このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 ふらっとC#,C♯,C#(初心者用) Part23 pc11.2ch.net/test/read.cgi/tech/1200033660/
- 263 名前:262 mailto:sage [2008/02/06(水) 16:07:05 ]
- あ、値渡しはともかく参照渡しってCのアドレス(ポインタ)渡しと結局同じだと思ってたけど違うの?って意味な
- 264 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 16:08:55 ]
- >>258
だからそうやって引数を書き換えなきゃ同じだろ
- 265 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 16:11:19 ]
- >>264
彼らは参照渡しは知ってても使い方を知らないんだろう
- 266 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 16:13:00 ]
- >>258が話の流れと日本語を読めないってことだけは分かった
- 267 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 16:14:53 ]
- >>263
まあ凡そ。 それを大前提に進んでた話なんだけど>>258が爆発した
- 268 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 16:16:08 ]
- かわいそうな>>258がいるスレ
- 269 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 16:27:43 ]
- で、話の大元の>>222に立ち返ったとして何を議論してたんだっけ?
- 270 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 16:32:29 ]
- >>222は前者でいいってことじゃね
余計な副作用を与えないために
- 271 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 18:05:58 ]
- >>247
というか、むしろそのほうが分かりやすいような気が 「参照情報」なんて回りくどい言い方せずに、「アドレス」って言ったほうがイメージが伝わりやすいような
- 272 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 18:36:51 ]
- >>271
根本に返って冷静に考えてみ。 アドレスの方が本来間接的な表現な上に間違ってるでしょ。 参照をもし言い換えるのなら、俺なら「位置情報」と言うな。
- 273 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 18:37:58 ]
- いやそりゃアドレスじゃん、英語のアドレスが住所としか略されないとでも思ってるのか?
- 274 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 18:38:52 ]
- 位置情報を英語に置き換えりゃアドレスになんだろ
機械翻訳で訳される2単語が実用される英語だとでも思ってんのかね
- 275 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 18:40:47 ]
- >>272
厳密な意味ではいろいろあるだろうけど、初心者にとっては直感的にはアドレスが一番しっくりくると思うが
- 276 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 18:41:26 ]
- 最近はスレタイも読めないバカが増えたな
- 277 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 18:43:29 ]
- >>273
住所にすら略されないが?
- 278 名前:275 mailto:sage [2008/02/06(水) 18:44:59 ]
- ×初心者
○日本人の初心者 まぁ瑣末事だけどw
- 279 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 18:51:16 ]
- >>274
言葉にはそれぞれ意味上のふり幅ってものがあるんだよ。 特に英語のような多義的な言葉を文脈によって使い分ける傾向が高い言語ではね。 "address"は多義的過ぎる上に、コンピュータの世界では別の抽象レベルで 既に別の意味で使われているから望ましくない。 もっと意味のふり幅が少ない言い方を工夫すべき。 ……ここまで補足しないとわからないかねえしかし。。
- 280 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 18:53:19 ]
- エイリアスでええやん
- 281 名前:デフォルトの名無しさん [2008/02/06(水) 19:00:55 ]
- アプリケーション設定を暗号化して保存したいんですが、いまいち
system.comnfigurationクラスの使い方がよくわかりません。 どっか良いサンプルないですか? MSDN読んでもいまいちよくわかりません。
- 282 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 19:34:25 ]
- 暗号化は変なサンプルも多いから気をつけろよ
- 283 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 21:00:59 ]
- ポインタの参照渡し
- 284 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 21:27:31 ]
- 最近のスレの内容・・・予想以上に.NET普及は早そうだな
>>281 BinaryFormatterとかでは駄目なの?
- 285 名前:デフォルトの名無しさん [2008/02/06(水) 22:37:14 ]
- メソッドに渡す引数の属性で[in]や[out]があるんですが、
これはC#のrefやoutとは違うものなんでしょうか
- 286 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:41:38 ]
- そいつはマーシャラに対する指令
- 287 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:41:57 ]
- [Out]はoutと同じ。
refは[In][Out]相当。 [In]単独は、アンマネージとの相互運用で使うことがある。
- 288 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:45:50 ]
- C#の中だけで完結する限りは[in]や[out]は無意味
- 289 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:47:46 ]
- C/C++で作ったコードをC#で使えるようなラッパーを作りたいんですが
参考になるようなHPとか本あったら教えてください
- 290 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:48:35 ]
- 俺も知りたい
- 291 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:48:49 ]
- C++/CLIでいいじゃないか。
- 292 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:51:14 ]
- >>289
本は知らんが、このあたりのキーワードでMSDNとか 探してみればなんかヒントあるんじゃね。 * COM Interop * P/Invoke * C++/CLI
- 293 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:54:18 ]
- VC#2008対応の解説本早く出せよ。
- 294 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:57:05 ]
- 誰に言ってるのw
君統合失調の初期症状じゃないのマジで
- 295 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:59:48 ]
- 確かにアンマネージドとの連携について詳しい本があったら欲しいな
Win32API叩く度に検索して調べるの面倒になってきた
- 296 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:00:45 ]
- つMSDN
- 297 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:08:54 ]
- >>295
Win32API使うだけなら、P/Invoke.netとかでいいだろ。
- 298 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:10:21 ]
- >C#の中だけで完結する限りは[in]や[out]は無意味
そうでもない。
- 299 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:16:48 ]
- >>298
具体的にkwsk
- 300 名前:デフォルトの名無しさん [2008/02/06(水) 23:18:40 ]
- WebBrowserコントロールでブラウザ作ってるんですが、yahoo.co.jpを開いて閉じるとフリーズしてしまいます。
Googleとかだと大丈夫なのですが。 なんででしょうか? バグってるんでしょうか?
- 301 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:20:26 ]
- 説明にもなってない
それで解決できるはずも無い まあ確かにWebBrowserは色々胡散臭いが
- 302 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:24:52 ]
- あなたのコードがバグってるんでしょうね
- 303 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:33:14 ]
- WebBrowserはJavaScript周りがバグりまくっている。
JavaScript以外にもFlashを使っているサイトを表示した直後も半フリーズ状態になる。 で、結論は「使うな」。 IEコンポーネントで全て置き換えろ
- 304 名前:デフォルトの名無しさん [2008/02/06(水) 23:46:28 ]
- 新規プロジェクト作ってWebBrowser貼り付けて、下記の1行を追加しただけで終了時に固まる。
public Form1() { InitializeComponent(); webBrowser1.Url = new Uri("www.yahoo.co.jp"); } で、原因はWebBrowserは開いたページの内容によっては内部で立ち上がった謎のスレッドが終わらなくなる 直る見込みはない 諦めろ
- 305 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:50:33 ]
- >直る見込みはない
何故ですかね?MSにやる気がないから?
- 306 名前:デフォルトの名無しさん [2008/02/06(水) 23:55:02 ]
- >>305
WebBrowser Controlが登場して何年経ったと思ってるんだ 海外の方でも2年近く前から話題になっているくらいの問題だぞ www.eggheadcafe.com/aspnet_answers/NETFrameworkNETWindowsForms/Apr2006/post26457510.asp 直るならとっくの昔に直ってる
- 307 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:09:08 ]
- >>304
固まらなかったよ
- 308 名前:デフォルトの名無しさん [2008/02/07(木) 00:29:46 ]
- >>304
VS2005 Win2003R2x64 固まる
- 309 名前:デフォルトの名無しさん [2008/02/07(木) 00:34:05 ]
- >>304
固まるというか、ウィンドウは閉じてるのにVS2005がデバッグ実行中のままになった
- 310 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:42:20 ]
- >>304
XP VS2008 .NET Framework3.5 固まらない
- 311 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:42:25 ]
- WebBrowser使ったこと無いからよく分からんが
スレッドがバックグラウンドになってないんじゃないか?
- 312 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:44:07 ]
- WebBrowserと名前のつくコントロールは、
大昔のVBやDelphiからあったが、 どれもこれもまともに使える代物じゃなかったな。
- 313 名前:307 mailto:sage [2008/02/07(木) 00:44:20 ]
- VS2005Pro
XPx64SP2 IE:7.0.5730.11 Flash:9.0.115.0 プラットフォーム:x86 固まらない
- 314 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:47:52 ]
- コンストラクタ内で実行しなけりゃいいんじゃね?
- 315 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:48:36 ]
- >固まる環境の人
Navigateメソッドでもなる?
- 316 名前:デフォルトの名無しさん [2008/02/07(木) 00:58:16 ]
- >>315
なった コンソール用のテストコード書いてみたが、こちらも見事に固まる ちなみに終了シグナルは飛んできて一見終わった様に見えるが、 残骸が残っていて悪さしているようだ class test { ManualResetEvent _mre = new ManualResetEvent(false); public void run() { Thread thread = null; try { _mre.Reset(); thread = new Thread(new ThreadStart(entry)); thread.SetApartmentState(ApartmentState.STA); thread.Start(); } finally { _mre.WaitOne(); } } void entry() { WebBrowser bra = new WebBrowser(); browser.Navigate("www.yahoo.co.jp/"); while (_browser.ReadyState != WebBrowserReadyState.Complete) { // 省略 } _mre.Reset(); } }
- 317 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 01:02:56 ]
- >>306
海外とか知らねえよバカ
- 318 名前:デフォルトの名無しさん [2008/02/07(木) 01:29:08 ]
- テストプログラム
www2.uploda.org/uporg1237632.zip.html
- 319 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 01:37:03 ]
- >>318は www.google.co.jp になっているから、www.yahoo.co.jp に変更して試して見るべし
- 320 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 01:40:36 ]
- >>316
ちなみにIEのバージョンは?
- 321 名前:デフォルトの名無しさん [2008/02/07(木) 01:43:14 ]
- >>320
Windows Server 2003R2 x64 IE 6.0.3790.1830 SP1 .NET3.0は入れてない
- 322 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 01:52:31 ]
- 家のパソコンにIE6が入ってるから試そうと思ったけど繋がらないや
帰るか
- 323 名前:デフォルトの名無しさん [2008/02/07(木) 02:15:42 ]
- >>318-319
このエラーでた 意味はわからん msdn2.microsoft.com/ja-jp/library/ms172219.aspx
- 324 名前:デフォルトの名無しさん [2008/02/07(木) 08:25:57 ]
- >>284
binaryformatterは暗号化していないので解析しようと思えば すぐできてしまうから、パスワードなんかは保存したくないわけです。 system.security.cryptographyのクラス群で暗号化してから保存すれば 同じことなんですが…。 アプリケーション設定が.net2.0以降すごく使いやすくなっているみたいなので、 そちらで暗号化できるならそっちを使いたいなあと思った次第です。 設定クラスの定義、設定ファイルの読み出し、保存を毎回毎回アプリ作るたびに 実装するのって、エラー処理なんかまで含めて考えると意外と面倒くさいもんで。。
- 325 名前:デフォルトの名無しさん [2008/02/07(木) 12:58:22 ]
- またWebBrowser被害者か
- 326 名前:デフォルトの名無しさん [2008/02/07(木) 14:16:27 ]
- loaderLock マネージ デバッグ アシスタント (MDA: Managed Debugging Assistant) は、Microsoft Windows
オペレーティング システムのローダー ロックを保持するスレッドでマネージ コードを実行しようとする試みを 検出します。 このような実行は不正であり、デッドロックの発生につながり、DLL がオペレーティング システムのローダーに よって初期化される前に使用される可能性があります。
- 327 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:00:57 ]
- >>323
IEのアドイン全部停止して試してみるとかどう?
- 328 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:19:01 ]
- 質問です。
インターネット上にあるpng形式のファイルを取得して保存したいと考えています。 そこで、 Stream objStream; objStream = wrGETURL.GetResponse().GetResponseStream(); StreamReader objReader = new StreamReader(objStream); string filepath; filepath = "C:\\hoge\\hoge.png"; if (File.Exists(filepath)) { File.Delete(filepath); } StreamWriter w = new StreamWriter(filepath); w.Write(objReader.ReadToEnd()); w.Close(); objStream.Close(); とやりましたが、保存できないようです。 StreamReaderのどのメソッドを使えば、インターネット上の画像ファイルの読み込みを一括でおこなえるのでしょうか?
- 329 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:20:48 ]
- どこでおかしくなってるのかちゃんと調べろよ。
- 330 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:26:48 ]
- StreamReader/StreamWriterはストリームを文字列で扱うクラス。
画像みたいなバイナリファイルに使っちゃ駄目。
- 331 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:28:07 ]
- File.Copy()でファイルをコピーする場合、
途中で止めるにはどうすればいいですか? プログラムを強制終了しても、止まらないようなのですが・・・
- 332 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:42:42 ]
- File.Copyだと止められないんじゃない
SHFileOperation使えば
- 333 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:55:34 ]
- >>332
ダイアログがうざいから SHFileOperation使いたくなくてFile.Copy()にしたんですが やっぱり止める方法はないんですかね・・・ FileStreamでnバイトずつ読み込み→書き込み→停止信号監視 とやれば止められそうですが遅くなりそうで
- 334 名前:デフォルトの名無しさん [2008/02/07(木) 16:19:46 ]
- >>327
変化なし
- 335 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 16:39:19 ]
- >>331
Windows APIのCopyFileExだと コールバック付きで途中中断もできる。 こっちはだめ?
- 336 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 16:47:50 ]
- >>335
ありがとうございます そんなのがあるんですか Win32APIだとVISTAへの対応が心配ですが試してみます
- 337 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 17:18:48 ]
- CopyFileExだとファイル単位でコールバックだね
- 338 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 17:20:09 ]
- >>337
>ファイル単位 そうですかぁ・・・ ファイルコピー/移動中にスキップしたりしたいので >>333の方法しかないですかね オーバーヘッド食いそうだなぁ('A`)
- 339 名前:337 mailto:sage [2008/02/07(木) 17:27:08 ]
- >>338
すまん嘘だった
- 340 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 17:27:48 ]
- そして属性やNTFSサブストリームが消える罠
- 341 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 17:37:11 ]
- それらもコピーされると書いてある。
msdn.microsoft.com/library/ja/jpfileio/html/_win32_CopyFileEx.asp
- 342 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 17:51:44 ]
- うん、338へのレスだったんだ
- 343 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 18:07:53 ]
- >>318
WebBrowserConstorlは基本的にメッセージポンプが必要。 だたメッセージポンプなしでも特定の条件が重なったときは動作する。 そのコードだと動くほうが例外的。
- 344 名前:デフォルトの名無しさん [2008/02/07(木) 21:17:54 ]
- >>343
詳しく
- 345 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 22:04:02 ]
- >>318を下記のように修正
thread = new Thread(new ThreadStart(entry2)); void entry2(){ bool once = false; EventHandler apidle = delegate(object sender, EventArgs e){ if (once) return; else once = true; entry(); // 元のentry()をcall Application.ExitThread(); }; Application.Idle += apidle; Application.Run(); Application.Idle -= apidle; }
- 346 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 22:16:18 ]
- >>324
クライアントにパスワード残して「解析しようと思えば」っておかしいだろ・・・ 本気でやるなら認証鯖立てるしかないんじゃね?
- 347 名前:デフォルトの名無しさん [2008/02/07(木) 22:20:22 ]
- >>345
おぅ 動いた
- 348 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:07:17 ]
- >>343
ナイス! ただ、 >>WebBrowserConstorl これタイプミスしてなければ...
- 349 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:03:13 ]
- コメントにtodoとか入れておいたものがタスク一覧に現れるのは開いているファイルだけのようですが
ソリューションかプロジェクトの全てのファイルを一括で確認する方法はありませんか?
- 350 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:28:45 ]
- スレッドモデル指定なしのCOMを使ってるのか
COMのスレッドモデルは死ぬほどややこしいからな〜
- 351 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:53:29 ]
- ありません。
- 352 名前:デフォルトの名無しさん [2008/02/08(金) 09:04:24 ]
- >>346
確かに暗号化してあってもクライアントにパスワードを残すのはよろしくないですが、 ログイン名だけは記憶できるようにしたいとか、接続先URLも攻撃を避けるために 隠蔽したいとか、どうしてもクライアントに暗号化して残したい情報はあると思ってます。 windows認証(DPAPI)で暗号化して, windowsのパスワードが安全なポリシーに従って 設定されていれば、それなりの安全性は保てると思うんですが、やっぱまずいっすかね。
- 353 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 09:30:50 ]
- 誰から守りたいわけ?
- 354 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 11:29:04 ]
- 普通の配列
int[] array から List<int> list に中身をコピーするメソッドって無いですか? foreach(int i in array){ list.Add(i); } ってしないと駄目ですか?
- 355 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 11:45:31 ]
- >>354
C#3.0用 array.ToList() 多分中身は>>354
- 356 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 11:46:08 ]
- new List<int>(array);
// たぶん中身は(ry
- 357 名前:デフォルトの名無しさん [2008/02/08(金) 11:54:26 ]
- >>355,356
ありがとうございます。 10分も悩んでしまいました;;;
- 358 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 12:56:50 ]
- ToList()だとインスタンスが書き換わらない?
AddRangeって手もあるよ
- 359 名前:デフォルトの名無しさん [2008/02/08(金) 14:55:57 ]
- >>345
動かなくね?
- 360 名前:デフォルトの名無しさん [2008/02/08(金) 15:03:37 ]
- 動かん
a-draw.com/uploader/src/up31487.zip.html
- 361 名前:359,360 mailto:sage [2008/02/08(金) 15:07:43 ]
- >>345、>>360は>>345の指示で>>318を修正したもの
で、Windows XP Pro SP2だと普通に動いた。 が、Windows Server 2003 R2 x64、Windows XP x64だと動かない。 腐ってやがる・・・
- 362 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 15:24:14 ]
- 早すぎたんだ
- 363 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 15:25:44 ]
- つまり>>304と>>316は別の問題だったわけか。
64bit環境はないからテストできんなぁ。 64bit環境で32bit指定したexeの場合はどうなの?
|

|