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


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

VB.NET質問スレ (Part20)



1 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 11:19:36 ]
前スレVB.NET質問スレ (Part19)
pc11.2ch.net/test/read.cgi/tech/1168585041/

159 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 10:09:26 ]
VB.NET2003でソフトを動作させていると
IOExceptionが発生し、内容は
このコマンドを処理するのに必要な記憶域をサーバーで確保できません

こんなエラーが時々出る様子

やっている処理は以下のようなもの(普通にありえないんだが別会社のソフトの関係で仕方なくこうなっている)
OSはすべてXPのSP2
ウィルスバスターインスコ済み

一定間隔(処理完了から次の処理開始までが10秒ほど)
PC2〜10からPC1にある大量のファイル(10000ほどある時もある)を全てなめて計算しているんだが
このときに出ている模様

で、検索してみるとサービスで使用しているスタック領域が不足しているので(XPのデフォは15)、これを現在の値から引き上げてやる模様
これが不足する理由ってのがよくわからないけど、他の人は単純に20とか30にまで引き上げてやれば解決しているみたい

外部から共有フォルダに接続してガリガリ読み込むと単純にネットワークサービスが使うメモリが不足するって事なのかな?
あと、これは・・・PC1に対して行うのかPC2〜10に対して行うんだろうか・・・
PC1だとは思うけどレジストリなのでおいそれと変えたくない予感

もし、何か知ってる人居たら教えてくれないか?

160 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 10:42:42 ]
>>159
その質問に答えられるのはエスパーかペテン師ぐらいだろう。
VB.NET2003でどんなソフトを作ってんのよ。WinFormアプリかサービスか、
通信は共有フォルダなのか独自にやってるのかはっきりしろ。

161 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 10:54:54 ]
>>160
ごめ、説明不足

WinFormアプリで
PC1の共有フォルダを介してPC1のファイルを
PC2〜10のWinFormアプリ各々がチェックしに行ってる状態

PC1のレジストリにはIRPStackSizeの項目は設定されていない
また、パフォーマンスの詳細設定で
パフォーマンスの優先はプログラム
メモリ使用量はプログラム
なぜか仮想メモリは370〜700固定

IRPStackSizeの変更後の値をネットで調べると15が多いようだが
マージンとってそれよりも大きな値(20〜30とか)に設定しても大丈夫なのかな?
出来れば設定値の基準値が知りたいところではあるけれど・・・

また、PC1では基本的に操作しないのでパフォーマンス設定も
サーバOSのデフォのように変えてやったほうがいいんだろうか?

PC1の大まかなスペックはP4 2.8Gでメモリ512M

ん〜・・・説明へたでゴメ


162 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 11:00:38 ]
>>148
Webサービスでがんばれ

163 名前:デフォルトの名無しさん [2007/03/16(金) 12:45:40 ]
TextBoxのMaxLengthプロパティってディフォルトで32767文字もあるけれど、
10文字で十分なのだけれど、この値が大きくても小さくても、プログラム
起動してタスクマネジャでメモリ使用量比べても、余り違わないのだけれど、
これはどういうこと?1000個のTextBoxでテストしてみたが良く分からない。

164 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 12:48:18 ]
入力を制限しているだけでそれ以上の意味はない

165 名前:デフォルトの名無しさん [2007/03/16(金) 12:55:23 ]
>164
知らんかった。39!

166 名前:デフォルトの名無しさん [2007/03/16(金) 13:41:02 ]
馬鹿のイメージでは、メモリアロケーションしてるんかい?
きょうびの高級言語、そんなにせこせこしてねーよ。

167 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 15:04:28 ]
意味が分からない



168 名前:デフォルトの名無しさん [2007/03/16(金) 19:06:31 ]
質問、Excelなんかが公開してるCOMオートメーションをVB.NETから使う時なんですが。
Excel側のイベントでチェックボックスのチェック状態を変更すると、以下の例外が出ます。

 System.Reflection.TargetInvocationException' の初回例外が mscorlib.dll で発生しました。

