1 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 17:44:56 ] 前スレ VB.NET質問スレ(Part30) pc12.2ch.net/test/read.cgi/tech/1242522019/l50 テンプレは>>2 〜
874 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:29:34 ] 設定ファイルで、アプリケーションスコープで普通に読み書きできませんか? やりたいのは、ユーザーフォルダではなく.exe直下に設定ファイルを置く事です。
875 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 23:17:56 ] 複数ユーザが同時にログオンして起動してたりしたらまずいだろ だから読み取り専用になってるんだろ
876 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 00:15:16 ] ん?
877 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 00:29:30 ] >>874 別に制限が多い「アプリケーション設定」なんか使わず、 自分で設定値の保存/取得をするコードを書けばいいだけ。 シリアル化を使えば手間は「アプリケーション設定」と大差ない。 (むしろこっちの方が手間が少ない場合の方が多い。) ただ、そうしたところで - プログラムがProgramFiles以下のディレクトリにインストールされている場合、 Vistaでは実行ファイルと同じ場所に設定ファイルの作成はできない。 - Vistaでなくても、デフォの設定では通常ユーザーで実行した場合は 設定ファイルを作成できない。 ってだけのこと。
878 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 15:22:18 ] アプリケーションスコープの設定はAll Usersに保存されるんだっけ
879 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 16:39:38 ] されないよ。 そもそも変更不可だ。
880 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 20:28:48 ] VBはビジュアルベーシック .NETは何の略?
881 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 21:33:06 ] あえていうならMicrosoft.NETの略
882 名前:デフォルトの名無しさん [2009/11/12(木) 23:22:16 ] Visual Studio 2008 Express Editionでプログラムを作成しています。 開発しているPCではエラーも発生せず動作するのですが あまりメモリを積んでいないPC(512MB)ではSystem.OutOfMemoryExceptionが発生します。 エラーが発生する環境を開発環境で再現するためにApplication Verifierを導入し, Low Resource Simulationにチェックを入れて実行するとSystem.OutOfMemoryExceptionが発生しました。 メモリが足りないことがエラーの原因だと思いますが,FormにPictureBoxを数個置いているだけのプログラムでして それほどメモリを使用しているとも思えません。CloseやDisposeで解放するようにしましたが状況は変わりません。 こうした問題はどうやって解決すべきでしょうか?
883 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 23:38:10 ] >>882 そんなの知るかよ。 それほどメモリを使用しているとも思えません? 煽り抜きでいかにもダメな奴が言いそうな台詞だね可哀想。
884 名前:882 [2009/11/13(金) 00:07:33 ] メモリの使用状況についてですが以下のような感じです。 Working Set - 20,684KB Peak Working Set 20,800KB 仮想メモリ Private Bytes - 18,912KB Peak Private Bytes - 19,088KB 正直メモリ使用量の定義がよく分からないのでそれっぽい値を書き出しただけなんですが コントロールの無いFormを表示させるだけのプログラムで以下のような感じなので それほどメモリを消費してるとは思えないのです。 Working Set - 13,228KB Peak Working Set 13,228KB 仮想メモリ Private Bytes - 14,052KB Peak Private Bytes - 14,052KB
885 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 00:50:37 ] メモリ増やせばいいじゃん
886 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 01:05:57 ] 分からないなら分からないって言えよ
887 名前:デフォルトの名無しさん [2009/11/13(金) 04:07:16 ] VB2010ベータ1をインスコして勉強がてら遊んでみた。 最近はマルチコアのCPUも多くなったし、重いループ処理は極力マルチコアで処理させようと考えて 次のようなコードで試してみたんだけど・・・ Private counter As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click counter = 0 System.Threading.Parallel.For(0, 10000, AddressOf proc) Console.WriteLine(counter) End Sub Private Sub proc(ByVal index As Integer) counter += 1 For i As Integer = 0 To 1000000 Next End Sub counterの値が10000になると思ったのに何故か9998とかになっちまうじゃねえか!この野郎! あと、System.Threading.Parallel.ForEachも試してみたが、これも同じ様に列挙が抜け落ちる! 言うまでもなく例外など出ない(笑) 俺がおかしいのか??それともベータだから未完成ってことなのか?
888 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 05:32:11 ] >>887 そもそも += はスレッドセーフじゃなかったと思う
889 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 05:39:45 ] >counter += 1 Interlocked.Increment(counter) VBってvolatileにあたるのってなかったっけ?
890 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 09:37:39 ] スレッドセーフってなんだよ!意味わからない専門用語つかうな!バーカ
891 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 09:38:28 ] >>887 当たり前であって馬鹿はお前だ。 どういう事か理解できないならパラレルとかマルチスレッド絡みには 手を出さない方がいいぜ。
892 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 10:15:42 ] >>890 MSDNのクラスのリファレンスに必ず「スレッドセーフ」があるんだが。 それでいて”意味がわからない専門用語”といってる時点で、あんたがココに来る資格ないよ
893 名前:デフォルトの名無しさん mailto:sage [2009/11/13(金) 13:19:11 ] 質問しといて分からない単語が出てきたら調べる努力もせずに逆ギレって・・・