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


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

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



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の場合はどうなの?






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

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

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