COMのイベント内で自アプリのフォーム上のコントロールなんかを操作ってどうやったらいいでしょう。
とりあえずExcel側で新しいブックが作成された時のイベント(NewWorkbook)を使ってみたサンプルが
以下です。

Public Class Form1
  Private WithEvents m_objExcel As Excel.Application

  Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    m_objExcel = New Excel.Application
    m_objExcel.Visible = True

    CheckBox1.Checked = False
  End Sub

  Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
    m_objExcel = Nothing
  End Sub

  Private Sub m_objExcel_NewWorkbook(ByVal Wb As Excel.Workbook) Handles m_objExcel.NewWorkbook
    CheckBox1.Focus()
    CheckBox1.Checked = True
  End Sub
End Class

VB6だと動きますが、やっぱりVB.NETだとお作法が違いますよね

169 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 20:19:54 ]
ワロタ

170 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 21:18:29 ]
おまえらって賢いな

171 名前:168 mailto:sage [2007/03/18(日) 01:11:07 ]
解決しました

.NET Fremawork1.1のC#しか扱ったことなかったのですが、2.0以降ではサブスレッドから
Windowのコントロールにアクセスすると例外が起こるんですね。
1.1の時はたまたま動いていたと。 orz

ちなみにInvoke()呼び出しと、m_objExcelの操作をサブスレッドで実行するように変更したら
動くようになりました。

めったに.NETのC#もVBも使わないんで結構忘れますね。
あと書き忘れてましたが VisualStudio2005使ってます。(最近買いました)

172 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 01:19:03 ]
>>171
ついでにCOM相互運用とかも見とくといいんでない?

173 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 01:22:41 ]
ttp://jeanne.wankuma.com/tips/programing/releasecom.html
こんな開放ってやっぱり必要なの?

174 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 01:25:39 ]
自分しか使わないもんなら不要。
それで困らなければ不要。
立ち上げてすぐ落とすようなもんなら大抵不要。

そうでなければ必須。

175 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 01:26:36 ]
>>174 thx

176 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 01:28:38 ]
>>172
ちょうどHELPでそこ読みながらやってました
でも.NETメインじゃないんで熟読するの辛いですね

>>173
やらないとアプリ終了時に例外が出ますね
でも、やらなくてもCOMのローカルサーバーはちゃんと終了するんで
参照カウントはデクリメント(Release)されてるのかも

177 名前:デフォルトの名無しさん [2007/03/18(日) 12:09:49 ]
>>173
やっとかないアンマネージドリソースはフレームワークが勝手に開放するような仕組みもって無いんで解放できないんじゃ・・・?
というわけで仕方なくCOM使う場合は必ず使ってる

ただ、ラッパクラスAをさらにラップしたクラスB作ったら、Bの解放のタイミングでフレームワークがCOMオブジェクトリリースしてくれないかな?
とか淡い期待抱いてるけど




178 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 12:21:01 ]
>>173
使うことが推奨だが、

>COM オブジェクトを扱う場合は、参照の解放を常に意識する必要があります。
>使用した COM オブジェクトの参照カウントが、正しくデクリメントされていないと「メモリ リーク」を起こします。 

は明らかな間違い。いい加減なおして欲しいよ。

179 名前:デフォルトの名無しさん [2007/03/18(日) 12:35:03 ]
>>178
何が間違ってんだ、とぼけたこと抜かしてんなよボケ

180 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 12:36:46 ]
>>178
”メモリリーク”を何に直せばいいの?

181 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:03:03 ]
微妙な問題ではあるが、MSDNフォーラムのこの話題が参考になりそう。
forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=748277&SiteID=7

COMの参照カウンタはRCWが管理している。
ReleaseComObjectはCOMの参照カウンタそのものではなくRCWの参照カウンタを管理するもの。
RCWの参照ポインタがゼロのなるかGCされればCOMの参照カウンタはデクリメントされる。
RCWはReleaseComObjectで開放すべきであり、GCによる開放はフェイルセーフ的なものと考えるべき。


182 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:30:27 ]
>>180
>COM オブジェクトを扱う場合は、参照の解放を常に意識する必要があります。 
COM オブジェクトを扱う場合は、参照の解放を意識する必要があります。 
>使用した COM オブジェクトの参照カウントが、正しくデクリメントされていないと「メモリ リーク」を起こします。  
使用したRCWの参照カウントが正しくデクリメントされていないと期待するタイミングでCOM オブジェクトが開放されません。  


183 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:32:24 ]
>>182
あらゆる意味で不完全燃焼だ

184 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:34:37 ]
そんな文章の校正屋みたいなことして楽しいのかね。奇特な奴。
どうせ何か書くなら物事自分の頭でまとめた結果をアウトプットしろよ

185 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:49:41 ]
そりゃま、「全部GCでOKww手動でやる奴は馬鹿!」とか書いたら爆釣りで完全燃焼だろうけどさw

186 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 14:21:11 ]
>>184
校正って、間違ってんだろ

187 名前:デフォルトの名無しさん mailto:燃焼系アミノ式 [2007/03/18(日) 17:13:13 ]
VB6時代のNothing論争に似てる。
Sub XX
  Dim Obj As New ActiveX.Hoge
  '  いろいろな処理
  Set Obj = Nothing
End Sub
最後のNothingがないとメモリーリークが起きると言い張るのが必ずいた。
実害はないから頭の悪いプログラマーには全部Nothingを付けされたほうが安全というのが結論だった。




188 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:18:16 ]
参照にnullを代入したらその時点でGCが動くと信じてる奴は多そう
全く意味はないとMSDNには書いてあるが

189 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:19:20 ]
dim a as new collection
set a=nothing
msgbox a.count

190 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:19:56 ]
全く意味は無いというのは言いすぎだな
超極めて限定的に意味があるシーンもある
……それは意味がないのと同義か

191 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:20:00 ]
アウトプロセスサーバなCOMでプロセス起動するようなやつだと
解放しないとプロセスが残るやん
メモリリークどころじゃないやん
その時点でアウトやん

192 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:22:07 ]
>>190
循環参照とかにつかうんよ

>>191
参照カウントをデクリメントするのと、「解放」するのは全く別物

193 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:24:48 ]
循環参照でもそれらが孤立してたらGCされるだろ

194 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:27:18 ]
>>193
.NETはね
VBは参照カウントだから無理

195 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:39:01 ]
以下VB6の話。スレ違いなのでこれくらいにしておく。
「別の処理」のときにObjを確実に終わらせいたいときはNothingの代入は意味がある。
Sub XX 
  Dim Obj As New ActiveX.Hoge 
  '  いろいろな処理 
  Set Obj = Nothing ' ここで参照が0になったら即開放される。ここはVB.NETと異なる。
 ' 別の処理
End Sub
Objはローカルに宣言された変数だからEnd Sub時点でObjは消失してNothingの代入相当の処理
つまり参照カウンタの減算は行われる。このため「別の処理」が存在しないときにNothingの代入は意味がない。

196 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:39:55 ]
COM使うの止めればいいじゃん。特にサーバでは。

197 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:41:26 ]
>>196
サーバー用途だとエンタープライズサービスがもろCOM+だからねぇ



198 名前:デフォルトの名無しさん [2007/03/18(日) 23:17:22 ]
しかし、これからはComは使わないだろ

FW1.1とかでAPI使わずにVB6のMSCOMM使ってる連中が多かったから
FW2.0でCOMM通信のコンポーネント追加したんだろう

DataGrid使いづらいからってMSFLEXGRID使ってた連中もいたし
それでDataGridView追加したんだろうけどなぁ…

すべてはCOMから移行していくんだよ全て

199 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:28:50 ]
とはいえ、マイクロソフトの主要プロダクトはほとんどCOMじゃないか。

200 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:34:01 ]
>>198
FWってFrameworkのことか?
普通はFxと略すが

201 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:37:47 ]
Fxは.NET Framework 3.0(旧称WinFX)のことだと誤解されそう

202 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:39:29 ]
>>200
うはw初めて知った。
それって公式な略称なんですか?

203 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:39:53 ]
マイクロソフトの出す資料には.NET Fxと書いてある。

204 名前:デフォルトの名無しさん [2007/03/18(日) 23:40:14 ]
>>200
FXは俺も3.0とオモタw

そういえばみんなフレームワークなんて呼んでるんだろうな?
俺は普通にフレームワーク2.0とかの書き方なんだが略し方とかあるのか?
VisualStudio2005=VS2005みたいに


205 名前:デフォルトの名無しさん [2007/03/18(日) 23:41:16 ]
Clipboard.SetDataObject(Me.PictureBox.Image, True)
で、クリップボードにコピーしようとしたら、10回に8回くらいは、以下のエラーが出るんだけれど
何でかな?

System.Runtime.InteropServices.ExternalException: 要求されたクリップボード操作が失敗しました。
at System.Windows.Forms.Clipboard.SetDataObject(Object data, Boolean copy)


206 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 23:46:05 ]
>>205
他所のアプリがクリップボードをロックしてる時にでもエラーになってんじゃね?

207 名前:デフォルトの名無しさん [2007/03/18(日) 23:50:34 ]
>206
サンキュウ。うーん、でもね、他のアプリは確かに沢山動いているけれど、
クリップボードをロックしているはずはないのだけれど。
例えば、このエラーが出たあとPaintを起動してクリップボード使っても
何も問題なく使える。うーん、おかしい。



208 名前:デフォルトの名無しさん [2007/03/18(日) 23:53:12 ]
その前後のプログラムのソース見ないといまいちわからんかもしれんなぁ・・・
なにやってんだ?
俺はクリップボード問題なさそうなんだが

209 名前:デフォルトの名無しさん [2007/03/19(月) 00:05:22 ]
プログラムはFormを3つ開いて、Form3のPictureBoxに絵を描いて
Buttonを押したらその絵をクリップボードにコピーするという簡単なもの。
このサンプルをそのまま使っている。
ttp://www.bcap.co.jp/hanafusa/dotnet/zu02.htm#no4
プログラムの中には、スレッドを使って別の処理を並行してやらせるようなルーチンも
あるのだけれどプログラム起動直後はそういうルーチンは全然実行していないので、
スレッドなどは関係ないと思う。

210 名前:デフォルトの名無しさん [2007/03/19(月) 00:15:10 ]
>>209
COM関連だよなInterRop
そうおもってググってみたら同じような質問があった

でうまくいったみたいだけど参考になるかな?

211 名前:デフォルトの名無しさん [2007/03/19(月) 00:15:56 ]
貼り忘れ 連投スマソ
piza.2ch.net/tech/kako/977/977112364.html
//*********************
232 名前: 名無しさん♯ 投稿日: 2001/04/17(火) 17:21

>>230
COMのスレッドの問題よん。
ここを参考にしてちょ。

質問
discuss.develop.com/archives/wa.exe?A2=ind0011B&L=DOTNET&P=R26673

回答 from Microsoft
discuss.develop.com/archives/wa.exe?A2=ind0011B&L=DOTNET&D=0&P=38177



233 名前: デフォルトの名無しさん 投稿日: 2001/04/18(水) 00:39

>>231-232
ありがとうです。
using System.Threading; して
Thread.CurrentThread.ApartmentState = ApartmentState.STA;
をMainの一番初めに入れればいいんですよね。
この方法で試してみたけど、うまくいったりいかなかったり…。
で、今試したら100%うまくいくようです。
ちょっと謎ですが、たぶん大丈夫でしょう。
どうもありがとうございました。



212 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 01:00:10 ]
普通はSTAThreadAttributeついてると思うんだけど、つけてないの?


213 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 01:01:36 ]
>>207
そりゃ問題なく使えて当然。そんな長時間クリップボードをロックしっぱなしするようなことはフツーしない。

214 名前:デフォルトの名無しさん [2007/03/19(月) 02:05:54 ]
>211
サンキュウ。
Thread.CurrentThread.ApartmentState = ApartmentState.STA
っていうのを入れてみたが効果なし。
おかしい。

215 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 07:39:15 ]
>>214
.NETのVersionはなに?.NETのVersionが2.0なら
>Thread.CurrentThread.ApartmentState = ApartmentState.STA 
は既にレガシーで機能しない。
メインスレッドは属性[STAThread]で指定し、それ以外のスレッドならスレッド開始前に
Thread.SetApartmentStateで初期化する必要がある。

それからPictureBoxはGUIコンポーネントだから、もしメインスレッド以外から
PictureBox.Imageを参照してるならおかしくなるのは当たり前だけどそこは大丈夫?

216 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 08:08:45 ]
マイクロソフトはレガシーって呼ぶのか…。obsoleteとか言ってくんないとわからんw

217 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 08:37:32 ]
>>215
もうだめだ .Image が .Invoke に見えた(orz



218 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 08:44:50 ]
それは目がピンヴォケですね

219 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 09:05:56 ]


220 名前:デフォルトの名無しさん [2007/03/19(月) 10:06:46 ]
Directoryクラスについて教えてください。

ヘルプに、
「Directory クラスの静的メソッドは、すべてのメソッドでセキュリティ チェックを実行します。
オブジェクトを何回か再利用する場合は、このようなセキュリティ チェックが必ずしも必要では
なくなるため、これらの静的メソッドの代わりに DirectoryInfo の対応するインスタンス メソッドを
使用することを検討してください」

とありますがこのセキュリティチェックというのは、Windows固有の機能でのチェックでしょうか、
それともウイルス対策ソフトにチェックをしてもらうということでしょうか?

このヘルプの意味するところは、「初回は必ずDirectoryクラスを使い、一度使ったフォルダは
すぐ次ではDirectoryInfoクラスを使うようにする」ことで、ウイルスチェックなどがしっかり掛かる
ということを意味しているのでしょうか?それともこれらのセキュリティチェックとは、いわゆる
コードアクセスセキュリティのようなもののことでしょうか?すみませんがよろしくお願いします。




221 名前:デフォルトの名無しさん [2007/03/19(月) 10:09:02 ]
また、逆に言うと、Directoryクラスを使わず、DirectoryInfoクラスだけを使ってしまうと
セキュリティチェックが掛からず、ウイルスに汚染されてしまう危険がある、といったことをも
意味するのでしょうか?これもあわせてお願いします。

222 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 10:13:30 ]
CASの事だよ。
ウィルスとか関係ない。
DirectoryInfoでもチェックは入るが、
例えばインスタンス作成時だけチェックすれば済むとか、
そういう話だよ。

223 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 10:24:35 ]
>>217

とりあえずもちつけ
落ち着いて理論的に考えていけばきっと解決できる問題だ!!


224 名前:デフォルトの名無しさん [2007/03/19(月) 10:32:50 ]
>>222
ありがとうございます。やはりコードアクセスセキュリティのことだったのですか、

>DirectoryInfoでもチェックは入るが、
>例えばインスタンス作成時だけチェックすれば済むとか

ということは、ヘルプの言ってることは、原則として、

 インスタンス作成時は Direvtoryクラスを使い、
 それ以降そのインスタンスの使用は DirevtoryInfoクラスを使ってください

と考えてよいということでしょうか?そしてみなさんもそういう原則を踏襲して
日々コードを作成しておられると考えてよいでしょうか?

225 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 10:44:13 ]
>>224
どこをどう読めばそう曲解できるのか不思議だが、書いてあるとおりだよ。
CASにかかる時間が気になるほど回数呼ばないならどっちでもいいってことだ。

226 名前:デフォルトの名無しさん [2007/03/19(月) 11:07:57 ]
>>225
たびたびすみませんです。

まだよく理解できていないのですが、DirectoryInfoでもDirectoryでも、
CASに関しては同等なのでしょうか、それともやはり顕著に異なるのでしょうか?

もし同等なのであれば、どちらを使ってもよい、ということになりコード作成で
気にする必要がなくなってありがたいのですが、ヘルプではやはり異なるように
書かれてあるようにも感じられます。CASをやってくれるのがDirecotryだけであるなら、

1.たくさんの回数呼ばないのなら、すべて 「Direcotry」 で済ませてよい、

しかし

2.もし同じフォルダーをたくさん回数呼ぶようであれば、最初だけはDirectoryを
  使って、あとは DirectoryInfo を使うようにするべきである、

ということでしょうか?そしてこの原則をはずしてすべてを DirectoryInfo だけで
記述してしまうと、.NETのプログラムとしては大きく欠陥となる、ということを意味する
のでしょうか?この辺が気になっています。VB6ではこういうことを考える必要が
なかったもので戸惑っています。

227 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 11:32:46 ]
なんでそうなる



228 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 11:35:12 ]
プログラミングがあまりに論理的なので忘れてしまうことが在る

プログラミングはスポーツ、つまり活動的な行為なのですよ

人に聞くなんて恥ずかしい行為は慎むとよい

229 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 11:36:24 ]
DirectoryInfoはチェックしないなんて
どこに書いてあんだよ。

同じディレクトリに対して操作を繰り返すんだから、
最初のインスタンス作成時にチェックするだけで済むだろ。
だからコンストラクタとかその辺でチェックしてるってことだよ。

230 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 11:39:44 ]
そろそろさじ投げてもいいほど俺たちは堪えてるよな?

231 名前:デフォルトの名無しさん [2007/03/19(月) 12:07:46 ]
>>229
>DirectoryInfoはチェックしないなんてどこに書いてあんだよ。

>>220で挙げたようなヘルプの説明はそういった意味かと思いました。
これは意味が異なるのでしょうか。いろいろお聞きしてすみません。

>同じディレクトリに対して操作を繰り返すんだから、
>最初のインスタンス作成時にチェックするだけで済むだろ。
>だからコンストラクタとかその辺でチェックしてるってことだよ。

ということは、コンストラクタを使う限りは、DirectoryでもDirectoryInfoでも
CASが掛かるということでしょうか、そうであれば、初めから両者の差は、
コンストラクタ以外のメソッドでのみ異なるということになるわけなのでしょうか。
たびたびお聞きしてすみません。

232 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 12:19:11 ]
reflector.netでも使えばいいんじゃないか?

233 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 12:32:20 ]
諦めた、もう無理w

234 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 12:37:29 ]
どうやってDirectoryのコンストラクタを使うんだ。
どうやってコンストラクタを使わずにDirectoryInfoを使うんだ。


って言ったらコンストラクタ使わずに使えるよ、とか言われんだろな。
そういうことじゃないんだ、そういうことじゃ…


235 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 12:38:41 ]
>>231
そのセキュリティチェック云々のたわ言は別にして
DirectoryとDirectoryInfoの違いはわかってるのか?

236 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 12:43:29 ]
>>231
・・・なんという電波解釈wwww

237 名前:デフォルトの名無しさん [2007/03/19(月) 12:46:37 ]
>>235
>DirectoryとDirectoryInfoの違いはわかってるのか?

それもあいまいなのですした。すみませんです。

>そのセキュリティチェック云々のたわ言は別にして

この件はそれほど気にしなくてもいいという感じでいいでしょうか?



238 名前:デフォルトの名無しさん [2007/03/19(月) 12:54:47 ]
TextBoxに入力した内容を次にソフトを立ち上げた時に表示するように保存しておくようにしたいんですけど。
どうやるんですか?
データファイルとかソフト本体以外のファイルは作らないでやりたいんです。

239 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 12:57:52 ]
1回のCASの検査にかかる時間はせいぜい1/1000秒かそれ以下。
1000回繰り返したら1秒遅くなることになるが、これが気になるならうまくやれってこと。

240 名前:デフォルトの名無しさん [2007/03/19(月) 13:01:52 ]
>215
サンキュウ。
VS.NET2003です。
その後のテストで、以下の事実が判明しました。ここで教えてもらったスレッド関係の設定をしなくても、
別のDELLマシンでは、何の問題もなくpictureBoxクリップボードにコピーできる。
エラー発生するのは最初に開発していたマシンのみ。
エラー発生しても、プログラムの実行を継続してやれば、2回目以降は成功する。

というわけで、よく分からない状態です。たまたま解決したのか、また、別のマシンで発生する可能性があるのか考えるとちょっと怖い。
お客さんのマシンで発生したら最悪。。。


241 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 13:02:17 ]
>>238
情報量増やさずに情報を増強するのは無理
普通は外部ファイルとして保存するかアプリケーション構成とかに保存するんだろうが、
嫌なら諦めろ

242 名前:デフォルトの名無しさん [2007/03/19(月) 13:04:20 ]
>>238
念じるしかないんじゃないの?
増やさないで情報を保存するなんて、エスパーしかできねーし。


243 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 13:04:37 ]
>>238
レジストリに格納できないか?


244 名前:デフォルトの名無しさん [2007/03/19(月) 13:14:38 ]
>>239
>1回のCASの検査にかかる時間はせいぜい1/1000秒かそれ以下。
>1000回繰り返したら1秒遅くなることになる

そうだったのですか。わかりました、ということは原則としてアクセス回数が
少ないものの場合は、Directoryですべてまかなう方がむしろよい、というふうに
つまりCASを必ず通すという考えでやれば間違いはない、ということなのですね。
どうもありがとうございました。

あとは、DirectoryとDirectoryInfoの違いについてまた調べてみますです。
どうもでした。


245 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 14:16:26 ]
おめでとうございます。
日常生活でのコミュニケーションに障害を感じるレベルです。


246 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 15:36:42 ]
>>238
アプリ本体のアセンブリ自身を書き換えてやればいいんじゃないか?

247 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 15:40:19 ]
>>243
それも外部ファイルいじってるやんw

>>238みたいなのはもう居なくなれよwwwww
常識的に考えてそんなことしねぇよwwwww



248 名前:デフォルトの名無しさん [2007/03/19(月) 15:41:53 ]
まあ、彼がファイルとか作りたくないっていう理由が全くわからんけどね。
Assembly自身の書き換えは、厳格名を持ってる場合に問題出るだろうし、そもそも最近のセキュリティソフトが嫌うと思う。
EXEの書き換えなんて。
普通にapp.configに書き出せばいいのに。


249 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 15:52:26 ]
>>247
少なくとも新規作成はしない罠

250 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 15:55:27 ]
>>249
確かにw


しかしまぁ、何故新規作成したくないというか・・・・
きっとダメな理由でもあるんだろうけどなぁ



251 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 15:59:14 ]
それならSystem32あたりで適当なファイルをランダムに選んで乗っ取れ

252 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:04:16 ]
ブートローダ乗っ取ればいいんじゃね?

253 名前:デフォルトの名無しさん [2007/03/19(月) 16:05:35 ]
PCに残せないなら、前回の最終入力を作業者の脳内に残してもらえばいいじゃん。
それを画面起動時に入力してもらう。

254 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:08:58 ]
ふっかつのじゅもんか。

255 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:11:21 ]
設定サーバを立ててオンラインで保存・読み込みすればいいんじゃね

256 名前:デフォルトの名無しさん [2007/03/19(月) 16:13:15 ]
まあ、普通に馬鹿な仕様を変更すればいいだけだろ?
ローカル保存可とするか、保存する場所ないならば前回入力なんぞ保持しないか。

257 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:38:26 ]
VBでいうAsc関数はフレームワークではどの様に記述するのでしょうか?
Microsoft.VisualBasic.Strings のメンバではなくてです。



258 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:38:54 ]
system.math
名前空間の中じゃねぇの?

259 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:44:21 ]
Reflectorで覗いてみたら?
自己責任で






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

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

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