トップページ⇒tech
1001コメント268KB

C#, C♯, C#相談室 Part80

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
前スレ
C#, C♯, C#相談室 Part79
http://toro.2ch.net/test/read.cgi/tech/1363632378/

Visual Studio 2010 Express
http://www.microsoft.com/japan/msdn/vstudio/express/default.aspx

Visual Studio 2012 Express
http://www.microsoft.com/visualstudio/jpn/products/visual-studio-express-products
0002デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
ふらっとVisual C#,C♯,C#(初心者用) Part105
http://toro.2ch.net/test/read.cgi/tech/1371948073/

WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part16
http://toro.2ch.net/test/read.cgi/tech/1369912326/

【VB.NET】LINQ友の会【C#, C♯, C#】
http://toro.2ch.net/test/read.cgi/tech/1202568694/

C#,C#の宿題片付けます。
http://toro.2ch.net/test/read.cgi/tech/1197620454/

Microsoft Silverlight その9
http://toro.2ch.net/test/read.cgi/tech/1321150267/

Visual Studio 2010 Part20
http://toro.2ch.net/test/read.cgi/tech/1354608228/

Visual Studio 2012 Part7
http://toro.2ch.net/test/read.cgi/tech/1371524880/

こんなC#, C♯, C#ライブラリ無いですか?
http://toro.2ch.net/test/read.cgi/tech/1342672311/
0003デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
参考リンク

MSDNライブラリ
http://msdn.microsoft.com/ja-jp/library/

@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/
MSDN フォーラム
http://social.msdn.microsoft.com/Forums/ja-JP/categories/

pinvoke.net: the interop wiki!
http://pinvoke.net/
宇宙仮面の C# プログラミング / C# Programming
http://uchukamen.com/
WisdomSoft C#入門
http://wisdom.sakura.ne.jp/programming/cs/
WisdomSoft Microsoft .NET入門
http://wisdom.sakura.ne.jp/system/msnet/
どっとねっとふぁん
http://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips (話題にすると荒れます)
http://dobon.net/vb/dotnet/
0004デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
質問する前に"必ず"WikiやFAQ集を参照し、同じような質問がないか確認してください。

初歩的な質問はPC初心者板で・・・
http://pc11.2ch.net/pcqa/
参考リンク(よく出てくる情報リンク)
Windows Vista Wiki
http://windowsvista.ms/index.php
Windows VistaFAQ
http://vistafaq.stdo.net/index.html
〜インストールから設定・活用まで〜 すべてが分かるWindows Vista大百科
http://journal.mycom.co.jp/special/2007/windowsvista/menu.html
Windows 7 Wiki
http://www15.atwiki.jp/win7/
Windows 8 Wiki
http://www18.atwiki.jp/win8/
Windows8 移行まとめwiki
http://windows8.wiki.fc2.com/

コードの量が多い場合は下記サイトを使うなどしたほうがいいかも。
コードを貼り付けてRun codeのチェックを外し、submitボタンを押すと専用のアドレスが発行されます。

http://ideone.com/
http://pastebin.com/

直接貼る場合はhtmlエンコードした方がインデントも残って見やすいです。

http://kawama.jp/php/encode_html.php
0005デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>>4
なんでC#スレでWindowsのWikiをみなきゃ
ならんのだ?
0006デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
正直俺もそう思った
0007デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>直接貼る場合はhtmlエンコードした方がインデントも残って見やすいです。

nbsp;とか効かなくなったんじゃなかったっけ

(テスト)
 うんこちんちん
0008デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
セキュリティの常識を持ち合わせたサイトなら
利用者がHTMLエンコードを意識することは
あってはならないのだけれど
0009デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>>8
はぁ?

表現力のために特定の HTML エンコードを使えるようにすることが
あってはならないとか、バカじゃねーのか
0010デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
噛み合ってない
使うかどうかじゃなくて、意識するかどうかってことだろ
そんくらい自動でやれゴミってこと
0011デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
セキュリティ考えるとタグを制限した方がいいが、
それと自動でエンコードして閲覧者が見やすく使いやすくってのは別問題
つまり>>8、>>10はただのバカ
0012デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
制限以前に、ユーザーの入力したHTML(タグ含む)が
Webサーバーからブラウザーに出力される仕組みが
危険極まりなくね?
0013デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
すぐ湧いてくる>>12のような根本厨はただのバカ
0014デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
単発が湧いてきたな
0015デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
HTMLメールが危険とか未だにいってるの日本だけだよw
AppleもMicrosoftもAdobeも世界の一流メーカーは普通にHTMLメールだよ
日本はIT後進国だからしかたないか・・・
0016デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
いつまで経っても権威主義がにじみ出てるね
3流から君はいつ出世するんだ
0017デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
ageてまで言いたかったんだろうから聞いてやれ。
0018デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
根本はるみっておったな
0019デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
少なくともこのスレにAppleやMicrosoftでプログラマーとして活躍できるレベルの人間いないだろwww
0020デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
1人はいるんじゃないの?よ〜く考えてみようよ
0021デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
サニタイズの話が理解できずに
htmlが危険と勘違いする
>15は危険
0022デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
昔の2chだとそれを利用した荒らしが発生してたよな
0023デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
サニタイズ言うなキャンペーンってあったな
0024デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>>8
> セキュリティの常識を持ち合わせたサイトなら
2chがそんな大層なサイトな訳ないじゃないか

今時Shift_JISなんだから実体参照入力できなかったら書けない文字があるんだよなぁ
0025デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
今更文字コードを変えると影響がでかすぎると考えてるのか
それともただ面倒くさいだけなのか
0026デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
動いているソースはいじらない
鉄則ですよね
0027デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
そんな初歩も分からないからこのスレの人間はほとんど糞だというのですよ
使えるのはほんの一握りでしょうね
0028デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
まあ確かに現場で使える人間なんてほんの一握りだけどさ。
こんな場所でになに言ってんの?w
0029デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
働いてれば分かることだから、学生か何か。しかも使えない側なんだろ
同類は多いよね、と安心したいだけかと
0030デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
雑魚ばっか
0031デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
自己紹介?合コンでもはじめるの?
0032デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
IME が ON のとき、Ctrl+F10(デフォルトではIMEメニュー表示)を、
IMEより先に取得して、imeのメニューを出さずに、プログラム側で取得するようにする方法はありますか?
ProcessCmdKeyより先にフックされてしまうようで、うまくとれません。
WindowsMessageでできるのかもしれませんが、いまいちやりかたがわかりません・・。
Windows7 標準のIME です。
初心者板に書込みましたがレスがありませんでした。
マルチになってしまいますがこちらにも・・。
0033デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
マルチするなら、元のスレの書込みを取消して
こっちに誘導する文を残してこい
0034デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
class A{
delegate void DA();
DA m_da;
protected A(DA da){}
void Invoke(){m_da();}
}

class B : A{
delegagte object DB
object o:
B(DB db)
: base(delegate{o = db();})
{}
}

baseのコンストラクタに
自身のメンバを参照するdelegateを
渡す方法はありませんか?
0035デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
>delegagte object DB
そもそもメンバを参照するデリゲートなんか存在しない
0036デフォルトの名無しさん2013/07/09(火) NY:AN:NY.AN
DB db1=null;
DB db2=()=>db1();
var b = B(db2)
db1= b.hoge;

こんなことやらずに素直にベースクラス変更しろ
0037デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
諦めて()書けばいいだけだ
0038デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
C#はバカになる言語って言われた(´・ω・`)
0039デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
道具に使われてる人間である限りはその考えが正しい
0040デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
言語仕様なんて簡単で効率的でそこそこの速度ならなんでもいいんだよ
最終的にエンドユーザーに驚きや喜びや楽しさを与えないで何がクリエーターだハゲっが
俺は元々デザイナーあがりでプログラマーになったからデザインとプログラム両方できていつも重宝される
○○はバカになるとか、おまえが100人中100人満足する言語仕様作ってみろと
0041デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
バカ発見
0042デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
今リフレクションをゴリゴリ使って遊んでるけど、
足りてるようで色々と足りてないところがとても気になるところだ。

フィールドの型が構造体の場合、
そのフィールドを GetValue するとボックス化された値が返されるので、
その値を編集しても元のフィールドに影響が出ない。
構造体配列でも同じことが起きる。

仮想メソッドをオーバーライドした場合、
基底クラスのそのメソッドを派生クラスのオブジェクトを使って
リフレクションで呼ぶ手段が無い。

前者は構造体を編集した後にまたフィールドに代入し直すことで、
後者は基底クラスのメソッドに処理を委譲するだけのメソッドを派生クラスに用意する事で
なんとか動くようにはしたけど、
リフレクションすれば private メンバにまでアクセスできるんだし、
もうちょっと何とかなる手段が欲しい所。

他に何かいい手段ないですかね?
0043デフォルトの名無しさん2013/07/11(木) NY:AN:NY.AN
>>42
少なくとも前者に関してはそれを問題だと思うことの方が間違ってる気が
0044デフォルトの名無しさん2013/07/12(金) NY:AN:NY.AN
>>42
前者は__makerefで参照を取得してFieldInfo.SetValueDirect
後者はDynamicMethodとILGeneratorを使用してcallvirtではなくcall命令を発行
0045デフォルトの名無しさん2013/07/12(金) NY:AN:NY.AN
>>44
それは分かってるんだけど、
全て動的に解決しないといけない状況だからできないんだよね

__makeref も Emit もコンパイル時に型やメソッドが判明していないと使えないから
0046デフォルトの名無しさん2013/07/12(金) NY:AN:NY.AN
いや、違った
__makeref は TypedReference が持ち回りでいないから使えないんだった
0047デフォルトの名無しさん2013/07/12(金) NY:AN:NY.AN
教えてください〜!!

.NETのIPCチャネルを使用してプロセス間通信を実現したいのですが、
サーバ側のプロセスが再起動した場合、クライアント側では何を基準
に再接続すればいいのでしょうか?

また、有効期限(InitializeLifetimeService)が無限にしているのですが、
それって、サーバのプロセスが終了すると解放してくれますか?

よろしくお願いいたしますm(_ _)m
0048472013/07/12(金) NY:AN:NY.AN
ちなみにクライアントは「受け」だけで、クライアントから要求することはありません。
0049デフォルトの名無しさん2013/07/12(金) NY:AN:NY.AN
再接続?
.NET RemotingにせよWCFにせよメソッド呼び出しの形式なんだから
普通は接続なんて意識しないと思うのだけど

> それって、サーバのプロセスが終了すると解放してくれますか?
そうじゃなきゃ一体どこに実体を持つってのさ
0050デフォルトの名無しさん2013/07/12(金) NY:AN:NY.AN
>.NETのIPCチャネル
そんなものはありません
0051472013/07/12(金) NY:AN:NY.AN
>>再接続というのは
再起動後のサーバーのオブジェクトを参照できるようにしたい。と言う意味です。

方法として、オブジェクトにIDisposableかなにか入れて、Disposeが呼ばれたときに
フラグを立てて、クライアントに再接続要求を出すくらいでしょうか・・・

.NETでIPCチャネルでした。すいません。
0052デフォルトの名無しさん2013/07/12(金) NY:AN:NY.AN
基本的にメソッド呼び出しの度に接続するんだから再接続も何もないって話なんだけど
サーバ側のシングルトンオブジェクトが再作成されたときにクライアントが処理を行いたい?

あと一般的にクライアントがサーバオブジェクトを呼び出す形だが
クライアントが受けて要求することはないって構造がよく分からん
0053472013/07/12(金) NY:AN:NY.AN
MarshalByRefObjectにイベントをつけて以下の様にする予定です。

public class Test:MarshalByRefObject
{

public event Action<bool> TestEvent;

public void OnTestEvent(bool test)
{
if (TestEvent != null)
TestEvent(test);
}
}

クライアントはサーバーオブジェクトのTestEventにデリゲートを関連付ける
といった形です。

この場合に、サーバーのオブジェクトがリリース(解放)されたかどうかを
どうやってクライアントが知り得るのでしょうか?
0054デフォルトの名無しさん2013/07/12(金) NY:AN:NY.AN
サーバーからクライアントへ「これから破棄するよ」って送るか、
クライアント側からアクセスした時にアクセスできないことから判断する
0055デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
質問なんですが
0056デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
お断りだ
0057デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
お、男割りで
0058デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
質問です。

public class A{
string text;
public A(string text){

}
}
0059デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
クラス内の変数なのかどうかがわかるように変数名決めたほうがいい
0060デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
難解な質問だな
0061デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
書いてる途中で送信してしまいました。
しかも書いてる途中でなんとなく自己解決できてしまったので、
とりあえず忘れてください。もうしわけございませんでした。
0062デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
質問なんですが
visualstudioでSQLサーバーを使って
所持しているマンガの在庫管理プログラム的なものを作ったんですが
そのプログラムをソケット通信を使って
自分のパソコンをサーバーにして
別のパソコンで動かすようにするのは可能でしょうか?
もし可能ならやり方を教えていただけないでしょうか?
0063デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
わざわざソケット使わないと駄目なの?
それは要件か?
接続文字列弄るだけで接続できんだろ
http://msdn.microsoft.com/ja-jp/library/ms191260%28v=sql.105%29.aspx

それともサーバープログラムはSQLサーバーとは別に存在させたいのか?
それならSQLは本質的に全く関係ないね
0064デフォルトの名無しさん2013/07/15(月) NY:AN:NY.AN
ソケットの勉強を始めようと思って
自分の作ったものでソケットとつなげたいと思ったんですが
そういう設定があったんですね。

では他にソケットを勉強するにはどういうものがあるでしょうか?
0065デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
時代遅れだろ
ASP.NETでサーバー側だけで作るか、
DB-Webサービス-HTTP-クライアント の構成にすればいいのに
0066デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
定番はチャット
0067デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
C#で作ったアプリを他のPCで動かしたいのですが
「○○が見つかりません」とか「○○が登録されてません」とかで、
結局、開発環境をインストールして1回ビルドするまでは、
起動できませんでした。

Visual C# 2010 Express

追加の参照設定
MSScriptControl、AxWMPLb
VisualBasic.PowerPacks

これらに必要なファイルをコピー・登録して
アプリを実行できるようにする
無料のインストーラはありますか?
または、コピー・登録をバッチで実行するような
方法がありますか?
0068デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
そういう時は再頒布でぐぐれ
0069デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
>>68 ありがとうございます
VisualBasic.PowerPacksのインストーラを見つけられたのですが、
AxWMPLibがインストールされているにもかかわらず
登録されてませんとでます。
また、MSScriptControlは関係なかったようです。
0070デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
そもそもVisualBasic.PowerPacksなんて使うなハゲ
Microsoft.VisualBasic.PowerPacks.Vs.dll は単体配布は認められてないみたいですね。

AxInterop.WMPLib.dllとかInterop.WMPLib.dllみたいなファイルが実行ファイルと同じフォルダにできてませんか?
それを一緒に配布せんかいヅルムケが
0071デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
激しく正論
0072デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
インストーラーの作成すら理解してないとかコーディング以前の問題だろwww
しかもExpressなのに2008〜2012と一番糞重い2010使ってるとかワロスwww
初心者質問スレいけよカスwww
0073デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
>>72
おまえは消えろ
0074デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
>>70 ありがとうございます。
PowerPacksはLineShapeのために使ってます。
他に、線を引くだけの良い手段があったら教えてください。

AxInterop.WMPLib.dllとInterop.WMPLib.dllが同じフォルダに出来ていて
一緒にコピーしましたが、変りませんでした。
DebugフォルダまたはReleaseフォルダごとコピーしましたが同様でした。

>>72
新しいプロジェクトの一覧にインストーラがありませんでした。
他のインストーラでも良いので、無料で利用できるものがあったら教えてください。
普段は2010のプロジェクトを2012で開いてますが、
やはりインストーラのプロジェクトはありませんでした。
0075デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
前にも言った気がするがWMPはバージョン違いかと
0076デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
>>73
おまえが消えろwww

>>74
http://learn.flexerasoftware.com/content/IS-EVAL-InstallShield-Limited-Edition-Visual-Studio
登録したらメールでシリアル送られてくるからインスコ、VSからプロジェクトのインストーラー作ればBuildで自動的に作成される
0077デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
>>75 ありがとうございます。
すいません、過去ログ拝見してませんでした。
バージョンの違いを吸収する方法はありませんか?

>>76 ありがとうございます。
まずは、これを試してみたいと思います。
0078デフォルトの名無しさん2013/07/16(火) NY:AN:NY.AN
>>77
バージョンの違いを吸収する方法はやった事ないからわからん
0079デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
おしえてくださいー!
IPCチャネルのナマエなのですが
以下の二つは同じプロセスで共存できないですよね?

ipc://A/B
ipc://C/D

やるとしたらこうするしかないですか?
ipc://B/A
ipc://C/A
ipc://D/A
ipc://E/A
0080デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
public abstract class ObjR : MarshalByRefObject { public abstract void Do(); }
public class ObjC : ObjR { public override void Do() { Console.WriteLine("C"); }
public class ObjD : ObjR { public override void Do() { Console.WriteLine("D"); }

var c1 = new IpcServerChannel("a", "c");
ChannelServices.RegisterChannel(c1, false);
var c2 = new IpcServerChannel("b", "d");
ChannelServices.RegisterChannel(c2, false);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(ObjC), "e", WellKnownObjectMode.SingleCall);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(ObjD), "f", WellKnownObjectMode.SingleCall);

var c = (ObjR)Activator.GetObject(typeof(ObjR), "ipc://c/e");
c.Do();
c = (ObjR)Activator.GetObject(typeof(ObjR), "ipc://d/f");
c.Do();
0081デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
datatable
view
datasource

↑C#3日目だけどこのへんの関係がよくわからん
だれかわかりやすくおしえて
0082デフォルトの名無しさん2013/07/17(水) NY:AN:NY.AN
IListSourceとかいろいろ絡むんで文字では説明しづらい
0083デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
いずれは国籍なんて無視して理系及び理系の重要性を認めて理系側についた
人間(ニュータイプ)だけで独立国家のジオン公国つくって、何も生み出す
能力がなく金や資源や穀物を右から左に動かして中間搾取するだけのモラル
の無い腐りきった文系男(オールドタイプ)国家に戦争しかけるのが人類の
最終形態だろう、200年先になるか300年先になるかはわからんが
0084デフォルトの名無しさん2013/07/18(木) NY:AN:NY.AN
それより先に太陽フレアで大停電してメルトダウン多発で人類終了のが早いよ
0085デフォルトの名無しさん2013/07/19(金) NY:AN:NY.AN
映画・アニメの見すぎ
0086デフォルトの名無しさん2013/07/19(金) NY:AN:NY.AN
デリゲート型の動的作成についての情報が少なくて苦労したのでメモ

基本的にDefineType/DefineNestedTypeでMulticastDelegateの派生クラスを作成し、
属性等は逆汗して出てくる通りにすればいいんだけど、
各メソッドの実装は不要で、SetImplementationFlagsでRuntime | Managedを指定するのが肝
まあこれも逆汗した通りなんだけど
0087デフォルトの名無しさん2013/07/19(金) NY:AN:NY.AN
んな面倒なことしなくても
テキストテンプレートでF<T>, F<T1, T2>, F<T1, T2, T3, T4>
みたいにジェネリックデリゲートを大量に生成しておいて
MakeGenericTypeでおk
IronPythonなんかそういう実装だよ
0088デフォルトの名無しさん2013/07/19(金) NY:AN:NY.AN
Rxじゃいかんのか?
0089デフォルトの名無しさん2013/07/19(金) NY:AN:NY.AN
俺は太陽の子!
0090デフォルトの名無しさん2013/07/19(金) NY:AN:NY.AN
>>87
言語作ってるからそんなのじゃだめ
ref, out とか考えると組み合わせ爆発するし
0091デフォルトの名無しさん2013/07/19(金) NY:AN:NY.AN
>>90
?
静的言語作ってるんならコンパイル時にIL生成するんだからリフレクションなんか関係ないでしょ
Mono.Cecilでも使えばいい
0092デフォルトの名無しさん2013/07/19(金) NY:AN:NY.AN
>>91
超がつくほどの動的言語だよ
それこそ動的にアセンブリをロードして
その型の値をそのまま使える程に
0093デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
Expression.GetDelegateTypeがあるでしょ
あとレイトバインディングは変なオレオレ実装しないでCallSite使えよ
0094デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
3.5なんだよー
使えないよー
0095デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
知らんがな
どういう事情かは知らないが、3.5基準で作ったら4に移行してdynamic対応するときに
設計総取っ替えになるのを覚悟しとけよ
0096デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
趣味グラムに対して大げさすぎだろw
0097デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
趣味ならそれこそこだわる必要ねえな
0098デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
IronPythonのソースをパクってくればちょこっと#ifするだけで
4のDynamicのプロトコルに対応しながら3.5にも対応できるぞ
4のCallSite/Dynamic周りは最近の最適化手法やらMOPやらが使われてて
自分で言語作るような奴には結構面白いと思うよ
0099デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
Dynamicって何に使うの? 言語厨のオナニーじゃないの?
0100デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
>>99
C#のdynamicやIronPythonなどに使われてる
動的コード生成とキャッシュの仕組みを比較的簡単に利用でき高速
他の言語のオブジェクトへの操作が透過的に行える
0101デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
dynamic周りは使いたかったんだけどねえ
Win7で.NETバージョンアップしてなくても使えるようにしたかったから
0102デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
4だと世界がぱっと広がる感じ

2の時もそうだったけど
0103デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
3.5も割と
0104デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
ドカタなら3.5の方がインパクトあっただろうな
4はインフラばっかりだから
0105デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
4の方がインパクトというかもの凄く楽だよな
TaskにAsyncにRx2.0、ただ海外商用フレームワークのほとんどが3.5推奨というか、3.5と4.0〜で互換性がなくて3.5使わざるを得ないんだよね
0106デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
Task.Factory.StartNewのグダグダ感ときたら....

ってういか全然関係ないけど、WinRT用の.NETだと生のThreadクラスが使えなくなってて
なんだか嫌な感じ。
0107デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
俺も生が好き
0108デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
俺も生でバック(グラウンド)でよくやるわ
0109デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
品がない
0110デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
ないのは品だけじゃないですっ!
0111デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
何で中に入れるんだよ
外出ししろよ
0112デフォルトの名無しさん2013/07/20(土) NY:AN:NY.AN
ボキュの精神年齢は永遠に14歳でちゅ、まで読んだ。
0113デフォルトの名無しさん2013/07/22(月) NY:AN:NY.AN
おるちゅばんエビちゅ でちゅ
まんこでちゅ
0114デフォルトの名無しさん2013/07/22(月) NY:AN:NY.AN
3.5ならデフォでWin7動くのが大きい
0115デフォルトの名無しさん2013/07/22(月) NY:AN:NY.AN
今なら、クライアント系のOS(vista以降)ならWindowsUpdateで自動的に4が
インストールされてるから、それ程気にしないで良くなった。
0116デフォルトの名無しさん2013/07/22(月) NY:AN:NY.AN
自動アップデートなんて鬱陶しいもの速攻OFFが基本だと思いますが...

っていうか、最近のMSってもう世界中どこでもブロードバンドが普及してると
勘違いしてる気が。

そもそもアメリカだってブロードバンドが使えるのなんか東海岸と西海岸の大都市だけだろうに。
0117デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
限られた環境向けじゃないなら
自動OFFが基本なんてのを前提にするのはNG
だけど4が入ってるってのを前提にするのもNG
0118デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
net frameworkを別途入れてくれって言うと、
ものすごい嫌がられるか、めんどくさがられるか、仕事断られる

OSにデフォで入ってるってのはかなり重要
0119デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>114-118
まともな話をしてるように見えて精神年齢14歳の会話だなこれ
0120デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>119
あ゛?
耳に根性焼きすっぞ?
0121デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
気絶した
0122デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
119は無職なんだろ
0123デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
中二病には見えんな
0124デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
アメリカには笑った
0125デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
助けてください><

SQLServer2008(以上)でCLRを使用して
プロセス間通信を行いたいです。

通信をするためにWCFかリモーティングのIPCチャネルか
どちらかを使いたいのですが、SQLServerのアセンブリの参照に
追加する際に、Remotingとwebのdllが循環参照になってしまいます。
WCFかリモーティングを使いたい場合どのようにすれば使える
のでしょうか?

また、WCFやリモーティング以外でプロセス間通信をする方法(SQLServerで)
があれば教えてください。よろしくお願いいたします。
0126デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
SQLServerと言うサーバソフトと、当然そのクライアントがすでにあるのに
何を独自通信でやりとりする必要があるんだろ
01271252013/07/23(火) NY:AN:NY.AN
>>126
 理由としては、クライアントからの呼び出しでSQLServer以外に他プロセスに作業して欲しいからです。
 また、クライアントは様々な言語で作られており、ミドルウェアを作ることなく、簡単にサーバーに作業
 依頼をするにはSQLServerのCLが便利だからです。(もちろん、SQLServer自体にもアクセスするために
 内部接続を使い高速化も出来る理由もあります)
0128デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
循環参照て
0129デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
QuartzTypeLibを使って、静止画をwmv形式に出力させるにはどうしたらいいのですか?
Win7で32bitと64bitの両方で対応させようと思っています。
0130デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>129
色んな方法があるけど一番馬鹿っぽいけど作業量が少なく済むのは動画変換プログラムのソースを改造する方法
元動画のフレームを静止画に差し替えちゃえば終わり
0131デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>118
客からすれば、別途自分で入れるのは、尻込みして当然。
アプリのインストーラーで自動的にインストールされるようにしないの?
0132デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
まだまだ続くよー
0133デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
>>131
インストーラーを起動させるのにフレームワークが必要だったりして……
0134デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
>リモーティングのIPCチャネルか

ああ、8年ぐらい前にそんなのあったっけか
0135デフォルトの名無しさん2013/07/26(金) NY:AN:NY.AN
今、個人用のプラグインを作ってるんだが
アドオンでプロジェクト内にファイルを追加する方法がわからない。
MVCみたいなの作りたいんだよ
0136デフォルトの名無しさん2013/07/26(金) NY:AN:NY.AN
>>135
C#じゃやったことないがたぶんjavascriptでいける
デフォルトのアドオンのソースを参考
0137デフォルトの名無しさん2013/07/26(金) NY:AN:NY.AN
c#のwindowsサービスで質問です。
System.Net.FtpWebRequestにてFTP受信したいのですがタイムアウトになります。
windowsサービスでFTP受信する方法はないでしょうか?
0138デフォルトの名無しさん2013/07/26(金) NY:AN:NY.AN
>FtpWebRequestにてFTP受信したいのですがタイムアウトになります

それとサービスに何の関係が?
0139デフォルトの名無しさん2013/07/26(金) NY:AN:NY.AN
いろいろ情報が足りなさすぎるw
0140デフォルトの名無しさん2013/07/26(金) NY:AN:NY.AN
FTP受信 って何ですか?
0141デフォルトの名無しさん2013/07/26(金) NY:AN:NY.AN
本当にタイムアウトなのかチェック
FW系に邪魔されてないかチェック
localhost宛てでもタイムアウトするかチェック
0142デフォルトの名無しさん2013/07/26(金) NY:AN:NY.AN
別掲示板によるとファイアウォールの問題だったらしいよ
0143デフォルトの名無しさん2013/07/26(金) NY:AN:NY.AN
なんだ。マルチポストか。
0144デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
C#で作成したプログラムで
別プログラムから実行中のexeのデータメンバにアクセスすることは可能ですか?
別プログラムから実行中のexeの配列メンバの中身を参照したいです。
色々と調べてみたのですがやり方が見つかりませんでした。
知っている方いらっしゃれば教えていただけないでしょうか?
0145デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
リフレクション
0146デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
Marshal + 共有メモリ
0147デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
.net4.0でMemoryMappedFileが追加されたとどこかで読んだ気が。
使ったことないから詳細は知らんけど
0148デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
>>147
それと>>144がどう繋がるの?
0149デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
リモーティングでIPCすればいいんじゃね?
http://programmers.high-way.info/cs/ipc.html
0150デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
その実行中のexeのコードをいじれないのにデータにアクセス()したいと言ってるなら諦めろ。
0151デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
>>148
バカ?
プロセス上の任意のメモリを外から覗く方法を求めているのなら、そんなものはありませんけど
0152デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
WCF
0153デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
いまの人はICEとか使わないのか
0154デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
>>151
馬鹿はひっこんでろって
0155デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
>>151
ど素人やなあ
0156デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
ICEてw
組み込みでもICEなんて使わなくなってもう10年以上になる。
ちなみにそれにICEで覗けるのは物理メモリであってプロセス上の仮想メモリじゃないw
0157デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
>>144が曖昧だからいけない

2つのexeのどちらもソースコードいじれる状態なのか否か
そこが曖昧だからいきなりメモリ覗くとか任意のプロセスがどうのとか言い出す馬鹿が湧く

そもそもふらっとスレ向けの話題だ
0158デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
>>151
絶対の自信がある時しか人を煽らない
オレはそうしてるよ

ちなみに書き換えは想定してほしい
特にUIはフリーソフトで素人でも弄れちゃうからな
0159デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
?
0160デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
>>156
世間2位のカメラ屋で開発してるけどまだICEありますぜ
0161デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
>>160
それは慣例的にICEと呼んでるだけで本来のICEじゃない。
本来のICEはオンチップのデバッグ機能のことじゃないんだよ
0162デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
いやお前さんが言ってるのも分かるし、俺がつかってんのも紛れもなく本来の意味でのICEだよ
チップのエンジニアリングサンプルが上がったとき評価に使ってるからな
0163デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
だから本来のICEなんて前世紀で絶滅しましたって
何言ってるんだろうねえ..
0164デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
仮想メモリーもメモリーはメモリーだよな
変換テーブルがあるだけで
0165デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
自分が見たものしか信じない人が何を言ってるんだって話ですわ
メクラ
0166デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
>>160
どこの世間よ?
0167デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
また数日に渡ってスレと全く関係ない話を続ける気なんですかね。
○○だ。いやそうじゃないって。

>>144戻ってきてもう少し詳しく用件述べろや。
0168デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
アプリのインストール禁止の現場でオープンソースのCソースを持って来てコンパイルするのはマズイですか?
コンパイルしてもプログラムファイルディレクトリにはインストールはしないでドキュメントフォルダなどから起動します
0169デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
>>168
殺すぞ?
0170デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
>>169
どこからでもかかって来たまえ
私の10年鍛えたムエタイテクニックを披露してあげよう
0171デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
ソケット通信が良い
0172デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
144です。
質問内容があいまいだったようで申し訳ありません。
状況としては、両方ともソースコードは見れる状態ですが
データを保持してる側のソースコードを編集できない状態です
なので、データを参照するexeから何とか起動中の別exe(ソースコード編集付加)の
配列データを参照できないか調べています。
0173デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
>>170
素手ではかなわんよw
0174デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
サーバー側でGUIホストサーバー建てて
クライアントはHTML5でGUI仮想コンソール作ったらどうだろう?
昔Javaアプレットでそんなの作ってる人見たことある
なんか書いてたらそんなの作ったら売れるかな?って思い始めた
0175デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
それならシス管に怒られそうになっても返り討ちにできますね
なんだ、何の問題もないじゃないですか
0176デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
>>172
おれもわからんが回答無いみたいなんで

exeのバックグラウンドスレッドで情報公開するイメージかな

そのロジックをどう仕込むか?
exeを実行するexeを作り
(exe参照設定した上でMainを実行)
実行と同時にバックグラウンドスレッドで情報公開用サーバーを開始

ソースには手を付けないからこれでおk?
0177デフォルトの名無しさん2013/07/27(土) NY:AN:NY.AN
処理速度が必要ないならメモリダンプファイル書き出してそこから読み取る
0178デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
そのデータを保持してるEXEが、データを外部に提供するようになってなければ基本的に無理だろ
プログラム実行中のデータ勝手に盗み見るってつまりマルウェアそのものだぜ
0179デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
DLLインジェクションとかな
0180デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
現実解は>>117だな
ソフト/ハードICEとかDLLインジェクションとか実現性に欠ける
0181デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>176
わからないならすっこんでろよハゲ
0182デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
アプリのインスコは禁止でもExcelマクロはお咎めなし
なんだかなぁ
0183デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>178
デバッガとか使ったこともないのか?
0184デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
デバッガとか言ってる奴はすっこんでろよ
0185デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
基本的にって意味を理解できないのか?
0186デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>そのデータを保持してるEXEが、データを外部に提供するようになってなければ基本的に無理だろ
→基本的には無理。だけど(UIから読み取るなどの方法であれば)できることあるよ

>プログラム実行中のデータ勝手に盗み見るってつまりマルウェアそのものだぜ
この文には「基本的に」はかからないから、(メモリなどの)盗み見はマルウェアそのものってことになる

日本語使いたいなら日本語理解してからにしとけよ
0187デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>186
お前の主張が理解できんのだが
他人の日本語能力にケチつけたいだけか?
0188デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
昨日から暴れてる恥知らずの連中の1人でしょ。

っていうかさあ、マルチタスクOS(って言葉も死語に近いけど)のプロセスがどういうものかの
基礎知識もない奴が偉そうに人に食って掛かるんだから泣けてくるねまったく。
0189デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
ところでこれ何時CM入るんだ?
いいかげんトイレ行きたいんだが
0190デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
泣けばいいじゃん
そのまま死ねよ
0191デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>184
デバッガがあるんだから、そう言うことをする手段があることぐらい想像もできない奴は、とっとと立ち去った方が恥かかなくていいぞ
0192デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
出っ歯がなんだって?
いや、両方いい加減にしようぜ
0193デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
仲裁役気取りか?いい加減に消えてくれねえ?ウゼエんだよお前
0194デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
ワル気取りよりよっぽどましだが
0195デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
マシなだけなら存在価値はやはりマイナスなのでご退場あそばせ
0196デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
.net製のオブジェクトの状態を知りたい場合にデバッガがどう役に立つの?
0197デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>196
>>183
0198デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
どう役に立つのか聞いてんだよ低能
0199デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
低能に頭下げないと分からないようなド低能は脳髄豚に食わせて死ね
0200デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
分からないならレスしないでください。うざいだけです
0201デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>199
空気脳は引っ込んでろ
0202デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
空気未満の真空脳は寝込んどけ
目覚ますな
0203デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>196
CLRにはデバッグAPIというのがあって、それを使えば上で動いてるアプリの
変数やオブジェクトの状態などを取得したり変更したりできるんだよ
C++を使ってCLRをホストして使うんだけど、VSのデバッガはそれによって実装されてる
0204デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
この子供みたいな煽りあい・・・
0205デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>203
(´・∀・`)ヘー
0206デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
んじゃ、識者のみなさんは>>172に適切なレスをしてあげてくださいね。
0207デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>206
>>177

>>203
それはデバッガの実装法であって、デバッガのメリットじゃない
0208デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
デバッグAPIを使えば実行中のCLRのメモリを読み取れるって言ってんのに
デバッガのメリットじゃないってお前は一体何を言ってるのw
0209デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>202
未満w
頭悪すぎるだろ
0210デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
短芝
夏だな
0211デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
このスレは年中こんな感じだが?
0212デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
デバッガや、それようのAPIを使うことが妥当かどうかって話があるんだが
まあ、そのへんは元質問者のやりたい事がイマイチ分からんから何とも言えん
0213デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>198
デバッガ使ったことあればそんな質問はしない。
0214デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
「デバッガ」って単語は20年ぐらい前はよくきいたけど、今は全然使わないな
0215デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
デバッガばっか
0216デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
C♯100行未満の初心者です

DirectXで描画されるゲームから映像の取得
映像と同期のとれたオーディオの取得
H264エンコードできるDLLとその使い方

以上3点のサンプルページへ誘導願います
0217デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
ggrks
0218デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
ggrks
0219デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
1000行書いたらまたおいで
0220デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
>>216
> C♯100行未満の初心者です
既に心が汚い
0221デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
心が汚いからC#を使うんだよ
つまり君らは
0222デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
汚れちまつた 哀しみに
0223デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
>>216
DirectXで描画されるゲームから映像の取得 -> Alt+PrintScreen
映像と同期のとれたオーディオの取得    -> ラジカセ
H264エンコードできるDLLとその使い方  -> Encoder 2
0224デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
>>222
中原忠也か
0225デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
ポエマーきもっ
0226デフォルトの名無しさん2013/08/01(木) NY:AN:NY.AN
>>222
男塾かとオモタ
0227デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
exceptionかせthrowされたらcatchしてmessageboxをshowしてretryがreturnされたらもういちどtryをやりなおすには?
0228デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
while( true )
{
 try
 {
  Nanika();
  break;
 }
 catch( Exception ex )
 {
  if( DialogResult.Retry != MessageBox.Show(...) )
  {
   break;
  }
 }
}
0229デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
while( true )
{
 try
 {
  Nanika();
 }
 catch( Exception ex )
 {
  if( DialogResult.Retry == MessageBox.Show(...) )
  {
   continue;
  }
 }
 break;
}
0230デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
goto
0231デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
できた
0232デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
ぼくにも
0233デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
  Func<bool> job = () =>
  {
    try
    {
      // DoSomething();
      return true;
    }
    catch (Exception) {}
    return false;
  };
  while (!job() &&
    MessageBox.Show("hoge", "hoge", MessageBoxButtons.RetryCancel) == DialogResult.Retry) ;
0234デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
start:
 try
 {
  Nanika();
 }
 catch( Exception ex )
 {
  if( DialogResult.Retry == MessageBox.Show(...) )
  {
   goto start;
  }
 }
0235デフォルトの名無しさん2013/08/05(月) NY:AN:NY.AN
>>234
そういう場合は普通にぶら下がりで書いて
0236デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
c#で作ったクラスをcomで公開したいのだがうまく行かない
gacutilで登録する時に登録成功と出るのに/lオプションで確かめると登録したはずのものが出てこない
成功した言うたのに無いってなんでやねん
0237デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
その登録するところだけを残した状態のをどっかに晒してみるとか。
0238デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
・管理者権限(実行できてるならこれはないか)
・64bit/32bitの違い
・バージョン違い

ここらへんかいな
0239デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
form側をx86にしたからCOMもx86だけ登録すればいいだろ、と思ったら動かなくてはまったことあるな
0240デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
使うのはgacutilじゃなくてregasmなんだが
0241デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
だな
0242デフォルトの名無しさん2013/08/06(火) NY:AN:NY.AN
すまん
gacutil /l xxx.dll
でやってた
拡張子いらないのね…
0243デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
devexpressでテーブルに関連付けた小テーブルに対して
そのなかの1列にボタンを追加したんですが
ボタンの押下した際にその行の情報が取得できなくて困ってます
どうやって取得できるかどなたか教えて下さい。
0244デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
>>243
>devexpress
そんなもん使ってる奴いねーだろ
0245デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
リモーティングについて教えてください。

現在プロセス間通信でリモーティングのIPCチャネルをつかっているのですが、
クライアントからサーバーオブジェクトのメソッドを呼ばれるたびにハンドルが
増えていきます。何をしているのかと言うと、クライアントは「生きている」という
メソッドを指定間隔ごとに送るだけです。なにが原因でハンドルリークしているのでしょうか?
ちなみに250から開始して600程度までハンドルが上がると300まで落ちました。

public class RemoteTrance : MarshalByRefObject, ISendToken
{
internal event Action<bool> ReceivedTokenEvent;

public override object InitializeLifetimeService()
{
return null;
}

[OneWay]
public void SendToken(bool isAlive)
{
if (ReceivedTokenEvent != null)
{
ReceivedTokenEvent(isAlive);
}
}
}
0246デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
VS2008のC#でCEアプリを作ることになりました。
.Net Compact Framework 2.0ってのを使って開発するそうなんですが
どやって.Net Compact Framework 2.0のプロジェクト作ればいいのか
分らなくて困っています。
新規作成でWindowsフォームアプリ選んでもフレームワークの
選択のところには普通の.Net Framework 2.0、3.0、3.5しかなく作れません。

ネット調べてみたんですが、2008ではできるとは書いてあるんですが
具体的な作成方法はなく、通常のWindowsフォームアプリではなく、
Compactアプリを選んでプロジェクトを作成する様に書いているのもチラっと
見たんですが、新規作成をしてもそういったプロジェクトが選べません。(ありません)

情報お願いいたします。
0247デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
リークじゃなくてキャッシュしてくれてるだけじゃないの
0248デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
>>246
プロフェッショナル版を買わないと
0249デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
ggrks
.Net Compact Framework プロジェクト作成
0250デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
どうせSDKはいってねええええええんだろおおおおおお
0251デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
>>246
プロジェクト作るところに「スマートデバイス」って無い?
0252デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
もしかしたらこれかも?

[WM][Windows] スマートデバイスプロジェクトの作成に失敗するAdd Star
http://d.hatena.ne.jp/gust_notch/20090515/p3
02532462013/08/12(月) NY:AN:NY.AN
プロジェクト作成でスマートデバイスってのが無いので困ってました。
調べたところ当方のVS2008スタンダードエディションでした。
プロフェッショナル以上じゃないとそれが無いのですね。

いろいろググったつもりだったんですがググり方が下手でした。
すみません。
0254デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
一旦SJISエンコードされて文字化けた文字列を元のUTF8に戻す方法はないだろうか
具体的にはSevenZipSharpでMacZipを解凍したい
0255デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
SevenZipSharpは詳しくないけどファイル名のエンコーディング指定できないの?
DotNetZipだとAlternativeEncodingとかあるけど
0256デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
自動でUTF8からSJISにされたなら、手動でSJISからUTF8に変換すればいけそうなものだが?
0257デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
そもそもバケてるって言ってるから、実際どうなってんのか予測できないんだよな
0258デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
文字化けてるってのは2種類あるからな
まったくデタラメのデータに変わってるってのと、単にエンコードが違って表示化けしてるだけ
これは後者だろ?前者だったら無理
0259デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
>>255
色々ググってみたんだが7zで圧縮するときには直接オプションで指定できるものの
解凍時のエンコスイッチが7z.DLLにそもそもないっぽい

>>256
C#のstringとしてしかファイル名渡ってこないんで、UTF8->SJISで化けたものが
更に何らかの変換経てるらしくstringを一旦byte[]にして再変換かけてもより化けるだけだった
0260デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
>>259
その何らかの変換を特定しろよ。使われてるエンコードなんて何種類しかないんだから。
C#のstringはunicodeだからUTF8->SJIS->Unicode変換されてるのかな、そうならその逆をすればいいし。
02612542013/08/12(月) NY:AN:NY.AN
あ、何らかのとは言ったけどC#の内部表現確かUnicodeだよな
だからUTF8->SJIS->UCS-2と変換されてることになるのか
02622542013/08/12(月) NY:AN:NY.AN
今実験して惜しいところまでは行った ただ一部文字が化ける
確認できている化ける文字は'」'、'の'、'〜'
他は上手く行っているぽい
02632542013/08/12(月) NY:AN:NY.AN
あれこれ試してみたがこりゃダメっぽい
大人しくSevenZipSharp以外の方策考えてみる
レスくれた皆ありがとう
0264デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
」は0x300Dだからリターン0x0Dとして扱われてるんじゃない?
0265デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
〜はウェーブダッシュ問題だろねー
02662542013/08/12(月) NY:AN:NY.AN
最後の悪あがきで元のファイル名調べたらとんでもないこと発見
Unicode合成文字が平気であった(ちゃんと?文字化けしていた さっきは見逃してたぽい)
やはり再変換ではどうもならん模様
0267デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
そりゃそだぜ

そもそも写像先で元データの情報が保存されてたら
文字化け起こさないで変換できるってことになるからなぁ
shiftJisとUTF-8と、異なる文字コードが存在している意味がないもんな
0268デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
>>258
これ言い分けらんないのかな
0269デフォルトの名無しさん2013/08/12(月) NY:AN:NY.AN
>>245
サーバーアクティベーションを使ってるならその動作で正しいよ
この場合基本シングルコールモデルだから
リモートオブジェクトが状態をもったらいけない
0270デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
.NET 4.5 C# VS2012DEです
フォームのことです
ループさせるために自作コードから自作フォームのWndProc関数を呼び出したいのですが
肝心のウィンドウズメッセージをどうやって取得したらいいのかさっぱりわかりません
単純に調べて出て来ないのは代用出来る関数があるからというのはわかっています
どうしたらいいでしょうか
Win32api辺りを使わなければならないのでしょうか
0271デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
意味が分からん
自分でメッセージループ書いてるってこと?
ならGetMessageやらDispatchMessageやら色々Win32API使うが

もしかしてApplication.DoEventsじゃないだろうな
0272デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
>ループさせるために
ループは素直にループで書いて下さい。
0273デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
>>270
自分で作ったフォームを表示したいのか、例えばボタンダウンのようなメッセージ処理を入れたいのかさっぱりわからない
何をしたいのかはっきりさせてぐぐれ
0274デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
言葉が足りませんでしたすいやせん
Application.Run相当の処理を自作したいんです
0275デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
じゃあ>>271の前半だ
0276デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
わかりました
>>271を手かがりに組んでみます
0277デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
.NET1.1時代の
object返すコレクションとか邪魔なんだが

AyyayList単体とかなら使わなければ住む話だが
フォームの部品に〜Collectionてな感じで入り込んでるやつ
0278デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
>>277
何か勘違いしてるな
0279デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
その辺は全部型付きコレクションだろ
IEnumerableのことを言ってるのか
0280デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
IEnumerable<T>じゃないのでむかつくというのならハゲしく同意だが
0281デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
何のためにApplication.Run相当を作りたいんだろう。C++ならわかるけどC#で・・・
0282デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
Form.WndProcのoverrideで解決しそうな予感
0283デフォルトの名無しさん2013/08/14(水) NY:AN:NY.AN
>>281
何か勘違いしてるんでしょ。
彼が筋が悪い人なのは質問文にも表れてる。

なぜかダメな人は自分が思いついた手段に固執するんだよね。
それが不適切だったり自分の勘違いだったりする可能性は想定してないらしい。
手段じゃなく目的を言えと誘導してくれてる人もいたのに。
0284デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
んで、ダメな人に失敗の経験をさせることもなく本来の回答にも答えないと
このスレの意義ってなんだっけ
0285デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
回答者の自己顕示欲を満たす
質問者は(運が良ければ)回答を貰える
0286デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
質問がわからなきゃ答えようがない
0287デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
え、結局ウィンドウズメッセージどうやったら取得出来るの
→は?どういう組み方してんだよお前(聞かれてない)
→………とりあえずApplication.Run相当を作りたいんで(何故?)
→Win32api使え(正しい回答)
→既に終わったことに対し、その後に>>283が気取ってレス

組み方なんて人それぞれだろ
DoEventsじゃ駄目だったりするかもしれない
ただWndProcを直接呼び出して何するのかよくわからんが
0288デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
>>287
終わったことにぐだぐだ言うぐらいなら、サンプルソース作ってやれよ
0289デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
ゲームループの実装例が参考になるかもね
0290デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
>>289
実装例はよ
0291デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
検索ワードは
PeekMessage Application.Idle
辺りか
0292デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
Application.Run相当ということは、別スレッドで新しいメッセージループを開始したいということじゃないのか?

スレッド起こしてそっちでApplication.Runすればいいだけだが
0293デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
GCのせいでデストラクタがまともに機能しなくて
そのふざけた挙動に合わせるためにC++/CLIにまで
ファイナライザなるものを導入する羽目になって
0294デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
などと供述しており
0295デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
その前にデストラクタに頼らないコーディングにしろよ・・・
0296デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
C++CLIはもともとまともに使える代物ではないで
あくまでグルー言語
0297デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
C#でHttpWebRequest使って2chにPOSTで書き込むと
日本語が文字化けします
C#内のstringの文字コードはutf-8で統一されてるのかな?
HttpUtility.UrlEncode使ってURLエンコードしても文字化けします
何か対処法ありませんか
0298デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
stringは2バイトユニコード。自分で変換しないとだめ
0299デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
>>298
回答ありがとうございます
ということはutf-16ですか?
流れとしてはstringをbyte配列に変換してからshift-jisに変換して
最後にURLエンコードすればいいのでしょうか・・?
0300デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
>>299
2chがsjisならそんな流れ。URLエンコードはPOSTならいらないんじゃない?
0301デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
知ってる単語をただ並べるだけじゃなくて、よく考えろよw
0302デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
Hey! Hey!
0303デフォルトの名無しさん2013/08/15(木) NY:AN:NY.AN
>>300
できました!!ありがとうございます
おっしゃるとおりURLエンコードいりませんでした
0304デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
ラムダを使うとき、イベントハンドラ削除しないと
メモリ開放されないの?
0305デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
日本語でok
0306デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
http://ch.cri-mw.co.jp/hirase/55337.html
これ読んだ時、ラムダもデタッチ必要なのか疑問がわいた
0307デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
俺はデタッチしてるな。しなきゃいけないかは知らん
0308デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
イベント発行元のライフサイクルがイベントハンドラーより長い場合は必要。
Application.Idleのようなstaticイベントの場合がそうだな。
Button.Clickみたいのは寿命がコンテナのformといっしょだから不要。

あと弱参照イベントなるものもあるので調べてみるといいよ。
0309デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
src.Sink -= listener.src_Sink;を追加してメモリ量を見てみたが
メモリが増えてしまった
http://www.sourcepod.com/pktxbt52-19825

C#だと完全にメモリ解放は無理なのか
0310デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
完全に・メモリ・開放

頭痛がするからどっか消えてくんねえ?
0311デフォルトの名無しさん2013/08/17(土) NY:AN:NY.AN
イベントハンドラの削除はイベントの発行元が握ってる参照を外すだけで、
メモリを回収するわけではないからなぁ。
メモリ回収はあくまでもGCの仕事。
同じような勘違いにDisposeでメモリが減らないというのがあるな。
0312デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
rxの入門サイトよんで勉強してんだけど
いまいち利点というか、どういうとき使うのか分からん

具体的には、どんな時に使うと便利なの?
0313デフォルトの名無しさん2013/08/18(日) NY:AN:NY.AN
>>312
asyncによっていらない子になった
もともと関数型かぶれのための玩具みたいなもんで、
読みづらくなるから使わなくていいよ
0314デフォルトの名無しさん2013/08/19(月) NY:AN:NY.AN
複数のイベントを制御するのはasyncじゃやりづらくてRxが得意とするところだが
Rxは構文に無理がありすぎるのでちょっとな
本当に需要があるならそのうちC#に自然な形で取り込まれると思うよ
0315デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
asyncも勉強してみたけどイマイチ利点が分からん
TaskとContinueWithじゃダメなの?
0316デフォルトの名無しさん2013/08/20(火) NY:AN:NY.AN
>>315
ContinueWithでループ書いてみな
0317デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
yieldの利点がわからん
GetEnumeraterじゃダメなの?
と同レベルにはダメだな
0318デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
要領が悪いというかなんと言うか
0319デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
新技術はリリースされないうちは追いかけないことに決めた
0320デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
俺は普及するまで使わない
0321デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
string.format("{0:##-##}", 1234)→12-34 OK
string.format("{0:##-##}", "abcd")→abcd NG

なんでやねん
数値だけって不便すぎだろ
0322デフォルトの名無しさん2013/08/21(水) NY:AN:NY.AN
はぁ
0323デフォルトの名無しさん2013/08/26(月) NY:AN:NY.AN
え
0324デフォルトの名無しさん2013/08/26(月) NY:AN:NY.AN
マジで出来ないのか
0325デフォルトの名無しさん2013/08/26(月) NY:AN:NY.AN
そういやVB6やVBAには Format("abcd", "@@-@@")って書き方があったけど
Microsoft.VisualBasicのFormatでもサポートしてないな。
余分で不要な機能とされたんじゃね?
0326デフォルトの名無しさん2013/08/26(月) NY:AN:NY.AN
正規表現でグループ化&検証してから再フォーマットしろってことだ
0327デフォルトの名無しさん2013/08/26(月) NY:AN:NY.AN
string.Format("{1}{2}-{3}{4}", "abcd".ToCharArray())
0328デフォルトの名無しさん2013/08/26(月) NY:AN:NY.AN
それは思いつかなかったw
0329デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
参考にさせてもらいます
0330デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
ちょっと変な質問があります。

あるクラスのあるメソッドを、文章で示すとき、Javaだと、
List#add();
のように クラス名#メソッド名 で書く習慣があります。

C# だとどうするのが一般的なのでしょうか?
0331デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
List.add();   static好きな人
List::add();   Cから来た人
0332デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
MSDNはList.add()
0333デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
Javaがあんなんなのは、javadocとかの制限のせいだっけ?
0334デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
>>332これだな
Javaなんかどうでもいいよ
Docと言えば、XMLDocumentの<code />を作るためにサンプルコードに///を簡単に入れる方法ってない?
ただのコメントアウトだったらCtrl+K+Cでできるけど///の方法がわからん
0335デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
>>333
UMLじゃね?
0336デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
>>334
スニペットならとおもったけど毎行処理の方法が分からなかった。
0337デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
ReSharperとかにありそうだが
Alt+ドラッグで行頭選択して挿入で行こう
03383302013/08/27(火) NY:AN:NY.AN
みなさんレスありがとうございます。
>>332 をよくみるので、 List.add() で行くことにします。
0339デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
HttpClientで同時接続数を制限したいのだけどうまい方法無いかな
出来れば↓みたいな感じでTaskは返すけどまだリクエストはまだしないようにしたい
public static Task<HttpResponseMessage> addRequest(...)
0340デフォルトの名無しさん2013/08/27(火) NY:AN:NY.AN
TaskCompletionSourceでごりごり実装
0341デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
ありがとう、まさにそのクラスが必要でした
0342デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
質問があります
delegate void testfunction(int b)
に function(int a, int b)
みたいな関数を渡すときに、先にaだけ渡しておいて
コールバック先からbだけもらうみたいなやり方ってできますか?
0343デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
そりゃできるけど
new testfunction(b => function(3, b));
0344デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
マイフレーム呼ぶ Update() 関数の最初の一回だけ Update() ではなく UpdateInit() を呼び台のですが、
IsUpdateCalledみたいな追加のメンバー変数などを追加できません
クラスの外からメソッドが呼ばれたかどうか、もしくは一回だけメソッドを横取りするような処理はどう書けばいいでしょうか
0345デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
変数、関数追加せずに判別したいっていうなら、
馬鹿っぽいけどファイルやレジストリに値書き込んでチェックしたら?
03463442013/08/28(水) NY:AN:NY.AN
>>345
余計アホ臭いのでNG
0347デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
C#には関数内static変数がないので不可能ですと言っておけ
0348デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
ソースが見れればほかの方法も見つかるかもしれないが、これだけの情報じゃ>>345だろw
0349デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
マイフレームというのがそもそも俺用語っぽいしな
0350デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
ヨーガフレイムなら知ってるけどマイフレームなんて知りません。
0351デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
5秒ぐらい悩んだが毎フレームか
0352デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
なるほど。よくわかったな
0353デフォルトの名無しさん2013/08/28(水) NY:AN:NY.AN
どっちにしろ、呼ぶ側でデリゲートでも使って挿げ替える方が簡単じゃないのかなと
0354デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
SemaphoreSlimがシグナル状態になったときに
コールバック関数を呼ぶにはどのように書けば良いですか?
0355デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
4.5ならWaitAsyncにContinueWith
4なら中でWaitするTask作ってContinueWithとか
それ以前ならThreadPool.RegisterWaitForSingleObjectとか
0356デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
待たせておいてシグナルになったらコールバック呼べばいい
ttp://msdn.microsoft.com/en-us/library/system.threading.semaphoreslim.aspx
0357デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
>>355、356
WaitAsyncというのがあったのに気が付きませんでした。
Taskを使うのは初めてですが、やってみます。

SemaphoreSlim.AvailableWaitHandleを使うと、
シグナル状態にはなるが、カウントダウンしないとのことで
ThreadPool.RegisterWaitForSingleObjectに渡したときに
Waitと同じようにカウントダウンさせるにはどのように書けば良いですか?
0358デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
WaitOrTimerCallbackの中で改めてWait
…面倒な上にWaitに失敗する可能性があるのか ナシだな
0359デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
CancellationToken.IsCancellationRequestedを参照してスレッドをキャンセルする場合
Task.IsCanceledをTrueの状態で終わらせるにはどうしたらいいですか?
TaskのキャンセルにThrowIfCancellationRequested();は必須なのでしょうか?

var source = new CancellationTokenSource();
var token = source.Token;
Task t1 = Task.Factory.StartNew(() =>
{
    Thread.Sleep(500);
    source.Cancel(false);
});
Task t2 = Task.Factory.StartNew(() =>
{
    try
    {
        //token.ThrowIfCancellationRequested();
        if (token.IsCancellationRequested)
        {
            break;
        }
        Thread.Sleep(100);
    }
}, token);
Console.WriteLine(t2.IsCanceled);
// IsCancellationRequested 版だとRanToCompletion
// ThrowIfCancellationRequested() 版だとCanceled
0360デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
Task.IsCanceledの解説読めよ
0361デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
あそこ分かりにくいよな
なんで例外投げなきゃいけないのかとか
0362デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
Cancelが呼び出されたがキャンセルする前に正常終了するケースがあるから仕方ない
0363デフォルトの名無しさん2013/09/01(日) 15:22:15.32
XMLパーサーって性能いいんだな
DataConstractSerializerのパースが独自のテキストフォーマットの1.5倍程度の遅延で済んでるわ
0364デフォルトの名無しさん2013/09/01(日) 15:25:40.16
XML遅い遅い教が火病起こすのでその話は中止!中止です!
0365デフォルトの名無しさん2013/09/01(日) 15:27:42.68
1.5倍が早いか遅いかはしらんが
それはXMLパーサが性能いいんじゃなくて、お前の独自テキストフォーマットの処理が遅いんじゃまいか
0366デフォルトの名無しさん2013/09/01(日) 15:53:29.61
行ベースの偽iniファイル風味のフォーマットだから遅くなりようがない
DataContractAttributeを使うことの生産性を見たかったがこれなら任せても良いレベル
ちなみにJSONはファイルサイズは独自フォーマットに迫るが
パースが遅いから通信コストを考慮しないケースだと無しだった
0367デフォルトの名無しさん2013/09/01(日) 15:56:36.36
あーこれは遅いini読み込みだ
0368デフォルトの名無しさん2013/09/01(日) 15:58:31.63
くだらん煽りだ
0369デフォルトの名無しさん2013/09/01(日) 16:02:32.59
だから中止しろと言ってるだろマヌケが
0370デフォルトの名無しさん2013/09/02(月) 19:42:54.75
あ
0371デフォルトの名無しさん2013/09/03(火) 20:20:28.43
C#の寿命は後何年ぐらいだと思いますか?
どうせまたCOMみたいになるんでしょう?
0372デフォルトの名無しさん2013/09/03(火) 20:26:17.91
COMみたいということは当分は現役だと言うことだな 息の長いことだ
0373デフォルトの名無しさん2013/09/03(火) 20:35:55.45
ずっと安泰だな
0374デフォルトの名無しさん2013/09/03(火) 20:36:05.03
COMが終わる気配が無い
0375デフォルトの名無しさん2013/09/04(水) 01:30:51.82
教えて下さい
.net3.5がインストールされていないと中断する処理を追加したいと思います
その場合、.netがインストールされていないとその判定部分のすら動かないと思うのですが、どのようにプログラムを組めばよいでしょうか。
よろしくお願いします
0376デフォルトの名無しさん2013/09/04(水) 01:34:11.24
ネイティブで書いたりwshで書いたりすれば?
0377デフォルトの名無しさん2013/09/04(水) 02:57:00.97
MSI作ればいいじゃない
0378デフォルトの名無しさん2013/09/04(水) 03:48:22.30
マウスイベントを自アプリのウインドウの後ろにある別アプリに透過させるにはどうすればいいですか?
0379デフォルトの名無しさん2013/09/04(水) 07:06:26.08
自分の後ろにあるウィンドウを取得して拾ったイベントを
そのまま投げればいい
0380デフォルトの名無しさん2013/09/04(水) 07:29:34.61
いやそもそも拾わなければいい
0381デフォルトの名無しさん2013/09/04(水) 08:42:17.44
まるでトンチだな
0382デフォルトの名無しさん2013/09/04(水) 12:01:00.03
透明ウインドウだろ?気にしなくても透過
0383デフォルトの名無しさん2013/09/04(水) 12:44:06.67
テキストアドベンチャーを作ってみたく、
目パチアニメーションのために
EyeMというImageのコンテナを作って、下のようなコードを書いたのですが

EyeM.Source = new BitmapImage(new Uri(AppDir + @"\CG\1.png"));
System.Threading.Thread.Sleep(500);
EyeM.Source = new BitmapImage(new Uri(AppDir + @"\CG\2.png"));
System.Threading.Thread.Sleep(500);
EyeM.Source = new BitmapImage(new Uri(AppDir + @"\CG\3.png"));
System.Threading.Thread.Sleep(500);

1.pngと3.pngしか表示されません
なぜ2.pngが表示されないのでしょうか?

おそらく簡単な理由なのでしょうが、
ググっても目パチアニメーションのサンプルが見当たらず

識者の方、よろしくお願いします
0384デフォルトの名無しさん2013/09/04(水) 12:45:57.16
systen.timer使え
sleep使うならスレッド立てろ
0385デフォルトの名無しさん2013/09/04(水) 12:48:15.42
>>378
非矩形の話かどうかはっきりしる
0386デフォルトの名無しさん2013/09/04(水) 12:52:25.51
画質とかにこだわらなければ動画gifで逃げるという手もw
0387デフォルトの名無しさん2013/09/04(水) 12:54:55.58
refreshしないからだ
0388デフォルトの名無しさん2013/09/04(水) 13:01:35.78
WPFみたいだから明示的にRefreshすることはないな
アニメーション使って切り替えるのが本来的なやり方
.NET4.5とかVS2012とかでその辺のベストプラクティスが変わってるかどうかは知らんが
0389デフォルトの名無しさん2013/09/04(水) 14:05:40.83
Storyboardだな
0390デフォルトの名無しさん2013/09/04(水) 19:51:11.11
C#でVB.NETみたいにWithEventsで宣言、メソッドにHandles追加みたいなの出来ない?
コード中でイベントハンドラ追加していくのなんか嫌なんですぅ。
0391デフォルトの名無しさん2013/09/04(水) 19:53:45.73
>>390
C#にその仕組はない。
でもインテリセンスでスタブが自動で作成されるからVBとほとんど同じ感覚で
コーディングできると思うけど
0392デフォルトの名無しさん2013/09/04(水) 19:58:13.69
開発環境は既に言語の一部であるという説、あるある
0393デフォルトの名無しさん2013/09/04(水) 20:18:26.36
むしろvb.netのアレ
ハンドラの追加がどのタイミングで行われるのかパッと見で分からないから
個人的にすごく気持ち悪い
03943932013/09/04(水) 20:20:17.40
あ、待って
今なんかすごい勘違いしたレスをした気がする
ごめん>>393は忘れて
0395デフォルトの名無しさん2013/09/04(水) 20:39:11.85
.netのイベントの実態(デリゲート)を隠すvb.netのやり方は池沼向け
0396デフォルトの名無しさん2013/09/04(水) 20:50:24.80
C#だって通常はイベント用のデリゲートのバッキングフィールドは隠蔽されてるわけで
そこはあまり違わないと思うけどね。

C#はイベントを内部からはデリゲートに見せかけるアプローチを取ってるけど、
VBは旧VBからの流れでイベントはあくまでイベントという扱いになってるという違い
0397デフォルトの名無しさん2013/09/04(水) 20:54:21.37
VBは嫌いだが、VBのアレは宣言的でいいと思う
C#のイベントとデリゲートの関係は>>396が指摘してる変な構文糖衣のせいで非常にわかりにくい
0398デフォルトの名無しさん2013/09/04(水) 21:15:23.81
float s1 = 1.23f;
double d = s1;
float s2 = (float)d;

こういうことをした場合、s1とs2は1ビットも違わず同じ値になることは保証されますか?
0399デフォルトの名無しさん2013/09/04(水) 21:47:13.84
いいえ
0400デフォルトの名無しさん2013/09/04(水) 22:46:45.01
>>398
doubleもfloatも基数2の指数表現だから原理的にはfloat→double→floatで
情報が失われることはないはずだと思うんだけどね。
0401デフォルトの名無しさん2013/09/04(水) 22:50:04.69
実際に試してみて一個でも反例を見つければ>>400は撃破できる
0402デフォルトの名無しさん2013/09/04(水) 22:52:56.22
で見つかったのかよ。
0403デフォルトの名無しさん2013/09/04(水) 22:56:02.73
うへえ、CygwinのAPIってcdeclかよ
HGlobal使わないとまたAccessViolation出るな
0404デフォルトの名無しさん2013/09/04(水) 22:57:18.57
intを1ずつ増やしていってポインタ使ってfloatにキャストして…を2^32回試すだけだから
そんなに時間かからなそうだな
0405デフォルトの名無しさん2013/09/04(水) 22:58:08.99
それじゃ整数値しかわからないじゃん
0406デフォルトの名無しさん2013/09/04(水) 22:59:58.13
>>405
だからポインタ使ってfloatにキャストするって言ってるでしょ
ビット列をそのままfloatと読み替えるの
0407デフォルトの名無しさん2013/09/04(水) 23:00:38.36
>>399
同じじゃないの?
・floatとdoubleはIEEE 754に従う(4.1.6)
・float→doubleはロスなし(6.1.2)
・double→floatは最も近いfloat値に丸められる(6.2.1)
この言語仕様で、同じ値にならないケースが思いつかない
0408デフォルトの名無しさん2013/09/04(水) 23:07:48.51
[StructLayout(LayoutKind.Sequential)] struct I4R4 {
[FieldOffset(0)] public int I4; [FieldOffset(0)] public float R4; }
ビット列を読み替えるのはポインタを使う以外にも
確かこういう構造体(というか共用体)を使ってもいけたはず
0409デフォルトの名無しさん2013/09/04(水) 23:08:43.28
>>408
訂正 LayoutKind.Explicitの間違い
0410デフォルトの名無しさん2013/09/04(水) 23:09:52.07
BitConverterなんてのもあるよ
0411デフォルトの名無しさん2013/09/04(水) 23:21:48.15
もしかしたらマイナスゼロとか無限大、非正規化数あたりに何か潜んでいるかも
0412デフォルトの名無しさん2013/09/05(木) 05:13:41.17
>>407 循環小数
0413デフォルトの名無しさん2013/09/05(木) 05:41:32.26
なんかいっぱい有ったわ
2^32個中8388606個
合ってる?
0414デフォルトの名無しさん2013/09/05(木) 06:19:30.26
>>413
多分NaN同士の比較を考慮してないだけだ
0415デフォルトの名無しさん2013/09/05(木) 06:34:25.01
C++で同じ事やったらint全部通った
0416デフォルトの名無しさん2013/09/05(木) 07:03:34.47
>>413
個数要らんから、おかしい奴のビットパターン (s1, d, s2) 出してくれよ...
0417デフォルトの名無しさん2013/09/05(木) 07:06:14.25
試した
NaNの範囲内ではビットレベルで変化することがある
01111111100000000000000000000001
が
01111111110000000000000000000001
になったり
0418デフォルトの名無しさん2013/09/05(木) 07:16:35.31
じゃあ俺も一つ
11111111101111111111111111111111
が
11111111111111111111111111111111
になったり
0419デフォルトの名無しさん2013/09/05(木) 07:27:15.74
.NETは精度を維持するという目的ならdecimal使えってなってるんじゃなかったか
0420デフォルトの名無しさん2013/09/05(木) 07:55:18.79
>>419
それは土方にとっての10進数の精度な
decimalは表現できる範囲が狭い
0421デフォルトの名無しさん2013/09/05(木) 08:08:16.41
decimalってクソ遅いよ
誤差や有効数字を理解していないドカタのための機能
0422デフォルトの名無しさん2013/09/05(木) 08:24:06.09
>>421
そのドカタ以下の知識で語ってるのがバレてますよ。
0423デフォルトの名無しさん2013/09/05(木) 08:25:25.28
誤差や有効数字を理解しているから
decimalを使うんじゃないの?

まぁ今回のケースはdecimal関係ないから
どうでもいいけど
0424デフォルトの名無しさん2013/09/05(木) 08:47:53.04
一般人にとっての精度というのは
せいぜい電卓と同じ結果という程度だからいいんでない

ただ電卓とも微妙に違うんだよな

decimal num, rate, ans;
num = 3600000M;
rate = 0.3777777777777777777777777777M;
ans = num * rate;
Console.WriteLine(ans);

num = 3600000M;
rate = 0.37777777777777777777777777777M;
ans = num * rate;
Console.WriteLine(ans);

結果
1359999.9999999999999999999997
1360000.0000000000000000000001
0425デフォルトの名無しさん2013/09/05(木) 12:21:54.01
そんな細かい事を気にするなハゲるぞ
0426デフォルトの名無しさん2013/09/05(木) 16:07:03.12
これは剃ってんの!
0427デフォルトの名無しさん2013/09/05(木) 16:54:44.14
小数点は使用禁止にしようぜ
0428デフォルトの名無しさん2013/09/05(木) 17:01:19.16
まじでそう思う。小数点発見したやつは万死に値する
0429デフォルトの名無しさん2013/09/05(木) 17:06:03.62
小数点無かったら、何割何分何厘とかの表記になるんか
0430デフォルトの名無しさん2013/09/05(木) 17:36:06.54
円周率は3でいいな
0431デフォルトの名無しさん2013/09/05(木) 17:36:41.40
>>424
有効桁数超えてるから仕方ない
0432デフォルトの名無しさん2013/09/05(木) 19:33:52.32
万死もなにも発見したやつは、もう死んでるだろう。
0433デフォルトの名無しさん2013/09/05(木) 23:35:50.02
固定小数点でおk
0434デフォルトの名無しさん2013/09/06(金) 01:01:29.96
>>432
だから、あと 9999回市ねっつーことだろ
0435デフォルトの名無しさん2013/09/06(金) 11:23:51.25
1つのパンを3人に分けなくてはならないときは
あとパンが2つ手に入るまで待てばよい。
0436デフォルトの名無しさん2013/09/06(金) 11:52:59.04
飢え意図
0437デフォルトの名無しさん2013/09/06(金) 20:36:20.23
一方ロシアでは分数を使った
0438デフォルトの名無しさん2013/09/06(金) 21:42:01.22
無理数どうするんだよ
0439デフォルトの名無しさん2013/09/06(金) 21:42:52.52
分数ならいけるな
0440デフォルトの名無しさん2013/09/07(土) 18:23:03.54
>>339見てちょっと試してみたんだけど
HttpClientって、ServicePoint.ConnectionLimitを無視してね?
0441デフォルトの名無しさん2013/09/07(土) 20:43:28.61
HttpClientとServicePointは何か関係があるのか?
0442デフォルトの名無しさん2013/09/07(土) 23:14:32.67
>>441
msdn.microsoft.com/en-us/library/system.net.http.httpclient(v=vs.110).aspx
ドキュメントによると、HttpClientはデフォルトではHttpWebRequestを使う、ってある
で、HttpWebRequestは、ソケット通信にはServicePointの設定を使うはず
実際、同じくHttpWebRequestを使うWebClientでは、ServicePoint.ConnectionLimitの値が
(各ホストに対する)最大同時接続数として機能してた
だから、HttpClientでも当然そうだと思ってたんだけど
04434422013/09/08(日) 00:36:40.97
すまん、解決した

ServicePointはHttpClientのインスタンス毎に管理されてるっぽい
同じインスタンスを使いまわしたら、同時接続数が
ちゃんとConnectionLimitの値に制限されることを確認した
0444デフォルトの名無しさん2013/09/08(日) 01:00:08.93
非同期で走らせたいときはtaskで同期HttpClient呼んだら
非同期なのかなぁ
0445名無しでいいとも!@放送中は実況板で2013/09/09(月) 00:27:58.56
チェックボックスをONにしたら自作クラスのインスタンス生成、
OFFしたら明示的に解放したい

Dispose()で解放すればいいっていうとこまでは分かったのだが
どこ調べてもDispose()をオーバーライドしてマネージメント/
アンマネージメントリソースの開放を行うとしか書いておらず
具体的にそのリソース解放処理のコードが書かれていない
どう書けばいいのですか?
0446デフォルトの名無しさん2013/09/09(月) 00:29:54.88
>>445
>Dispose()で解放
いいえ、違います
0447デフォルトの名無しさん2013/09/09(月) 00:38:01.92
メモリの開放はあくまでもGC
0448名無しでいいとも!@放送中は実況板で2013/09/09(月) 00:43:54.84
では明示的に開放したい場合はどうしたら?
0449デフォルトの名無しさん2013/09/09(月) 00:45:22.66
>>445
ガベージコレクションしってっか?
解放可能な状態にしとけばそいつが自動で解放するから。
解放可能な状態にするとはthis.hoge=nullでインスタンスへの参照を全てクリアする事。
0450デフォルトの名無しさん2013/09/09(月) 00:48:53.97
>>448
オブジェクトが参照されないようにして
System.GC.Collect()
0451名無しでいいとも!@放送中は実況板で2013/09/09(月) 00:48:54.46
そのガベージコレクションとやらが信用できないので明示的に開放したいのだが
null設定したタイミングでGCが解放してくれるのですか?
0452デフォルトの名無しさん2013/09/09(月) 00:50:57.02
そういう事なら>>450だけど普通やらないよ?
0453デフォルトの名無しさん2013/09/09(月) 00:53:51.53
Cでいうところのnew/deleteのdeleteに相当するものはないのがC#
0454デフォルトの名無しさん2013/09/09(月) 01:00:50.97
言語組み込みのGCを怪しむくらいかつかつにメモリを使うなら、
GCのない言語で自分でメモリ管理した方がいいんじゃね

無料のGCライブラリだってあるんだから、普段はそれ使って、
自分で管理したいとこだけmalloc/freeするとか
0455名無しでいいとも!@放送中は実況板で2013/09/09(月) 01:09:49.83
なんかモヤモヤしたのが残ってるけどありがとうございました
0456デフォルトの名無しさん2013/09/09(月) 01:31:12.73
モヤモヤが残ってるのは、たぶん解放っていう処理の具体的なイメージを理解せずに
VBer的に漠然と解放って言ってるからだと思うよ。
0457デフォルトの名無しさん2013/09/09(月) 01:34:16.10
VB6は参照カウンターによって
a=Nothing
で明示的に解放できたわけだが
0458デフォルトの名無しさん2013/09/09(月) 01:58:01.21
>>457
実際にそれで解放できるの?
0459デフォルトの名無しさん2013/09/09(月) 03:04:30.63
GCなんて洒落たものを積んでなければ
そこで解放するしかなかンべ
0460デフォルトの名無しさん2013/09/09(月) 10:45:47.06
VBでNothingの解放使ってたのは、
昔のVBAで一部のライブラリにバグがせいじゃなかったか
0461デフォルトの名無しさん2013/09/09(月) 11:04:48.64
COMオブジェクトの事なら明示的な解放になると思う
0462デフォルトの名無しさん2013/09/09(月) 12:17:51.59
classじゃなくてstructで作れよ
解放時に自前で全部初期化して
0463デフォルトの名無しさん2013/09/09(月) 12:51:45.58
フォームにファイルをドラッグして任意の処理をさせる為のシンプルなフレームワークを作ってみたんだけど、
何かリスクのある所はありませんか?(続く)

// 【嫌儲民用ファイル一括処理処理フレームワーク】
using System;using System.IO;using System.Windows.Forms;
partial class Form1{
private void kenmomen( string[] filenames ){
// ♪♪コピペゾーン♪♪
}
protected override void Dispose( bool disposing ){
base.Dispose( disposing );}
private void de( object sender, DragEventArgs e ){
if( e.Data.GetDataPresent( DataFormats.FileDrop ) )
e.Effect = DragDropEffects.Copy;
else e.Effect = DragDropEffects.None;}
private void dd( object sender, DragEventArgs e ){
string[] fns = (string[])e.Data.GetData( DataFormats.FileDrop, false );
if( fns.Length > 0 ) kenmomen( fns );}}
static class Program{
[STAThread]
static void Main(){
Application.EnableVisualStyles();Application.Run( new Form1() );}}
public partial class Form1 : Form{
public Form1(){
this.AllowDrop = true;this.DragDrop += new DragEventHandler( dd );
this.DragEnter += new DragEventHandler( de );}}
0464デフォルトの名無しさん2013/09/09(月) 12:53:15.67
ドラッグドロップされたらkenmomen( string[] )にファイル名の配列を渡して
// ♪♪コピペゾーン♪♪にコピペした動作をさせるフォームです。

運用としては、下記のようなコードを// ♪♪コピペゾーン♪♪のところにコピペしてもらい、kenmo.csのファイル名で保存、
コマンドプロンプトから"csc.exe kenmo.cs"を実行してexeにして使ってもらう。
みたいに考えています。

// D&Dされたファイル名をそのフォルダのkenmomentest.txtに出力する
// kenmomentest.txtは上書きされるので注意
string path = Path.GetDirectoryName( filenames[0] );
string ofn = path + @"\kenmomentest.txt";
if( filenames.Length > 0 && Directory.Exists( path ) )
{
using( StreamWriter w = new StreamWriter( ofn, false, System.Text.Encoding.GetEncoding( "Shift-Jis" ) ) )
{
foreach( string s in filenames )
w.Write( s + System.Environment.NewLine );
}
}
0465デフォルトの名無しさん2013/09/09(月) 12:58:24.78
こういう貼り方すると読みにくくてまったく見る気がしないから知らん
一つ挙げるならファイル名がshiftjisにない文字使ってたら出力テキストが化ける
0466デフォルトの名無しさん2013/09/09(月) 13:07:21.12
>>465
ファイル名かありがとう!

> こういう貼り方すると読みにくくてまったく見る気がしないから知らん
みんなVSの自動整形使ってるかと思ってたから変に手を入れなかったけど
次から整形して貼ります。
0467デフォルトの名無しさん2013/09/09(月) 13:13:48.01
>>466
コード載せる場合は>>4参照
0468デフォルトの名無しさん2013/09/09(月) 13:24:14.81
>>465
これは>>464のStreamWriterの引数encodingがS-JISだからだと理解しました。
間違っていたらすみませんが、再度ご指摘お願いします。

>>467
はい。

>>463はもちろん沢山の人に見て欲しいんだけど、整形して貼りなおすと却ってウザいよね?
0469デフォルトの名無しさん2013/09/09(月) 14:31:13.47
>>468
�@ddでkenmomenのエラーハンドリングは不要?(一応、kenmomen.exeは動作を停止しました。は出るけど。)
�AFile.WriteAllLines(path, filenames, Encoding.UTF8);を使うと楽。
�Bメンテナンス性が低い。
 フレームワークとユーザーコードが分離されない為、バージョンアップが面倒。

普通ならこのフォームをDLLにして配布&kenmomenをオーバーライドさせるけど、
cscって事はVisualStudio持ってない人も対象にするの?
だったらコペペゾーンをexe,bat,vbs等、コピペ時のコマンドとして指定させる方が良いかな。
0470デフォルトの名無しさん2013/09/09(月) 15:35:47.56
GetData()ってnull返すことあったような気がするんだがどうだっけ
つうかそれとは関係なしにこうゆうのこそdelegateの出番だと思うのだが
0471デフォルトの名無しさん2013/09/09(月) 15:55:57.55
>>469,470
ありがとうございます。
ddメソッドでエラーが出るなんて想像もしていませんでした。
GetDataはnullを返すのでddが落ちる可能性がありました。

MSDN引いてもDragEventArgs.Data.GetData( string, bool )が例外をスローするのと、
DragEventArgs.DataがIDataObject Interfaceを持っていることしか見つけられませんでした。
deの最中にファイルを削除やネットワークの切断、親フォルダの権限で削除以外拒否拒否する程度では
例外発生しなかったのでとりあえず全部の例外握りつぶすしか思いつかなかった的な実装です。

&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;dd(&nbsp;object&nbsp;sender,&nbsp;DragEventArgs&nbsp;e&nbsp;){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string[]&nbsp;fns&nbsp;=&nbsp;(string[])e.Data.GetData(&nbsp;DataFormats.FileDrop,&nbsp;false&nbsp;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;fns&nbsp;!=&nbsp;null&nbsp;&amp;&amp;&nbsp;fns.Length&nbsp;&gt;&nbsp;0&nbsp;)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kenmomen(&nbsp;fns&nbsp;);}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(&nbsp;Exception&nbsp;){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}}

行数減らす為に中括弧の置き方など気持ち悪いのはお許し下さい。
0472デフォルトの名無しさん2013/09/09(月) 15:58:55.24
さらに読みにくくなってワロタ
04734712013/09/09(月) 16:00:58.89
コピペに失敗しました。
スレの皆さんすみません、後ほど落ち着いて再投稿します。

>>469
> �@ddでkenmomenのエラーハンドリングは不要?(一応、kenmomen.exeは動作を停止しました。は出るけど。)
場数をこなしている方と入門者の差がよく分かりました。

> �AFile.WriteAllLines(path, filenames, Encoding.UTF8);を使うと楽。
一行で書けるんですね。覚えました。

> �Bメンテナンス性が低い。
> cscって事はVisualStudio持ってない人も対象にするの?
そうです。
アップローダー等を使わずにテキストベースでアプリを配布する方法として考えました。
> だったらコペペゾーンをexe,bat,vbs等、コピペ時のコマンドとして指定させる方が良いかな。
プログラム内からコマンドを実行させるという意味ですね。
その方が分かりやすいかもしれませんので、ちょっと試してみます。
04744632013/09/09(月) 16:23:20.74
>>463の質問ですが、デリゲートを使っても20行程度に収まるようなら
大幅書き換えする可能性がありますので一旦質問を取り下げさせて下さい。

>>470
delegateを使えばテキストファイルにC#の命令を書いて実行させられるような気がしてきました。

>>472
すみません。
私もモニターの前で倒れそうになりました。
0475デフォルトの名無しさん2013/09/09(月) 16:32:55.70
テキストファイルをプラグインぽく使う場合はダイナミックなアセンブリがどうのこうのでかなりめんどかった記憶
C#4.0からはなんかその辺楽になる機構新設された気がするが気の所為かもしれない
0476デフォルトの名無しさん2013/09/09(月) 16:35:59.92
>>474
テキストじゃデリゲート無理だね。
メモ帳でコーディング難しいだろって思ったんだけどコピペゾーンはこっちから提供するの?
0477デフォルトの名無しさん2013/09/09(月) 16:40:00.07
>>475
テキストをアセンブリとして扱う方法kwsk
4.0で〜はMEFの事かな?
0478デフォルトの名無しさん2013/09/09(月) 16:54:08.63
CDandDFile dd = new CDandDFile();
dd.wndDDArea = this;
dd.DD += (sender, e) =>
{
 foreach(string strFile in e.liststrFiles)
 {
  if(IsPictureFile(strFile)
  {
   picturebox.Image = LoadImage(strFile);
   return;
  }
 }
};

例えばこんな感じで使えるようにクラス作っておけば提供形式はライブラリプロジェクトでもDLLでもcsファイルでも構わない
0479デフォルトの名無しさん2013/09/09(月) 17:06:52.41
ゴメンよく分からない
0480デフォルトの名無しさん2013/09/09(月) 17:13:14.04
>>478
こいつがやりたいのはD&Dしたファイルをほかのexeなんかに処理させたいってこと

バッチファイルでも済むレベルの話
ttp://inscrutable.seesaa.net/article/292718229.html
0481デフォルトの名無しさん2013/09/09(月) 17:17:22.95
>コマンドプロンプトから"csc.exe kenmo.cs"を実行してexeにして使ってもらう。
ってあるから違うだろ。csファイルをアセンブリとして扱うorビルドして実行するってのがしたいこと。
0482デフォルトの名無しさん2013/09/09(月) 17:24:49.09
確かにbatファイルへのドロップにしてコマンドライン引数からファイル一覧を得るのが素直なやり方だろうな。
batは好きじゃ無いけど。
0483デフォルトの名無しさん2013/09/09(月) 17:26:34.43
>>463を整形してみたけどフレームワークでも何でもないただのサンプルソースじゃん。
http://pastebin.com/05cbRLfz
0484デフォルトの名無しさん2013/09/09(月) 17:42:14.03
>>477
俺の曖昧な記憶ではCodeDomでアセンブリ作ってプラグインDLL作成
それを読ませる時に信頼がどうのこうのを軽減してくれるのがMEFだったかな
CodeDom自体がひっどい面倒だった記憶がある
0485デフォルトの名無しさん2013/09/09(月) 19:29:05.08
>>484
System.CodeDom.Compiler.CSharpCodeProvider.CompileAssemblyFromSource()
にソースコード文字列を与えて帰ってきたCompilerResult.CompiledAssemblyを
リフレクションで実行するだけなら簡単だよ
0486デフォルトの名無しさん2013/09/09(月) 19:42:09.24
>>484
CodeDomこんな感じでいいのか?
厳密名とか絡むと大変そうだね。
http://ideone.com/oXHjgm

>>474
Path.GetDirectoryName(filenames[0]);の部分、複数フォルダの可能性あるから注意。
04874632013/09/09(月) 20:57:13.64
すみません、>>464のコードサンプルが悪すぎたのでご迷惑をおかけしました。
基本部分の書き換えをする前にご説明できる部分だけレスしておきます。

>>476
> メモ帳でコーディング難しいだろって思ったんだけどコピペゾーンはこっちから提供するの?
はい。
組める人が提供して、組めない人がコンパイルを想定しています。

>>478
> 例えばこんな感じで使えるようにクラス作っておけば提供形式はライブラリプロジェクトでもDLLでもcsファイルでも構わない
例えば基本部分を先にコンパイルしてもらって、実装はクラスライブラリとして別コンパイルという方法も考えたのですが、
やや煩雑で、提供される側が理解できない、万が一バージョンアップした場合に混乱すると考えました。

>>480,482
> バッチファイルでも済むレベルの話
wsfなら可能な感じではあります。
ファイル名の列挙に限らず、>>464のようなコードをいくつか公開して必要なexeを提供できたらと思っています。

>>483
正しい用語を使えなくて申し訳ありませんでした。
>>463のコードは共通で、kenmomenメソッドの書き換え部分だけレスすれば目的のexeが手に入る
そんな環境を整えたかったのです。

>>486
適当すぎました。反省しています。
とはいえ、複数フォルダに存在する複数ファイルのドラッグアンドドロップに興味はあります。
ショートカットのドラッグとかかなと見当をつけていますので、後で色々試して見ます。
0488デフォルトの名無しさん2013/09/09(月) 21:10:40.60
セキュリティ的にやりたくないなぁ
コード理解してないひとにコンパイルさせるんでしょ?
悪意のある人がレスすることは想定してるの?
0489デフォルトの名無しさん2013/09/09(月) 21:34:48.15
確かにセキュリティ的にはマズイね。

>>487
検索結果なら複数フォルダのファイルをドラッグ出来るよ。
今回は大丈夫だろうけど、実装(エクスプローラ)ではなく仕様に基づいて作る事を心掛けないと
相性問題と言われるバクを仕込んじゃったりする。
0490デフォルトの名無しさん2013/09/09(月) 23:47:18.61
俺は自由度が増していいと思うな
セキュリティなんて単語使うレベルの話じゃないよ。そんな心配だったら命令のホワイトリスト
作ってそれ以外が含まれてたらエラーにするとかそんな単純な方法でもいいし

どうせ普段の開発でもセキュリティを高めるようなコーディングなんてしてないし知らないだろ?
俺は数えるほどのケースしか知らないし、セキュリティ求められたら俺には出来ないって答える
0491デフォルトの名無しさん2013/09/10(火) 00:40:05.62
C#をスクリプトにするなんて作る側からしたら面倒なだけだろ
面倒だからってどうせVS使って書くんならdllで配布するのと変わらないし
自由度というならIronPythonやLuaでも組み込んだほうがよっぽどいい
0492デフォルトの名無しさん2013/09/10(火) 00:45:53.63
プラグインから他のライブラリを呼び出したい場合とかどうするんだよ
ネイティブコード使いたいときは?
管理も面倒だし、正直プラグイン書く側にとっても使う側にとってもデメリットしかないと思う
0493デフォルトの名無しさん2013/09/10(火) 00:48:43.79
2chのビューワーもスクリプト書けて便利だろ。ないよりあったほうがまし
0494デフォルトの名無しさん2013/09/10(火) 00:50:59.22
>>493
自分で書いてカスタマイズするのが目的なら俺ならスクリプト言語を組み込んでほしい
VSなしでC#とか悪夢
0495デフォルトの名無しさん2013/09/10(火) 01:54:16.73
VS使えよ
0496デフォルトの名無しさん2013/09/10(火) 02:32:15.43
要件が漠然としてるから最適解を探すならこれぐらいの情報がないと。
0概要
1フレームワークの作成者
2プラグインの作成者
3利用者
4アップローダーが使えない理由(テキストじゃなきゃいけない理由)
5プラグインのバリエーションと更新頻度
6フレームワークとプラグインの配布方法
0497デフォルトの名無しさん2013/09/10(火) 02:33:43.39
最適解探してないからどうでもいい
0498デフォルトの名無しさん2013/09/10(火) 03:39:21.22
>>496
朝方になってきたのでざっとしか書けませんが。
> 0概要
下記要件を満たす仕組みの構築実験。
・ファイルをドラッグアンドドロップする動作を起点に、C#で記述可能な処理を実行する
アプリケーションを2ちゃんねるの参加者に提供する。
・処理内容の検証が可能であること。
> 1フレームワークの作成者
私しかいないと思いますが、限定されません。
> 2プラグインの作成者
私しかいないと思いますが、限定されません。
> 3利用者
2ちゃんねる型掲示板でテキスト処理をしたい不特定多数の参加者です。
> 4アップローダーが使えない理由(テキストじゃなきゃいけない理由)
exeの処理内容の透明性、安全性が少しでも担保できればと思いました。
PerlやPythonは実行環境を整えるのがハードルになっている気がしました。
WSHやVBSは私が使えません。
> 5プラグインのバリエーションと更新頻度
バリエーションについては要望があれば随時提供、更新します。
今現在要望がある訳ではありません。
> 6フレームワークとプラグインの配布方法
適宜フレームワークを1レスで収まる形で書き込み。
プラグインを随時書き込み。
程度にしか考えていません。
雛形はできるだけ複数レスに分けたくないので行数を切り詰めます。
04994632013/09/10(火) 03:41:05.32
>>469,470,483でのご指摘を反映した基本部分です。
http://ideone.com/とhttp://pastebin.com/は私の環境が悪く利用できませんでした。
http://kawama.jp/php/encode_html.phpで変換した結果を貼り付ける能力は私にはないようです。

// 【嫌儲民用ファイル一括処理フレームワーク】
using System;
using System.IO;
using System.Windows.Forms;
partial class Form1
{
  // 汎用変数を3つ用意
  static object o1 = null;
  static object o2 = null;
  static object o3 = null;

  private void kenmomen( string[] filenames )
  {
    // ♪♪コピペゾーン♪♪
  }

  protected override void Dispose( bool disposing )
  {
    base.Dispose( disposing );
  }
05004632013/09/10(火) 03:42:31.98
  private void Form1_DragEnter( object sender, DragEventArgs e )
  {
    if( e.Data.GetDataPresent( DataFormats.FileDrop ) )
    {
      e.Effect = DragDropEffects.Copy;
    }
    else
    {
      e.Effect = DragDropEffects.None;
    }
  }
  private void Form1_DragDrop( object sender, DragEventArgs e )
  {
    try
    {
      string[] fns = (string[])e.Data.GetData( DataFormats.FileDrop, false );
      if( fns != null && fns.Length > 0 )
      {
        kenmomen( fns );
      }
    }
    catch( Exception )
    {
      // ここでスローされる例外について分かるまで全て握りつぶす
    }
  }
}
05014632013/09/10(火) 03:45:25.27
static class Program
{
  [STAThread]
  static void Main()
  {
    Application.EnableVisualStyles();
    Application.Run( new Form1() );
  }
}

public partial class Form1 : Form
{
  public Form1()
  {
    this.AllowDrop = true;
    this.DragDrop += new DragEventHandler( Form1_DragDrop );
    this.DragEnter += new DragEventHandler( Form1_DragEnter );
    // コンパイルエラーが出力されないための記述
    o1 = o2 = o3;
  }
}

♪♪コピペゾーン♪♪の行に下記のようなコードを上書きしてもらう運用を考えています。
batで書けないコードをさっと考えてみただけで、こちらについては別の機会に自力で吟味します。
    // ファイルをドラッグアンドドロップした回数を数える
    o1 = o1 == null || (int)o1 >= int.MaxValue ? 1 : (int)o1 + 1;
    MessageBox.Show( o1.ToString() );

1行目は>>483でのご指摘に対応して下記に差し替えるつもりが間違えて貼り付けました。
// 【嫌儲民用ファイル一括処理アプリ雛形】
0502デフォルトの名無しさん2013/09/10(火) 03:52:45.17
>>465,469,480,482,486
>>464のコードは、やりたい事の説明用に書いたもので今回の質問の対象ではありませんでした。
きちんと書かなかくて本当にすみませんでした。
もちろん、指摘して頂いた悪い書き方はいずれ犯す間違いでしたので非常に助かりました。

>>489
検索結果からのD&Dは全く想像できませんでした。
回答される方と質問している私のレベルの差がはっきり見えて感動しています。

>>488-490
確かにコードを貼る者の責任は重いです。
ですから雛形部分にリスクがあってはいけないのでここで質問させて頂きました。
処理の実装部分は、Cドライブをフォーマットする悪質なコピペと同程度の危険性では
ないかと思いますが、C#ならではの危険性もあるでしょうか。
0503デフォルトの名無しさん2013/09/10(火) 04:30:00.87
>>486
以前ソフトバンクの本片手にLuaとC++を連携させてみた事があるのですが
C#だとこんなに簡単に実装できるのですね。
CreateCompiler()は互換性の為に残されている状態らしいのですが、
代替記述が見つけらなかったのが心残りです。
ReferencedAssemblies.Addが不足している時にCompiledAssembly.GetTypeで例外が発生するのですが、
何が不足しているかCompilerResultsのプロパティから探すのが大変です。
そんな訳でまだまともに動かせていませんが、いつか色々遊んでみたいです。

>>497
ちゃんと説明しなかった私が悪いのでそうおっしゃらないで下さい。
特に>>463からリスキーな部分を減らしたい理由は丁寧に書くべきでした。

皆さん、ここまで連投すみませんでした。
0504デフォルトの名無しさん2013/09/10(火) 05:00:31.36
せっかく>>496作ってくれた人いるのに根本的に何も変わってないじゃん。実用性ゼロだよ
pastebin.comみたいな単純サービスすら使う能力ないならプログラミング諦めた方がいいと思うw
0505デフォルトの名無しさん2013/09/10(火) 05:01:02.58
>>486
0506デフォルトの名無しさん2013/09/10(火) 05:17:22.63
プラグインコードとフレームワークコードをダウンロード
↓
VSか何かでビルドしてEXE作成
↓
利用

こういう形になるのかな。確かに実用性ゼロ
素直にビルドしたツールをソース付きでうpできる形か、プラグインコードをうpしたら鯖が自動的にEXE作って提供する形にしろよ
0507デフォルトの名無しさん2013/09/10(火) 06:26:16.01
低能力者の浅知恵って感じ
0508デフォルトの名無しさん2013/09/10(火) 07:47:34.43
こういうの誰でも一度は考えるよなww気持ちはよくわかる
もしかしてすごいアイデアなんじゃないかという思いと、それを実現できる
面白そうな道具を見つけたことによって周りが見えなくなってるんだろう
0509デフォルトの名無しさん2013/09/10(火) 09:34:52.08
>>503
cc.CompileAssemblyFromSourceは
cscp.CompileAssemblyFromSourceでいけたわ。
だから警告出てる行は不要。

やっぱテキスト縛りが厳しいな。
Form1.kenmomenはvirtualにして派生クラスのソースを提供が無難かなぁ。
class プラグインはこんな感じ:Form1
{
protected override void kenmomen(string[] filenames)
{
処理
}
}
CodeDomは行数増えるからやっぱcscでいいと思う。
batにしておけば利用者の負担も軽そうだし。
スクリプトじゃ汎用変数が難しいし。
0510デフォルトの名無しさん2013/09/10(火) 12:07:08.60
>>504
まだ>>486のコードが咀嚼できていないので私がここでソースを出すには早いと判断しました。
初心者が身の程をわきまえず上級テクニックに手を出して延々質問するのは避けたいと思います。
私も興味はありますが、私ではなく>>477さん達向けの話題だと思っています。

>>506
こういう形です。
連投規制中だったので、他板で準備しておきました。
http://ikura.2ch.net/test/read.cgi/infosys/1367318453/165-169

> 素直にビルドしたツールをソース付きでうpできる形か、プラグインコードをうpしたら鯖が自動的にEXE作って提供する形にしろよ
実行する側だけではなく、提供する側も自衛手段を考えていいんじゃないかと。
exeで提供してしまうとexeとソースの同一性が不透明になるのと、
アルゴリズムだけではなく、実行ファイルの安全性も保証しないといけないのが重いですね。
例えば再拡散後のexeが汚染されていた場合、私がアップしたexeと汚染されたexeのバイナリの違いが
挙動の違いにつながることの証明を県警のおまわりさんに説明するのですら難しいと思います。
逆に私のマシンがウィルスに感染していたとしても、テキストでの提供であれば使う人への感染リスクは最小限に抑えられます。

>>507,508
そうですよね。
コンパイル処理をbatファイルで提供して説明の手間を減らしても、色々障害は山積みだと思います。
やるからには1つ位アプリの提供をしてみたいものです。

>>509
ありがとうございます、おっしゃる通り書き換えて警告が消えました。
CSharpCodeProviderを使う方法はparam.ReferencedAssemblies.Addを絞ることで
提供機能を絞る事ができるのも大きなメリットだと感じています。
CSCPを使うコードについてはまだまだ分からないことだらけですので、
失礼がないよう私はここから自習します。
0511デフォルトの名無しさん2013/09/10(火) 12:12:40.40
こりゃ手遅れな人だわ
0512デフォルトの名無しさん2013/09/10(火) 12:18:42.37
>>511
お目汚しすみませんでした。
私も499〜のコードに拘っている訳ではありませんので、
次の質問はこのスレにふさわしいスキルを身につけてからにします。
これでお許し下さい。
0513デフォルトの名無しさん2013/09/10(火) 12:31:14.91
vbscriptかjavascriptにやらせろよ・・・
0514デフォルトの名無しさん2013/09/10(火) 12:33:19.26
>param.ReferencedAssemblies.Addを絞ることで
提供機能を絞る事ができ・・・

ないよ、リフレクションあるから。
0515デフォルトの名無しさん2013/09/10(火) 12:39:56.22
巨大なVisualStudioインストールさせられてまで便利と思う嫌儲民がどれだけいるだろうか…
あっSharpDevelopなら小さいから解決だね!
0516デフォルトの名無しさん2013/09/10(火) 12:56:16.22
>>513
実際にに低能なのでvbscriptでは想定してる実装を組める気がしませんでした。

>>514
そうなんですね。
理解してない事を書き込んで本当にすみません。

>>515
いや、XP以降?OSに標準で入ってるコンパイラ使う想定です。

「伸びてると思ったら香ばしい奴が湧いてた」とか叩かれて辛い思いをするのは
確定しましたので、とりあえず
http://kohada.2ch.net/test/read.cgi/pcqa/1376457813/45
これのkenmomenメソッドに俄が見てもばれないような悪意のあるコードを
思いついたら教えて下さい。

それ以外はレスを付けませんが、読むたび頭を下げていると思って下さい。
親切にして頂いたみなさんもそうでないみなさんもお相手頂いてありがとうございました。
0517デフォルトの名無しさん2013/09/10(火) 13:19:12.96
VBS例。↓をテキストファイルに保存して拡張子vbsに。そのvbsにファイルをD&Dで実行

Option Explicit
Dim args, arg
Set args = WScript.Arguments
For Each arg In args
 Call kenmomen(arg)
Next

Sub kenmomen(filepath)
 コピペゾーン♪
End Sub
0518デフォルトの名無しさん2013/09/10(火) 13:23:36.71
つうかさ、そもそもプログラム書ける奴対象なんだろこれ?
それでなんで開発環境の一つもないのが前提なってんの?
0519デフォルトの名無しさん2013/09/10(火) 13:29:49.88
>アプリケーションを2ちゃんねるの参加者に提供する。
すべての人対象だろ
0520デフォルトの名無しさん2013/09/10(火) 14:14:58.00
すべての人がC#で書けたら俺ら失業だな(笑
つーかコピペゾーンで何させる気かしらんけど、
処理中核書ける奴ならその外側のフレームワーク()なんぞ5分で書けるわ
百歩譲ってスニペットとして提供されるなら使わんでもないか?
0521デフォルトの名無しさん2013/09/10(火) 14:24:54.69
どうせ2ch流出ファイルを見てて思いついたアイデアだろ
0522デフォルトの名無しさん2013/09/10(火) 19:37:31.76
ほっとけばいいのに
0523デフォルトの名無しさん2013/09/12(木) 18:38:15.67
あるクラスでしか使わないイベント引数クラスってそのクラススコープで定義する?
慣習とかあるのかな?
0524デフォルトの名無しさん2013/09/12(木) 20:04:49.10
そのほうが解りやすいから俺はそうしてる
0525デフォルトの名無しさん2013/09/12(木) 20:35:09.70
意味が分からん
クラススコープって普通はprivateのことだよ?
プライベートなイベントなんかわざわざ使うの?
クラス外から見えるイベントのイベント引数を内部クラスにするかどうかという意味なら、
クラスの外に出さないと規約違反だね
0526デフォルトの名無しさん2013/09/12(木) 20:54:29.88
>クラススコープって普通はprivateのことだよ?
意味が分からん
0527デフォルトの名無しさん2013/09/12(木) 20:55:31.15
あーこれは荒れますわ
自分が相手より少しでも大人だと思ったら黙ってね
0528デフォルトの名無しさん2013/09/12(木) 20:55:54.62
>>525
>クラスの外に出さないと規約違反だね
意味が分からん
0529デフォルトの名無しさん2013/09/12(木) 20:56:47.92
史上最低地上最強のゴミ虫を自負する俺なので続けます
0530デフォルトの名無しさん2013/09/12(木) 20:57:36.41
糞ワロタ。初心者スレでやれよ
0531デフォルトの名無しさん2013/09/12(木) 21:02:07.98
>>528
原則、内部クラスをクラスの外に見せるのは避けるべしという
MSのガイドラインがあるんだよ
0532デフォルトの名無しさん2013/09/12(木) 21:03:18.00
まあ守ってねえけどな
0533デフォルトの名無しさん2013/09/12(木) 21:18:34.39
>>531
そんなのあったんだ。どこにある?
0534デフォルトの名無しさん2013/09/12(木) 21:31:51.42
>>533
http://msdn.microsoft.com/en-us/library/ms182162.aspx
0535デフォルトの名無しさん2013/09/12(木) 21:49:58.23
そんなクラス.NetFrameworkにいっぱいあるけどなぁ
0536デフォルトの名無しさん2013/09/12(木) 21:51:53.55
原則なんておっさんの小言より守られないもんよ
0537デフォルトの名無しさん2013/09/12(木) 21:53:37.61
いっぱいはないと思うがw
Windows Formのコントロールの一部とか、1.0の頃に設計されたほんの一部のクラスだけじゃないの。

だいたい、ガイドラインにあろうがなかろうが、ネストされたクラスをpublicにするなんて
普通はやりたいと思わないよ
0538デフォルトの名無しさん2013/09/12(木) 21:53:42.54
>>534
確かにnamespaceで分けられてるな。。。
0539デフォルトの名無しさん2013/09/12(木) 22:14:12.42
>>537
System.Collections.GenericのIEnumerator<T>さんたちに謝れ
0540デフォルトの名無しさん2013/09/12(木) 22:22:51.36
>>539
それはむしろわかりにくくするのが目的だろ
0541デフォルトの名無しさん2013/09/12(木) 22:29:30.32
>>525
すっこんでろ。ぶっ飛ばされんうちにな
0542デフォルトの名無しさん2013/09/12(木) 22:30:05.70
分かりやすさという観点がいつ出てきたのかは知らんが、目的はforeachのパフォーマンス改善だ
0543デフォルトの名無しさん2013/09/12(木) 22:36:18.88
>>542
なんでこの文脈で列挙子に構造体使うそもそもの目的が出てくるんだよw
どう考えても型をネストしてる理由の話だろ
0544デフォルトの名無しさん2013/09/12(木) 22:36:19.25
パフォーマンスって何のことか分からんけど、
ネストした型を使うのはprivateメンバにアクセスさせるためなんだろうけど、
普通にinternal使うのではご不満だったのかね
0545デフォルトの名無しさん2013/09/12(木) 22:41:06.25
めっさ不満です
0546デフォルトの名無しさん2013/09/12(木) 22:52:51.95
>>544
些細な違反を避けるためにカプセル化を半分破るなんて本末転倒
ガイドラインでネストした型を見せるのを禁止してる理由は「わかりにくいから」であって、
列挙子の型はできれば隠したいものなんだからネストでいいでしょ
だいたい、列挙子に構造体使ってる理由からしてあまり理解されてないんだし
今更わかりにくいもクソもって感じ
0547デフォルトの名無しさん2013/09/12(木) 23:09:17.97
CA1034はコンストラクターかstaticメンバーを公開してる型だけ守ればいいと思う
0548デフォルトの名無しさん2013/09/13(金) 00:02:34.70
ガイドラインが見つからないから聞きたいのだけどComponentModel.Componentを継承したら取り敢えずやるべき事ってある?
0549デフォルトの名無しさん2013/09/13(金) 00:14:03.68
うがい手洗い
0550デフォルトの名無しさん2013/09/13(金) 06:21:13.42
>>548
コンストラクタは
Hoge();
Hoge(IContainer conainer); // container.Add(this);
の2つ。 ぐらいかな
0551デフォルトの名無しさん2013/09/13(金) 07:27:50.50
コンポーネントを作ったらEventsなどオーバーライド出来るものはすべて適切にオーバーライドしなければならない
0552デフォルトの名無しさん2013/09/13(金) 08:43:39.64
>>550
デザイナでどちらのコンストラクタが使われるかの基準教えて
0553デフォルトの名無しさん2013/09/13(金) 09:12:52.46
(IContainer)があればそっちつかう
なかったら()使う
0554デフォルトの名無しさん2013/09/13(金) 19:43:13.57
つかわざわざcomponentにする意味がわからん
デザイナとか柔軟性ないから使わないしコード書くなら同じだし
0555デフォルトの名無しさん2013/09/13(金) 19:55:13.27
・・・
0556デフォルトの名無しさん2013/09/13(金) 20:00:46.67
・・・・
0557デフォルトの名無しさん2013/09/13(金) 20:07:20.90
・・・・・
0558デフォルトの名無しさん2013/09/13(金) 20:13:09.40
・・・・・・
0559デフォルトの名無しさん2013/09/13(金) 20:41:18.02
・・・・・・・使えよ
0560デフォルトの名無しさん2013/09/13(金) 20:45:04.84
・・・ −−− ・・・
0561デフォルトの名無しさん2013/09/13(金) 20:51:32.47
アプリの設定ウィンドウをデザイナが重たいからデザイナなしで作ってたことがあったけど
タブ化してコントロールが増えたらやっぱりギブアップしたよ

デザイナは重いし慎重にコントロールを配置しないとバグったりするけど
部品の位置とか手計算してらんないよな

実行環境のDPIが変わったりすると配置が崩壊するのは何とかしてほしい
0562デフォルトの名無しさん2013/09/13(金) 20:52:29.48
後輩「>>554さん、>>554さんの画面で修正が必要なんですけど・・・」
>>554「何?」
後輩「ボタン位置の変更です」
>>554「ったく、最近の奴はUIの作り方すら知らねぇんだから」
(ゴソゴソ)
>>554「これ使えよ つControl移動ツール」
>>554「親が変わる場合はここにチェックをいれて(ry」
0563デフォルトの名無しさん2013/09/13(金) 21:09:38.66
>>562
ツール使うなw
0564デフォルトの名無しさん2013/09/13(金) 21:11:44.15
デザイナで、最初にボタンをポトペタすると
高確率でサイズがすごく小さくなるのは俺だけかな?
0565デフォルトの名無しさん2013/09/13(金) 21:15:42.85
だろうな
あとフォーム選択してフォント変えた時に全体的に大きくなるのは俺だけかな?
0566デフォルトの名無しさん2013/09/13(金) 21:20:02.34
>>564
手が震えてるだけ

>>565
Form.AutoScaleModeのデフォルトがFont
0567デフォルトの名無しさん2013/09/13(金) 21:25:26.60
ゲームみたいなカッコ良いUIを簡単に作れるデザイナ&リソースを販売したら売れる?
0568デフォルトの名無しさん2013/09/13(金) 21:33:11.25
品質と値段による
0569デフォルトの名無しさん2013/09/13(金) 21:33:48.16
グレープシティとかいくらでもあるじゃん。売れるけど信用が無いと厳しいよ。
使う側としても何かあれば共倒れになっちゃうから。
0570デフォルトの名無しさん2013/09/13(金) 21:43:01.94
君の特定のアプリ内でうまく動くものを作るのは難しくなくても
誰がどんなアプリで使ってもうまく動くものを作るのはとんでもなく手間がかかるんだよ
0571デフォルトの名無しさん2013/09/13(金) 21:56:52.17
んなこたーない
正しく作れば正しく動く。それだけ
0572デフォルトの名無しさん2013/09/13(金) 22:06:22.72
零細企業の怪しいコンポーネントなんて使おうと思っても調達が許可しない
0573デフォルトの名無しさん2013/09/13(金) 22:10:44.81
>>571
それだけが難しい
0574デフォルトの名無しさん2013/09/13(金) 23:05:07.94
俺はまともに動くUI自作できない。ある程度割り切って作ってる
フォントサイズ、色盲向け設定、色数・・・考えることが多すぎるんだよ
0575デフォルトの名無しさん2013/09/13(金) 23:12:43.66
一行目と二行目の内容に関連が無いようだが
0576デフォルトの名無しさん2013/09/13(金) 23:51:13.72
完璧なコントロールを作るのは大変だよ。
レイアウト関係のプロパティにはローカライズに対応する為の属性付ける必要があるし、
デザイナ用の拡張機能も色々あるし、
変更イベントもちゃんとXXXChangedって名前にしないと後でDataBindingで使えないとか言われるし。
0577デフォルトの名無しさん2013/09/14(土) 00:44:08.01
UIは作っても少ししたら時代遅れになる
使い捨てと割り切り手を抜くのが正解
0578デフォルトの名無しさん2013/09/14(土) 08:55:04.91
何をもって正しいとするかが場合によって変わるから
0579デフォルトの名無しさん2013/09/14(土) 21:56:53.32
Windowsのシステムカラー変えたりdpi変えたら大惨事ってあるよねえ
でもwinのシステムの使いづらさのせいもあると思うんだけどな、スケーラビリティとか
0580デフォルトの名無しさん2013/09/14(土) 22:12:37.96
>dpi変えたら大惨事
いえ、まっとうなプログラムでそれは無いです
0581デフォルトの名無しさん2013/09/14(土) 22:16:30.70
オーナードローとかでまっとうなプログラムを書くのが難しいって意味だろjk
0582デフォルトの名無しさん2013/09/14(土) 22:54:26.21
スケーリングはフレームワークが自動でやってくれるのに難しいも糞もあるか。
知らねえのに適当なこと言うな
0583デフォルトの名無しさん2013/09/14(土) 23:23:20.24
そうだねー(棒
0584デフォルトの名無しさん2013/09/14(土) 23:40:18.31
>>582
おまえが書いたら悲惨なことになるな(断言)
0585デフォルトの名無しさん2013/09/14(土) 23:46:24.92
しかし、頭が悪い奴ってのは自分が馬鹿だってことすら分からないんだな。
0586デフォルトの名無しさん2013/09/14(土) 23:54:33.16
そりゃ、馬鹿を自覚できる人は最初から相応に振る舞うからなぁ。
0587デフォルトの名無しさん2013/09/15(日) 00:03:55.42
>>582 == >>585 == >>586 == 初心者スレの>>70
おそろしいほどの基地外なので、UIの話はもうここで終わりにしましょう
0588デフォルトの名無しさん2013/09/15(日) 00:12:32.16
そうです、わたすがアスペ脳です、まで読んだ。
0589デフォルトの名無しさん2013/09/15(日) 00:45:24.89
これが 2ch 脳か。w
0590デフォルトの名無しさん2013/09/15(日) 10:30:00.27
俺は小学生のうちにプラトンを学ばせるべきだと思うんだよ
無知の知って謙虚な日本人の気質を守り伝えるために最適な哲学だよ
それをやらなかったから日本では馬鹿なゆとりが大発生してしまった
0591デフォルトの名無しさん2013/09/15(日) 11:33:07.39
もうButtonにイメージ貼るのやめよ
0592デフォルトの名無しさん2013/09/15(日) 12:50:17.20
あれ、ここ大喜利スレ?
0593デフォルトの名無しさん2013/09/15(日) 15:10:03.78
いちいちボタンデザインすんのか
面倒臭いからすべてテキストにしてる
0594デフォルトの名無しさん2013/09/15(日) 15:19:33.77
ボタンは生産性わるい
キーボードショートカットがよい
0595デフォルトの名無しさん2013/09/15(日) 15:45:26.29
最近オプション設定にOKボタン設けないUI増えてるよね
あれ慣れないわ
0596デフォルトの名無しさん2013/09/15(日) 15:50:24.82
OKボタンがないというよりキャンセルが出来ない設定画面でしょ。
あれはあれでいいよ。

従来のWindowsのキャンセルが利く設定画面は、メリットのわりに
作る側(このスレはそういう人のためのスレだと思うが)の負担が大きすぎる。
0597デフォルトの名無しさん2013/09/15(日) 15:52:41.52
キャンセルボタンってthis.Close()じゃダメなの?
0598デフォルトの名無しさん2013/09/15(日) 15:53:06.22
>>596
動的に反映させなきゃいけないから面倒だぞ
でないと✕ボタンでダイアログ閉じたら設定終了なんて非直感的極まりないUIになる
0599デフォルトの名無しさん2013/09/15(日) 15:57:31.11
どう考えてもOKボタンで一括更新のがパターン少なくて楽だろ
ビューとモデルの間に1オブジェクト挟まない人なのか?
0600デフォルトの名無しさん2013/09/15(日) 15:58:03.02
>>595はスマホとかWin8アプリみたいに一画面で遷移するタイプならいいが
ダイアログとは相性悪いと思うわ
Macだとダイアログベースで>>595が普通だけど、アプリの作りによってはそのせいですげえ不自然に感じる
0601デフォルトの名無しさん2013/09/15(日) 16:01:54.01
使う側としては見ながら調整したいからリアルタイム設定のが好き
0602デフォルトの名無しさん2013/09/15(日) 16:17:54.32
やっぱやーめたって時に
キャンセル(無かった事にする)と前と同じ設定に変更するのでは気持ち的に違うな
特にダイアログだとXボタンの扱いが曖昧になるね
0603デフォルトの名無しさん2013/09/15(日) 16:28:57.61
項目が完全に独立している場合は
即反映でいいんだけど、
そうでない場合は「確定」操作という
クッションが無いとイラっとするんだよなあ
0604デフォルトの名無しさん2013/09/15(日) 16:42:27.80
テレビゲームのUIはそれが普通だった気がする
0605デフォルトの名無しさん2013/09/15(日) 17:51:20.82
>>599
そう少なくともWindows FormではVMみたいのは挟まない人。

キャンセルを可能にするためには、モデルのプロパティだけを集めた別のオブジェクトを
いちいち作らなくちゃならないが、これが面倒。
そこに値の検証の問題が入ってくると尚更のこと。

キャンセルの機能が必須じゃなければ、今時のモバイルのUIみたいにUIで入力された値を
ダイレクトにモデルに反映させる方が手間が少ない。
0606デフォルトの名無しさん2013/09/15(日) 18:19:41.03
シリアライズ対応した設定保存用のオブジェクト用意して、それにICloneableつけとくだけで
簡単にキャンセルできるの作れるのに、そうしたがらない人は多いな
0607デフォルトの名無しさん2013/09/15(日) 19:02:31.17
>>606
だってICloneableって非推奨だもん
0608デフォルトの名無しさん2013/09/15(日) 19:12:42.19
キャンセルがどうこうより、設定が即時反映されるのかどうかだろ
OK押すまで反映されないなら、入力内容は無かったこと(キャンセル)にされるのでキャンセルボタン意味あるけど
即時反映される場合は、入力した段階で反映されてるわけで、キャンセルとか有り得ないから、元に戻すなりデフォルトに戻すなりが必要なだけ
0609デフォルトの名無しさん2013/09/15(日) 19:26:35.96
通常はOKボタンで反映保存。
プレビューチェックボックスをONにしたら、即反映されるけど保存はOKボタン押したときでキャンセル可能にとかあるだろ。
反映させるのが必要かどうか、操作性をどうするかが問題。
明らかにキャンセルあったほうがべんりなのにそれを用意しないやつは論外。
0610デフォルトの名無しさん2013/09/15(日) 20:30:45.29
すごく。平行線です。。
0611デフォルトの名無しさん2013/09/15(日) 20:31:53.44
もともと収束点を決めて話をしてないからな
飲み屋でおっさん数名が喋ってるのと変わらん
0612デフォルトの名無しさん2013/09/15(日) 20:38:00.01
>>606
>ICloneableつけとくだけで簡単にキャンセルできるの作れるのに

技術的に簡単かどうかはどうでもよくて
どうしてヘンテコな使い方をするんだ
他人が見たら何だこの糞はと思うだろ
0613デフォルトの名無しさん2013/09/15(日) 20:42:59.30
ICloneableなんかつけないけど設定オブジェクトをクローンしてダイアログで弄るのは常套手段
0614デフォルトの名無しさん2013/09/15(日) 20:53:48.39
そろそろ鬱陶しいから閉店しろ
0615デフォルトの名無しさん2013/09/15(日) 21:32:04.82
閉店ガラガラ
0616デフォルトの名無しさん2013/09/15(日) 22:27:16.35
次どこ行く?
0617デフォルトの名無しさん2013/09/15(日) 22:39:14.79
つぎはPython行く
0618デフォルトの名無しさん2013/09/15(日) 22:40:55.35
Cに帰る
0619デフォルトの名無しさん2013/09/16(月) 06:24:24.08
帰れソレントヘ
0620デフォルトの名無しさん2013/09/16(月) 07:02:50.03
オーそれ見よ
0621デフォルトの名無しさん2013/09/16(月) 07:19:40.72
リアルタイム派は複数が関連する設定項目はどう作ってるんだ?
一発決定派ならパラメータおかしいってメッセージ出すだけやん?
0622デフォルトの名無しさん2013/09/16(月) 07:24:06.82
どこかに入力エラーがありますがどこかは教えませんってフォーム見ると作成者を数日拷問の後惨殺したくなるよな
0623デフォルトの名無しさん2013/09/16(月) 07:46:20.86
あるある
0624デフォルトの名無しさん2013/09/16(月) 12:45:33.04
>>622
あと、色々入力させてから、最初の方の項目にエラーがありますとか...
0625デフォルトの名無しさん2013/09/16(月) 13:20:32.88
住所で使う数字を全角限定にするってのも何?半角を勝手に全角に変換すりゃいいだろ
0626デフォルトの名無しさん2013/09/16(月) 13:31:09.00
あと「適用」ボタンも、変更してないときは無効化しろとか。
うっさいわ
変更したかどうかくらい自分で覚えとけ
怪しかったらキャンセルしてもいっかい設定し直せ
0627デフォルトの名無しさん2013/09/16(月) 13:36:56.96
無効化しろよ。おまえみたいなのは作る資格なし
0628デフォルトの名無しさん2013/09/16(月) 13:39:34.80
うっさいわ
0629デフォルトの名無しさん2013/09/16(月) 13:44:58.37
UIの話にずれてきてるから言っておきたい
徐々に進みが遅くなるプログレスバーを作る奴は世界中のせっかちに殴られて死ね
0630デフォルトの名無しさん2013/09/16(月) 14:09:35.84
最近プログレスバー使ってないな
0631デフォルトの名無しさん2013/09/16(月) 18:11:00.76
>>624 で、再入力させられるが、キャッシュされてなく
フォーム内全リセットされてて空欄になってるとか
webのお問い合わせフォームでやられるとムカっとくる。
あと、テキスト書いて送信したら、セッションが切れました
時間切れですとか。
0632デフォルトの名無しさん2013/09/16(月) 18:45:31.67
>>629
なにその緑色の赤ちゃん
0633デフォルトの名無しさん2013/09/18(水) 08:40:59.70
Open/SaveFileDialogを表示中のスレッドAに、
別のスレッドBから終了指示をだして、
スレッドAを終了させるにはどうしたらいいですか?

スレッドBから
BeginInvoke(delegate{Appication.ExitThread();})や
Abortしても終了してくれません。
Abortを呼び出したスレッドBも止まってしまいます。
0634デフォルトの名無しさん2013/09/18(水) 08:43:51.43
>>633
コモンダイアログを他から勝手に閉じないでください
0635デフォルトの名無しさん2013/09/18(水) 09:09:19.19
>>633
>>634の言う通り、ダイアログ上でファイルの整理とかするのでやめてほしい。
0636デフォルトの名無しさん2013/09/18(水) 10:04:24.17
ダイアログウィンドウにWM_CLOSE投げろよ
でもそういうことさせないように正規の方法じゃウィンドウハンドルとれないようになってるんだな
0637デフォルトの名無しさん2013/09/19(木) 23:24:31.68
HTML5の研修受けてきたけど
業務用アプリはもう.net終わるんじゃないかな
0638デフォルトの名無しさん2013/09/19(木) 23:45:46.25
html5てデバッグやテスト簡単に出来るの?
0639デフォルトの名無しさん2013/09/20(金) 00:01:28.80
クライアントアプリ自体終わりだよ
少なくともMSはそう考えてサーバーの方に注力してる
.NETはいずれサーバーだけになる
0640デフォルトの名無しさん2013/09/20(金) 00:03:20.34
何年遅れのWeb2.0論だよそれw
0641デフォルトの名無しさん2013/09/20(金) 00:07:06.51
といっても実際Azureとか無茶苦茶伸びてるし
現在のMSはクライアント技術としては.NETよりもHTML5を推してるのも事実だし
WinFormsもWPFもほぼ開発終わってるけどASP.NET(MVC)は活発に強化され続けてるし
0642デフォルトの名無しさん2013/09/20(金) 00:36:05.80
しかし、大局を見誤り続けるのはMSの伝統芸だからなぁ
なんか末期のSunを見てるみたい
0643デフォルトの名無しさん2013/09/20(金) 00:44:40.91
クラウディアさん可愛いよね
0644デフォルトの名無しさん2013/09/20(金) 00:53:56.35
>>642
AzureはGoogle抜いたよ
0645デフォルトの名無しさん2013/09/20(金) 01:00:39.32
GAEはいい線行ってたがPaaSの中では失敗作だったな
IaaS+SaaSな構成のが扱いやすそうだ
0646デフォルトの名無しさん2013/09/20(金) 08:35:47.93
サーバーサイドへの移行は今後も止まらないと思うが
クラウドはそろそろ限界が見える気がするな
セキュリティ上の懸念を払拭できないから何でもクラウドにはでけへんし
0647デフォルトの名無しさん2013/09/20(金) 10:55:02.97
C#2010+.NET4+Win7です

struct Test
{
private readonly int _Value;
public Test(int value)
{
this._Value = value;
}
}

void fund()
{
var aaa = new Test(1); // 1
aaa = new Test(2); //2
}

上記コードでTest._Valueはreadonlyのため2でエラーとなるのではないかと
考えていたのですが_Valueが変更されてしまいます。
構造体でのreadonlyはあまり意味がないのでしょうか?
0648デフォルトの名無しさん2013/09/20(金) 11:18:56.89
>>647
1と2って全く同じだから、当たり前かと。
0649デフォルトの名無しさん2013/09/20(金) 11:52:47.57
>>648
違いはないのですか。
structは値型とのことで1の場合は インスタンス生成時、2の場合はインスタンスメンバの
上書時と考えていました。
C++っぽく考えていたので違和感がありました。
0650デフォルトの名無しさん2013/09/20(金) 11:53:25.88
_Valueが変更されてるんじゃなくてaaaそのものが変更されてるんだからreadonly関係ない
structがclassでも同じこと
0651デフォルトの名無しさん2013/09/20(金) 13:27:11.92
>>647
new Test(1)で生成されたオブジェクトとnew Test(2);のオブジェクトは全く別物だから
_value自体が2つ独立で生成されます
だから_valueに値が入るのは1回だけだからエラーは起こりません
0652デフォルトの名無しさん2013/09/20(金) 13:39:05.32
これで試してみなよ
struct Test
{
private readonly int _Value;
public Test(int value)
{
this._Value = value;
}
public void SetValue(int value)
{
this._Value = value;
}
}

void fund()
{
var aaa = new Test(1); // 1
aaa.SetValue(2); //2
}
0653デフォルトの名無しさん2013/09/20(金) 13:41:48.74
static指定できるのかな?できるならそれでも
0654デフォルトの名無しさん2013/09/20(金) 14:47:21.24
>>649
C++でも全く同じだってば。
06556472013/09/20(金) 17:14:48.20
C++2010で試しました。
イメージではこんな感じでした。

struct Test
{
private:
 const int m_Value;
public:
 Test( int value )
  : m_Value( value )
 {
 }
};

void func()
{
 Test aaa = Test( 1 ); //又は Test aaa( 1 );
 aaa = Test( 2 ); //コンパイルエラー
}

>>647がclassであれば納得できたのですが・・・。
言語が違うのでそういうものだと理解しておきます。
みなさんありがとうございました。
0656デフォルトの名無しさん2013/09/20(金) 17:22:57.68
>>655
それはエラーの意味が違わないかい

同等のコードにするならこうだろ?
Test *aaa = new Test( 1 );
aaa = new Test( 2 );
0657デフォルトの名無しさん2013/09/20(金) 17:29:56.60
>>655
それやってることがC#のと全然違う

void func()
{
 Test* aaa = new Test( 1 ); //又は Test aaa( 1 );
 aaa = new Test( 2 ); //コンパイルエラーにならない
}
06586472013/09/20(金) 18:26:47.93
>>656,657
>>647はclassではなくstructなのであえて>>655のように書きました。
0659デフォルトの名無しさん2013/09/20(金) 18:30:32.06
>>658
そうするとコピーになるからw
0660デフォルトの名無しさん2013/09/20(金) 20:28:33.25
なんか良くわからんがstaticなクラス作れば良いんじゃねえのか
C++の話はよそでやってくれ
0661デフォルトの名無しさん2013/09/20(金) 20:33:29.55
>>655
試してなくて申し訳ないけど、これなんでエラーになるの?
0662デフォルトの名無しさん2013/09/20(金) 20:33:51.88
ポインタが分かってないとこういうことになるっていう例
0663デフォルトの名無しさん2013/09/20(金) 20:49:50.18
C#では値型の代入は、IL上ではOpCodes.Ldloc/ OpCodes.Stlocで
値型丸ごとをスタックにつんで丸ごとポップする
要するに途中にreadonlyがあろうが丸ごとコピーなわけです

ところがC++にはコピーコンストラクタとか代入演算子のオーバーロードとか、
さらにそれらがデフォルトで定義されてたり、恐ろしげな仕様が盛りだくさんなわけで

その際にデフォルトの代入演算子がメンバーを1つずつコピーしようとして
途中にconstがあるので代入できないと怒られるわけです
0664デフォルトの名無しさん2013/09/25(水) 22:59:24.05
スレチかもしれないが、質問。

Win8 64bit .Net4.5

こんなフォームを常駐させていたが気が付いたら消えてた、何故?
ControlBox = false;
Cursor = Hand;
FormBorderStyle = FixedToolWindow;
Opacity = 0.2D;
ShowIcon = false;
ShowInTaskbar = false;
TopMost = true;

1クリックでタスクバーを表示するツールです。
(ブラウザ全画面で使ってるとこういうの無いと使いづらい)

OSの休止を何度か繰り返すとフォームが消えます。
WndProcで記録してたウィンドウメッセージの最後はこれ。
msg=0xc2cf hwnd=0x20630 wparam=0x0 lparam=0x0 result=0x0

消えた状態でもSendMessageには反応しました。
なのでVisualStudioからアタッチし、this.Refreshで無事フォームが復活しました。
描画されていなかっただけですが理由が気になります。
0665デフォルトの名無しさん2013/09/25(水) 23:23:17.93
システム側のバグじゃない?
Opacity = 0.2D;
TopMost = true;

このあたり絡むと謎の挙動多いよね。
っていうか、常時全面のウィンドウじゃなくて、オーバーラップするフォームを
Ownerにした方がいいと思うんだけど。

まあ、workaroundが分かってるなら問題ないじゃん
0666デフォルトの名無しさん2013/09/25(水) 23:50:07.56
「システム」という言葉を
その範囲が不明瞭なまま乱用する人の言うことを
信用してはならない
0667デフォルトの名無しさん2013/09/25(水) 23:53:29.16
>>666
いやいや君が文脈を読めないお馬鹿さんなだけ。
君英語苦手でしょ?w
0668デフォルトの名無しさん2013/09/26(木) 00:06:41.61
ありがとうございます。
確かに不安定なところもありますよね、細々と検証を続けて行こうと思います。
0669デフォルトの名無しさん2013/09/26(木) 01:08:44.88
666の言っていることが的を射ている件について
0670デフォルトの名無しさん2013/09/26(木) 01:14:06.88
うん、文脈から切り離して語彙を語ることに意味があると思うのは馬鹿の証拠、
という意味ではね。
0671デフォルトの名無しさん2013/09/26(木) 01:14:46.14
自演?
0672デフォルトの名無しさん2013/09/26(木) 01:22:52.37
そういや、アスペルガー症候群の症状の1つが文脈や状況を把握する能力の欠如だったなw
0673 ◆QZaw55cn4c 2013/09/26(木) 03:38:48.62
文脈依存文法の言語なんて使い道があるのか?
0674デフォルトの名無しさん2013/09/26(木) 04:32:41.87
典型的な(ry
0675デフォルトの名無しさん2013/09/26(木) 04:49:33.67
>>672-674
ワロタ
0676デフォルトの名無しさん2013/09/26(木) 13:40:05.29
>>655
システム=なんか知らんけど偉い人が作った自分のアプリ以外の何か
謎の挙動=理由も再現方法も分かんないけど調べる気もない不思議な現象
0677デフォルトの名無しさん2013/09/27(金) 14:24:56.17
>>673
perlに謝れ
0678デフォルトの名無しさん2013/09/27(金) 18:49:44.37
>>677
どうしてPerlが出てくる?
C#自体が分脈依存の構文だろ
0679デフォルトの名無しさん2013/09/27(金) 19:02:02.00
C#にはperlのあれはない。
0680デフォルトの名無しさん2013/09/27(金) 19:37:19.55
日本語自体が文脈に依存するだろ
0681デフォルトの名無しさん2013/09/27(金) 19:48:07.30
アスペかどうかは知らんが、この一連のレスに加わってる奴の頭が残念なのは疑いようがない
0682デフォルトの名無しさん2013/09/27(金) 19:56:58.06
アスペというおまえがアスペなのは疑いようがない。

おまえ以外はみなコンテキストが分っているのだから。
0683デフォルトの名無しさん2013/09/27(金) 20:20:13.48
アスペの意味が分からない奴がアスペといっても説得力に欠けるなw
0684デフォルトの名無しさん2013/09/27(金) 20:29:08.16
いろんなスレですぐアスペ、アスペいう人がいるけど、間違いなく本人がアスペだと思う。
0685デフォルトの名無しさん2013/09/27(金) 20:48:17.18
ここまで全員
0686デフォルトの名無しさん2013/09/27(金) 21:01:36.31
私はアスペではない、ADHDだ
0687デフォルトの名無しさん2013/09/27(金) 21:30:40.19
>>684
http://okwave.jp/qa/q3558168.html

そんなの精神科医にしか診察できんわボケ
素人が病名当てれたら精神科医のおまんま食い上げ
0688デフォルトの名無しさん2013/09/27(金) 21:34:57.60
などと意味不明なことを言っており精神錯乱状態であるとのこと。
0689デフォルトの名無しさん2013/09/27(金) 21:38:21.42
金曜だからお前ら疲れてるんだなそうだな
0690デフォルトの名無しさん2013/09/27(金) 21:38:21.97
精神科医じゃなくたってわかるわ
ここには基地外しかいない
0691デフォルトの名無しさん2013/09/27(金) 21:57:28.61
>>679
あれって何だよ。あれって。
0692デフォルトの名無しさん2013/09/27(金) 22:05:00.20
お察しください
0693デフォルトの名無しさん2013/09/27(金) 22:17:41.26
perlのあれってあれのことだよ。というかあれしかないだろ。
0694デフォルトの名無しさん2013/09/27(金) 22:22:20.29
マトモに説明できない荒らしなら出てくるなよ低脳
0695デフォルトの名無しさん2013/09/27(金) 22:28:59.84
また初心者スレの>>70が自演してるな
0696デフォルトの名無しさん2013/09/27(金) 22:30:54.49
perlを知ってればアレで通じるんだが。いわゆる$_のこと。
0697デフォルトの名無しさん2013/09/27(金) 22:34:32.66
まさかC#に分脈依存な文法が無いとでも思ってる?
分脈依存の一例でしかない $_ がどうして
ここで出てくるのか不思議なのだけれど
0698デフォルトの名無しさん2013/09/27(金) 22:40:57.40
あるならさっさと言えばよい。すぐ言わないのはアスペ。
0699デフォルトの名無しさん2013/09/27(金) 22:50:52.26
引くことを知らない大人子供ばかり
0700デフォルトの名無しさん2013/09/27(金) 23:04:23.43
C#は文脈依存のキーワードが多いよ
0701デフォルトの名無しさん2013/09/27(金) 23:29:29.38
文脈どころかキーワードと同名の型が定義されているかどうかで
キーワードになるか型名になるかが決まったりするからな
dynamicなんかがそう
互換性を重視した結果、実はとんでもなく複雑な言語になっている
0702デフォルトの名無しさん2013/09/28(土) 00:24:07.68
dynamic ダイクマ
0703デフォルトの名無しさん2013/09/28(土) 01:21:52.77
懐かしいな
0704デフォルトの名無しさん2013/09/28(土) 02:16:11.73
結局C#って使い道がなくなったな
0705デフォルトの名無しさん2013/09/28(土) 03:34:03.06
DictionaryにAddしたオブジェクトを取り出して、値を書き換えてるんですけど変わらない事ってありますか?

コードで言うと、こんな感じです。
自分の理解では★の行はいらないと思ってるんですが。。

Dictionary<string, MyClass> mydic = new Dictionary<string, MyClass>();
MyClass s = new MyClass();
s.kakaku= "100円";
mydic.Add("りんご", s);

MyClass s2 = mydic["りんご"];
s2.kakaku="200円";

mydic["りんご"] = s2; ★これ要る?MyClassの実装によっては、これが無いと次の出力の時に反映されない?

foreach (KeyValuePair<string, MyClass> x in mydic)
{
MyClass mc = x.Value;
Console.Write(mc.kakaku);
}
0706デフォルトの名無しさん2013/09/28(土) 03:51:51.06
>>705
classと思っていたらstructだったとか
0707デフォルトの名無しさん2013/09/28(土) 04:06:19.91
>>706
ありがとうございます!それでした!!
ドンぴしゃでした!!!
0708デフォルトの名無しさん2013/09/28(土) 08:33:32.34
>>704
業務ではJavaに次ぐ地位だしWebでも延び続けてるしゲーム開発のデファクトスタンダードになりつつあるし
0709デフォルトの名無しさん2013/09/28(土) 09:22:25.44
COMで苦しめられたからマイクロソフトは信用出来ない
0710デフォルトの名無しさん2013/09/28(土) 09:32:49.90
設計者は元ボーランドの、Turbo PascalとかDelphiの開発者だけどな。
0711デフォルトの名無しさん2013/09/28(土) 09:34:26.95
今でもCOMやし。
0712デフォルトの名無しさん2013/09/28(土) 12:26:08.58
COMで何を苦しんだの?
0713デフォルトの名無しさん2013/09/28(土) 12:29:24.24
COMだいすき
0714デフォルトの名無しさん2013/09/28(土) 12:36:38.18
concon
0715デフォルトの名無しさん2013/09/28(土) 12:46:34.29
>>712
エラーコードがわけわかめな奴が結構あって、デバッグがやりづらかったな。
COM を実装する立場になると、しょうがない面もあるのはわかったけど。
エラー詳細の取得とか、もう少しデバッグがらみのインターフェースを充実して欲しかったな。
0716デフォルトの名無しさん2013/09/28(土) 12:54:49.97
COM最大の失敗は検索しにくいところ
0717デフォルトの名無しさん2013/09/28(土) 13:19:32.17
.NETもたいがい
C#も昔はそうだった
0718デフォルトの名無しさん2013/09/28(土) 13:26:31.91
Goの悪口はやめるんだ
0719デフォルトの名無しさん2013/09/28(土) 13:27:48.77
COM前出のOLEの頃に関連のMCPとか取ったけど
今のC#のCOMって別の物に見える。
MTA, STAもなんか省略前の名前が変わってるし、
QueryInterfaceとかレジストリのCLDIDとかまだ生きてるのかな?
0720デフォルトの名無しさん2013/09/28(土) 14:04:46.92
おうバッチリ生きてるぜ
0721デフォルトの名無しさん2013/09/28(土) 15:42:58.74
どっこい生きてるシャツの中
0722デフォルトの名無しさん2013/09/28(土) 17:32:49.46
Mac版Xamarin Studioが超絶バージョンアップ!C言語やD言語、F言語にも対応!Visual Studio不要に
http://engawa.2ch.net/test/read.cgi/poverty/1380351550/
0723デフォルトの名無しさん2013/09/28(土) 17:40:18.67
コピペマン参上!まで読んだ。
0724デフォルトの名無しさん2013/09/28(土) 17:43:27.71
マカーしね
0725デフォルトの名無しさん2013/09/28(土) 18:11:06.68
COMってGUIDはかぶらないよっていう前提に立っているけど
もしかぶったらやばいな。
0726デフォルトの名無しさん2013/09/28(土) 18:13:53.84
激しくデジャブーな話題だな。
っていうか宇宙全体の原子の数以上の組み合わせのものが一致する確率って
0727デフォルトの名無しさん2013/09/28(土) 18:27:23.47
でもあれかぶる可能性はあるよな
重複したとこで問題起きる可能性はまたさらに低いがw
0728デフォルトの名無しさん2013/09/28(土) 18:32:11.26
残念だがシードのパターンがそんなに無いからかぶる
0729デフォルトの名無しさん2013/09/28(土) 18:41:34.16
ついでだから聞いとこう

xxxxxxxx-xxxx-....xxx-1234
というGuidが登録済みとして、関連するGuidがもう一つ欲しい場合に
xxxxxxxx-xxxx-....xxx-1235
として登録しちゃって問題ない?

新たにGuidGenしたのと比較して被る確率は同じだよね?
0730デフォルトの名無しさん2013/09/28(土) 19:50:43.16
MSはそれしてるよなw
0731デフォルトの名無しさん2013/09/28(土) 20:09:25.80
>>726
似たような話を何年も前から聞いてる
メモリ4GBも使う訳ねぇだろwとか、
2000年までにこんなコンピュータ使う訳ねえだろwとか
0732デフォルトの名無しさん2013/09/28(土) 20:22:07.04
種はMACアドレスと時間じゃなかったか?
一致することはないよ。
0733デフォルトの名無しさん2013/09/28(土) 20:32:52.59
単純に考えてguidgenを組み合わせ数よりも多い回数実行したら・・・
0734デフォルトの名無しさん2013/09/28(土) 20:35:20.08
っていうか自分がguidgenつかってても他人がguidgen使ってなかったら意味ないじゃん
0735デフォルトの名無しさん2013/09/28(土) 20:39:12.20
>>731
確率的には、地面上の石ころの分子の振動方向が一致してひとりでに飛び上がる
確率より低いはずだけどね
0736デフォルトの名無しさん2013/09/28(土) 20:42:28.31
>>732
WindowsのGUIDは2kのころからUUIDv4実装
すなわちMACはシードに使ってない
0737デフォルトの名無しさん2013/09/28(土) 20:44:26.31
一応UUIDv1がほしいならUuidCreateSequentialで作れる
0738デフォルトの名無しさん2013/09/28(土) 20:48:55.69
>>735
誕生日のパラドクスと絡めた話が見つからないんだけど
その辺はどうなの?
0739デフォルトの名無しさん2013/09/28(土) 20:48:57.29
UUIDv1はケツの48bitが純然たるMACアドレスなのでセキュリティリスクを避けるために変えたらしい
GUIDで消費者追跡なんて話もあったね、昔
0740デフォルトの名無しさん2013/09/28(土) 21:06:03.45
>>736
ATL COMプログラミングの本にはMAC使ってるって書いてあった。
0741デフォルトの名無しさん2013/09/28(土) 21:15:24.84
>>740
原書の発売日(98')考えるとその当時はそれであってんじゃない
0742デフォルトの名無しさん2013/09/28(土) 21:23:26.84
>>738
誕生日のやつは本当のパラドックスじゃないけどな
0743デフォルトの名無しさん2013/09/28(土) 21:57:26.75
C#の使い道ってどんな場面ですか?
0744デフォルトの名無しさん2013/09/28(土) 22:01:26.42
他人を煽るネタにするときだね
0745デフォルトの名無しさん2013/09/28(土) 22:04:55.29
>>743
クライアント側で.NETが使える前提の環境で、
開発チームにC#に習熟した人が多い時
0746デフォルトの名無しさん2013/09/28(土) 22:06:03.12
>>741
VC6、ATL3.0だからその次はVS2002で.netだぞ。
0747デフォルトの名無しさん2013/09/28(土) 22:14:21.69
>>746
お前頭悪いなってよく言われるだろ
0748デフォルトの名無しさん2013/09/28(土) 22:15:31.79
MAC使ってないとか嘘言って引っ込みがつかなくなってんだろ。
0749デフォルトの名無しさん2013/09/28(土) 22:16:47.85
本が必ず正しいとも言えない
0750デフォルトの名無しさん2013/09/28(土) 22:38:04.50
>>747
じゃあ俺が丁寧に説明してやろう。
まず.NETのソースによるとNewGuidの実装はこうだ。

[System.Security.SecuritySafeCritical] // auto-generated
public static Guid NewGuid() {
// CoCreateGuid should never return Guid.Empty, since it attempts to maintain some
// uniqueness guarantees. It should also never return a known GUID, but it's unclear
// how extensively it checks for known values.
Contract.Ensures(Contract.Result<Guid>() != Guid.Empty);

Guid guid;
Marshal.ThrowExceptionForHR(Win32Native.CoCreateGuid(out guid), new IntPtr(-1));
return guid;
}

CoCreateGuidを呼んでいるな。
そしてそのリファレンスがここにある。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa379205%28v=vs.85%29.aspx
Return valueをよく見て欲しい。

>RPC_S_UUID_NO_ADDRESS
>Cannot get Ethernet or token-ring hardware address for this computer.

RPC_Sなので、これは関数は成功しているが補足がある状態だ。
曰く、ハードウェアアドレスは読み取れなかったんだそうだ。

ハードウェアアドレスが読み取れなかった場合の成功を特別に扱っているということは
普段の成功では読み取れているということだ。
何のために?当然ハードウェアアドレスをGUIDの生成に使うためだよな。暇つぶしではないだろう。
ちょっと下には cannot be traced to the ethernet address of the computer とあるし、
単に追跡ができなくなっているだけで、生成に使用していることは疑いようがない。
0751デフォルトの名無しさん2013/09/28(土) 23:05:35.93
悪意のある開発者が既存のグウイデに被せてきたら崩壊だろ
0752デフォルトの名無しさん2013/09/28(土) 23:07:43.99
C#でできるCCWのカスタマイズ方法教えてよ
マネージC++使わないとできないならめんどくせえ
0753デフォルトの名無しさん2013/09/28(土) 23:10:16.72
エラーコードがドキュメントに書いてあるから処理があるという考え方はどうかと思う
0754デフォルトの名無しさん2013/09/28(土) 23:11:10.38
すごい。MSが計算にMAC使ってるソースとしては完璧ですな。
これでGUID被ったら世界一運の悪い奴。
0755デフォルトの名無しさん2013/09/28(土) 23:13:35.82
MACアドレス自動生成してるシステムもあるのにw
0756デフォルトの名無しさん2013/09/29(日) 00:23:39.65
>>755
それはなんというシステムですか?
0757デフォルトの名無しさん2013/09/29(日) 00:25:21.79
>>755
何その迷惑システム
0758デフォルトの名無しさん2013/09/29(日) 00:37:18.96
PCだけやってるとMACアドレスは既に振ってあるものって思っちゃうけど
電子工作してるとMACアドレスは自分で振るものだし。
その辺の認識が違うよね。
0759デフォルトの名無しさん2013/09/29(日) 00:40:21.97
VMの仮想マシンのMACだって自動生成じゃん
無恥って怖い脳w
0760デフォルトの名無しさん2013/09/29(日) 00:46:45.76
ここで VM とか言い出す奴の方が怖いわ (w
0761デフォルトの名無しさん2013/09/29(日) 00:47:54.59
>>760
顔真っ赤ですよwww
0762デフォルトの名無しさん2013/09/29(日) 00:53:14.36
>>759
VMWareだとちゃんと自社のOUI振って生成してるが?
だから他社NICと被ることはない。
0763デフォルトの名無しさん2013/09/29(日) 01:10:27.51
>>761
草生やす奴って例外なくバカと言う法則
0764デフォルトの名無しさん2013/09/29(日) 01:33:55.08
>>761
なんで分かるんだよw
0765デフォルトの名無しさん2013/09/29(日) 01:43:58.06
>>762
VMWareなんて誰も言ってないじゃん・・・

どうして素直にあぁそうだったなって言えないの?
0766デフォルトの名無しさん2013/09/29(日) 01:48:31.66
>>758
おいおい、そんなのネットにつなぐなよ!
0767デフォルトの名無しさん2013/09/29(日) 02:07:01.79
>>762
どうでもいいけどそれって反論になってないんじゃないの?

というか、仮にMACが被っても、単に一致する確率が厳密に0だと保証できなくなるだけのことで、
恐らく太陽が明日西から昇るぐらいの確率でしか一致しないことに違いはないと思うけどね。
0768デフォルトの名無しさん2013/09/29(日) 02:11:15.42
太陽が西から昇る可能性はゼロ。GUIDがかぶる可能性はゼロじゃない。
0769デフォルトの名無しさん2013/09/29(日) 02:16:04.26
>>768
それはデカルト的な意味では正しくない
0770デフォルトの名無しさん2013/09/29(日) 04:08:04.36
MACアドレスだろうがGUIDだろうが、確率的に言えば有限の数しかないんだから、その個数分の1の確率でかぶる

地球の自転より速いスピードで自転と逆向きに進めば太陽は逆から昇るんじゃね
0771デフォルトの名無しさん2013/09/29(日) 04:31:12.90
GNUの尊師に頼めば逆から昇らせてくれるだろうけど、代償も大きいだろうね。
0772デフォルトの名無しさん2013/09/29(日) 05:36:40.29
バカボンのパパにでも頼めよw
0773デフォルトの名無しさん2013/09/29(日) 06:07:46.57
>>733
0774デフォルトの名無しさん2013/09/29(日) 08:11:44.63
議論()の余地なく重複するな
0775デフォルトの名無しさん2013/09/29(日) 08:12:22.08
>>765
じゃあ何のシステムなの? 
どうしてさっさと答えないの?馬鹿なの? あほなの?
なんでMAC使ってないというソースも出さないなの?
どうして次から次へと嘘つくの?
0776デフォルトの名無しさん2013/09/29(日) 08:29:36.07
>>775
俺は>>765じゃないが・・・
VMはバーチャルマシンの略だろ。vmware以外にもあるだろ
vmwareが自社の使ってても自動生成には変わりないし、自社の割り当て分超えるマシン数でMAC生成したらMACが重複するのもでる
GUIDにMAC使ってようが使ってなかろうが有限なんだから重複しないわけがない。ただ確率が低いだけ
0777デフォルトの名無しさん2013/09/29(日) 08:31:17.60
C#でできるCCWのカスタマイズ方法教えてよ
マネージC++使わないとできないならめんどくせえ
0778デフォルトの名無しさん2013/09/29(日) 08:42:46.24
>>776
うざいよ。さっさと重複するMACを生成するVMが何か言えば済む話だろ。
VMのMAC生成の仕様も知らないのに妄想でVMとか言うな。

馬鹿かおまえは。
0779デフォルトの名無しさん2013/09/29(日) 08:44:20.31
>自社の割り当て分超えるマシン数でMAC生成したらMACが重複するのもでる

この子算数できない子? 病院入れなきゃw
0780デフォルトの名無しさん2013/09/29(日) 08:55:54.16
>>778
MACアドレスは281,474,976,710,656個しかないから、仮に281,474,976,710,657台のPC(VM)で1つずつ生成したら100%重複する。
GUIDは2の122乗個しかないから、仮に1台のPC(VM)内で2の122乗+1個生成したら100%重複する。
馬鹿なの? あほなの?
0781デフォルトの名無しさん2013/09/29(日) 08:59:06.22
「仮に」にしても大概だわw
0782デフォルトの名無しさん2013/09/29(日) 09:00:05.08
>>780
普通最初の24ビットはベンダー固有だから
たった16777216個で重複だな
0783デフォルトの名無しさん2013/09/29(日) 09:01:20.78
おまえ頭にいいな。試しに重複させてみてくれ。
実際にその数だけVM生成してコリジョン発生させてくれ。

本当の馬鹿とは自分が馬鹿だとは気づかない。すべて妄想の中で生きている。
0784デフォルトの名無しさん2013/09/29(日) 09:04:51.91
だから「確率が低い」って言ってるだろ。現実的には重複しないんだよ
ただ、絶対に重複しないという保証はない
0785デフォルトの名無しさん2013/09/29(日) 09:07:18.50
大規模運用していると結構衝突するけどな。
運用中にトラぶったおかげでうちは自動生成は禁止になっている。
0786デフォルトの名無しさん2013/09/29(日) 09:13:29.33
>>785
そのMACを自動生成したシステムはなんというのですか?
今のところ具体的な実装は誰も言ってくれないのです。
0787デフォルトの名無しさん2013/09/29(日) 09:14:16.84
>>782
VMホスト1台でそれだから、ホスト1000台構成なら1/16777の確率で重複する。
0788デフォルトの名無しさん2013/09/29(日) 09:15:45.68
>>787
VMホスト内でチェックしてないそんな馬鹿な生成してるVMはどこのVMなんですか?

晒してやってください。
0789デフォルトの名無しさん2013/09/29(日) 09:18:06.94
重複チェックなんかするVMホストはないよ。
OpenFlowなんか使うと、逆にMACが重複していないと困ることもあるしな。
0790デフォルトの名無しさん2013/09/29(日) 09:19:52.62
UUIDは重複チェックしてるだろ。
0791デフォルトの名無しさん2013/09/29(日) 09:19:53.97
>>789
はい、また大嘘で固めてきましたーー
0792デフォルトの名無しさん2013/09/29(日) 09:20:06.83
ひとりの基地外に絡まれて脱線するC#スレwww
0793デフォルトの名無しさん2013/09/29(日) 09:21:14.61
GUIDじゃないが、ExUuidCreateならMSのソースコードが転がってるから参照するといいかも
0794デフォルトの名無しさん2013/09/29(日) 09:21:52.48
>>790
そりゃUUIDが重複したらインスタンス生成できないからな。
MACは重複チェックをしていない。
している実装があるなら挙げてみてな。
0795デフォルトの名無しさん2013/09/29(日) 09:23:11.54
VMwareなんてUUIDの下3バイトがそのままMACになる糞仕様だったはず。
0796デフォルトの名無しさん2013/09/29(日) 09:25:51.32
>>795
もう馬鹿晒すなよ。
0797デフォルトの名無しさん2013/09/29(日) 09:29:05.78
>>796
調べてみたら合ってたよ。
bios.uuidの下3バイトがそのままMACになっていた。
0798デフォルトの名無しさん2013/09/29(日) 09:34:14.93
>>797
だから何?
0799デフォルトの名無しさん2013/09/29(日) 09:35:36.18
>>798
もうゴールしていいんだよ
0800デフォルトの名無しさん2013/09/29(日) 09:36:19.56
ボクもゴールしたいです…
0801デフォルトの名無しさん2013/09/29(日) 09:41:22.02
ネスペから言わしてもらうとVMWareの仕様で何の問題もない。
仮想NICの構成に柔軟性もありよく考えられている仕様。いろんなテストもできる。

>大規模運用していると結構衝突するけどな。
>運用中にトラぶったおかげでうちは自動生成は禁止になっている。

それよりこれが事実かどうか知りたい。本当なのか。
一体どういうシステムでどういう付与ルールで運用したら衝突するのか。
よほどネットワーク知らない馬鹿かど素人が運用しているとしか思えない。
0802デフォルトの名無しさん2013/09/29(日) 09:49:45.98
>>801
息をするように嘘をつく、ネスペになりたいけど実は基本情報処理すら
持っていないのがバレバレです。
0803デフォルトの名無しさん2013/09/29(日) 10:01:31.34
>>801
もっと勉強しましょう、としか言いようがない。
0804デフォルトの名無しさん2013/09/29(日) 10:05:14.26
>>801
彼は韓国人だろうな。
youtubeとかで不正に再生数を増やそうとする馬鹿か、その下請け企業だよ。
ひとつのL2にコリジョンするほどぶら下げるなんて攻撃目的以外ありえない。
0805デフォルトの名無しさん2013/09/29(日) 10:07:49.35
スレチだし馬鹿はほっときゃいいよ
0806デフォルトの名無しさん2013/09/29(日) 10:11:51.27
一ついえるのはネットワーク技術者は
ものの見方が狭くバカが多いってこと
0807デフォルトの名無しさん2013/09/29(日) 10:16:00.40
L2にそんなに繋いてる時点で捏造でしょ。
それ以前にテーブルフローしてまもとにパケット流れないよ。
0808デフォルトの名無しさん2013/09/29(日) 10:23:09.57
何でL2に繋ぐ台数が関係するんだよ
やはりネスペはバカが多い
0809デフォルトの名無しさん2013/09/29(日) 10:25:07.74
>何でL2に繋ぐ台数が関係するんだよ

>何でL2に繋ぐ台数が関係するんだよ

>何でL2に繋ぐ台数が関係するんだよ

>何でL2に繋ぐ台数が関係するんだよ

>何でL2に繋ぐ台数が関係するんだよ
0810デフォルトの名無しさん2013/09/29(日) 10:26:46.07
お、ネスペが発狂した
シコらなくていいの?
0811デフォルトの名無しさん2013/09/29(日) 10:29:04.50
くやしいのう くやしいのう
0812デフォルトの名無しさん2013/09/29(日) 10:36:54.82
OpenFlowもしらないバカはでしゃばって出てくんなよw
0813デフォルトの名無しさん2013/09/29(日) 10:41:50.76
自分の知ってるものを挙げて
「xxも知らないのか」っていうバカは
ソフトウェア開発者に多い
0814デフォルトの名無しさん2013/09/29(日) 10:43:15.52
そろそろクローズしませんか?
0815デフォルトの名無しさん2013/09/29(日) 10:45:36.38
ボクの校門もクローズしたいです
0816デフォルトの名無しさん2013/09/29(日) 10:47:33.24
>OpenFlowなんか使うと、逆にMACが重複していないと困ることもあるしな。

既に運用設計が間違ってるとしか。
0817デフォルトの名無しさん2013/09/29(日) 10:48:32.22
これ以上は違うところでやってくれないですかね
0818デフォルトの名無しさん2013/09/29(日) 10:59:45.51
>>813
ソースは?
0819デフォルトの名無しさん2013/09/29(日) 11:03:01.34
ソースは俺!
0820デフォルトの名無しさん2013/09/29(日) 11:04:45.38
OpenFlowで自動生成したらトラブりましたってw

ただの馬鹿じゃん。
0821デフォルトの名無しさん2013/09/29(日) 11:11:48.53
>>820
OpenFlowクンと自動生成でトラぶりましたクンは別のバカ。
0822デフォルトの名無しさん2013/09/29(日) 11:13:25.42
誰も書いてないこと言い出すバカキターーーーーーー。
0823デフォルトの名無しさん2013/09/29(日) 11:17:32.16
>>820
お前がただの馬鹿だったなw
0824デフォルトの名無しさん2013/09/29(日) 11:19:58.92
>>825はどうしようもないバカ
0825デフォルトの名無しさん2013/09/29(日) 11:28:45.66
まーた初心者スレの>>70か
0826デフォルトの名無しさん2013/09/29(日) 11:29:15.17
>>825はどうしようもないバカ
0827デフォルトの名無しさん2013/09/29(日) 11:30:17.81
>>825はどうしようもないバカだと聞いてきしまた。
0828デフォルトの名無しさん2013/09/29(日) 11:30:58.80
おいやめろバカ
0829デフォルトの名無しさん2013/09/29(日) 11:36:34.42
>>825は本当にどうにもならんアスペだな。
0830デフォルトの名無しさん2013/09/29(日) 11:45:58.78
>>825 にはがっかりだ
0831デフォルトの名無しさん2013/09/29(日) 11:47:45.30
これは当たってるな。ワロタw
0832デフォルトの名無しさん2013/09/29(日) 12:12:03.09
>大規模運用していると結構衝突するけどな。
>運用中にトラぶったおかげでうちは自動生成は禁止になっている。

大規模なのに手動設定とは大変だなwww
0833デフォルトの名無しさん2013/09/29(日) 12:18:08.78
おまえにシステム管理任せたら人手がかかって大変そうだな
普通に考えてAPI任せじゃなくて、規則性もたせたバッチファイルなりソフトで自動生成って意味だろ
0834デフォルトの名無しさん2013/09/29(日) 12:30:07.43
>>813
どこにでも居るよ!!
0835デフォルトの名無しさん2013/09/29(日) 12:37:34.71
COMスレでやれよカス
0836デフォルトの名無しさん2013/09/29(日) 12:45:03.58
スクリプトでチェックせずにプリントアウトして目視チェックしてるやつって必ずいるよな。
0837デフォルトの名無しさん2013/09/29(日) 12:53:28.46
スクリプトのテストが工程に加わるからな
非効率でも頑張って目視するしかないよ
0838デフォルトの名無しさん2013/09/29(日) 12:56:50.46
↑だってさ >>836
0839デフォルトの名無しさん2013/09/29(日) 13:03:03.65
そんなもんだよ
テスト自動化を進言したら
テストコードのテストで工程が増えるからって拒否される
それが老害の世界なんだ
やつらまだ機械より人間が賢いと思ってやがる
0840デフォルトの名無しさん2013/09/29(日) 13:07:49.55
重複チェックをスクリプトでチェックしますといって拒否る老害なんていないだろ。
COBOL世代こそperl使いだらけじゃねーか。
0841デフォルトの名無しさん2013/09/29(日) 13:10:30.91
実際いるだろ。便利にすると逆に怒られる。自分はこうして努力し続けてたんだって。知るかよ
0842デフォルトの名無しさん2013/09/29(日) 13:12:29.17
>>840
拒否はしない
スクリプトのテストを要求される
めんどくさいから僕はプリントして
残業代いっぱいもらう方を選んだ
0843デフォルトの名無しさん2013/09/29(日) 14:08:07.93
オタリーマンの世界だなw
0844デフォルトの名無しさん2013/09/29(日) 14:30:36.03
うちとはまるで逆だな
何でもいいから工数減らせってお達しが出てるわ
業績悪いから
0845デフォルトの名無しさん2013/09/29(日) 22:20:07.73
>>844
無駄な努力
80:20の法則でいう20の方なんだよ効率化って
0846デフォルトの名無しさん2013/09/29(日) 22:40:53.07
バカだなあ
契約形態が完成物に責任が伴う契約か
業務委託かで話が違ってくるのに
あ、偽装請負派遣が横行してるから区別つかないのか
0847デフォルトの名無しさん2013/09/30(月) 02:05:14.43
>>839
テストコードが間違ってたらテストにならねーじゃん。
プログラムってものは人間が目で見なけりゃなんねーんだよ。
見た時間に比例して不具合も見つかるし
本質的な仕様の問題も見つかるんだ
覚えとけ若いの
0848デフォルトの名無しさん2013/09/30(月) 02:13:05.28
覚えとけ若いのだって(笑
ロートルってやーね
0849デフォルトの名無しさん2013/09/30(月) 07:32:23.86
>>847
ありがたいアドバイスありがとうございます
0850デフォルトの名無しさん2013/09/30(月) 08:07:48.32
>>839
> やつらまだ機械より人間が賢いと思ってやがる

賢いだろ?
適当に手抜いたり、サボったりできるしな (w

冗談はさておき、確実性と速度はやつらの方がはるかに上回ってる。
テストコードの信頼性については、まともなやつらが組んでいれば、ある項目について製品とテストコードの両方が間違っている可能性は、>>847 あたりのロートルが見過ごす可能性はより低いだろ。
万が一そう言うことがあっても、テストコードを修正すればその後はほぼ確実に防げるしな。
0851デフォルトの名無しさん2013/09/30(月) 08:30:33.71
人の方が確実性と速度が速いのか
ならもうテストだけじゃなくてシステム全部手動にすりゃいいのに
0852デフォルトの名無しさん2013/09/30(月) 08:33:46.06
そうやってサボる事ばかり考えて
テストコードで全部検証しましたから。キリッ!
とか言いって全く見ない。
そしてテストコードが現状にマッチしなくなってても気が付かないわけか
0853デフォルトの名無しさん2013/09/30(月) 08:41:21.43
そろそろ出勤しなさい奴隷たちよ
0854デフォルトの名無しさん2013/09/30(月) 09:12:21.82
>>852
それやってるやつが無能なだけじゃん。そんなやつはテスト使わずに自分で検証しても結果は同じだよ
0855デフォルトの名無しさん2013/09/30(月) 09:53:46.03
>>854
いや。無能なのは>>852
使ってる人間(テストコード)に問題があるのか、テストシステムに問題があるのかがごっちゃになっている
このタイプの人間はトラブったときに原因の切り分けができずに詰む
0856デフォルトの名無しさん2013/09/30(月) 12:22:10.46
お昼だぞ〜土方集まれ〜^o^/
0857デフォルトの名無しさん2013/09/30(月) 13:37:57.97
>>847
>本質的な仕様の問題も見つかるんだ
コーディング段階で見つからない本質的な仕様ミスを、テストで見つけるんですか
無能なプログラマの居る会社のテスターさんは凄いですねぇ
0858デフォルトの名無しさん2013/09/30(月) 14:02:56.82
>>857
ちょっと意味が分らない。
0859デフォルトの名無しさん2013/09/30(月) 14:52:08.96
見つかるよ。
仕様自体のセキュリティリスクとか。
0860デフォルトの名無しさん2013/09/30(月) 14:58:35.35
仕様書作る段階でアレっ?
仕様書に目を通した段階でアレっ?
開発段階でアレっ?
テスト段階でアレっ?

本質的な仕様ミスなら最初の段階で見つけろよw
0861デフォルトの名無しさん2013/09/30(月) 15:05:21.39
見つからないときは見つからない。
チェックすればバグが見つかると思ってる奴は技術者失格。
0862デフォルトの名無しさん2013/09/30(月) 15:11:15.91
おやつ休憩〜\^o^/
0863デフォルトの名無しさん2013/09/30(月) 15:56:48.11
見つからないときは本気で見つからないだろうけど
テスト段階でコード見るだけでみつかる本質的な設計ミスって話だからな
設計した人間とコーディングした人間はどんだけ無能なんだって話
0864デフォルトの名無しさん2013/09/30(月) 16:24:50.46
まあ見つからないときはそんなもんさ。
チェックシステムのほうが効果あるかもね
0865デフォルトの名無しさん2013/09/30(月) 16:30:28.66
無能が9割の中で開発するのが現実。

まじ少数精鋭なんてMSぐらいでしょ。
0866デフォルトの名無しさん2013/09/30(月) 17:42:32.52
C#のスレかと思ったら違うようなので他のスレに行きますね
0867デフォルトの名無しさん2013/09/30(月) 18:46:07.13
はい
0868デフォルトの名無しさん2013/09/30(月) 19:02:52.56
ところでC#には規格書や仕様書はないのかね?
MSDNではあまりにも不十分だよ
0869デフォルトの名無しさん2013/09/30(月) 19:11:30.04
これ
http://www.microsoft.com/en-us/download/details.aspx?id=7029

ただ落としてみると4thって書いてあるのが気になる
ECMAのよりは新しいみたいだけど
0870デフォルトの名無しさん2013/09/30(月) 19:12:30.60
>>855
>このタイプの人間はトラブったときに原因の切り分けができずに詰む

そういう発想がすぐ浮かぶってことはお前自身がそういうタイプなわけか
0871デフォルトの名無しさん2013/09/30(月) 19:15:51.37
>>869
いつの版だよ
最新版は5.0だぞ
0872デフォルトの名無しさん2013/09/30(月) 19:17:17.36
>>871
microsoftはこれをC#5のだって言い張ってんだよw
ダウンロードページ開いてみれば分かる

目次見るとAsyncFunctionのセクションがあるからC#5.0の規格だと思う
0873デフォルトの名無しさん2013/09/30(月) 19:52:35.61
>>870
「お前自身がそういうタイプ」とも考えられるが、「お前のまわりにそういう奴がいる」のようにも考えれるだろ?
こういうように色々なケースを思い浮かばないタイプってことな。つまりお前みたいなやつのことだ
0874デフォルトの名無しさん2013/09/30(月) 20:02:38.05
人間自分のコンプレックスを書き込むという心理があるから前者だな
テストしたくないんだよな?はいはいおkおk
0875デフォルトの名無しさん2013/09/30(月) 20:48:25.98
マ 板 で や れ
0876デフォルトの名無しさん2013/09/30(月) 20:49:29.87
>>869
おじさんありがとう!
0877デフォルトの名無しさん2013/09/30(月) 20:52:08.10
何だこの野郎お前よりたぶん若いぞ
0878デフォルトの名無しさん2013/09/30(月) 21:03:33.82
25まではお兄さん
それ以後はおじさん
40過ぎたら老害
0879デフォルトの名無しさん2013/09/30(月) 21:37:26.34
>>875の言う通りですよー
0880デフォルトの名無しさん2013/10/01(火) 07:50:03.96
40は初老
0881デフォルトの名無しさん2013/10/01(火) 07:55:29.14
言語より.NET Frameworkの仕様書がほしい
マイクロソフトのウェブサイトは適当すぎる
0882デフォルトの名無しさん2013/10/01(火) 09:24:39.66
仕様書読んだことあるけど、Webの方が詳しく書いてあるよw
0883デフォルトの名無しさん2013/10/01(火) 12:11:29.25
>>881
ここ2、3年のマイクロソフトのドキュメントの品質が
劣化してるように感じる
言語仕様はともかく.NET Frameworkの説明はひどいね
0884デフォルトの名無しさん2013/10/01(火) 12:36:11.51
その点Javaは充実してるよな
0885デフォルトの名無しさん2013/10/01(火) 13:05:15.22
昔からM$のドキュメントはイミフだっただろ
0886デフォルトの名無しさん2013/10/01(火) 13:10:29.66
日本語ドキュメント=日本語になってない。分かってる奴でもイミフ
英語ドキュメント=大部分は理解可能
0887デフォルトの名無しさん2013/10/01(火) 13:37:35.07
自動翻訳しただけだしなぁ
0888デフォルトの名無しさん2013/10/01(火) 19:16:44.45
>>884
Javaはドキュメントの量が少ないから翻訳に手間かけられるだけでしょ
メソッドの説明が一行で終わりとかザラだし
0889デフォルトの名無しさん2013/10/01(火) 20:05:34.91
原文の話じゃないのか?
0890デフォルトの名無しさん2013/10/01(火) 20:17:27.21
日本語の技術資料は圧倒的にWinodws関連だよ。
MS以外のブログ、入門サイトも含めて圧倒的。
0891デフォルトの名無しさん2013/10/01(火) 20:24:36.54
日本語のサイトなんか見ない方がいいぞ
0892デフォルトの名無しさん2013/10/01(火) 20:26:21.91
原文で比べるなら尚更JavaのドキュメントがMSDNに内容で勝ってるところなんて無いだろ
日本語訳の質と検索のしやすさと軽さはJavaに分があるが
0893デフォルトの名無しさん2013/10/01(火) 20:54:21.22
おまえらJavaもやってるのか。スキルたけーな。
0894デフォルトの名無しさん2013/10/01(火) 20:57:05.28
http://msdn.microsoft.com/ja-jp/library/bb399213.aspx
未婚型
0895デフォルトの名無しさん2013/10/01(火) 20:57:23.32
むしろJavaできないとか不自然じゃね
0896デフォルトの名無しさん2013/10/01(火) 21:00:47.24
3人の役に立っただとう・・・!
0897デフォルトの名無しさん2013/10/01(火) 21:03:02.55
言語だけならC#ができればJavaは既にマスターしてるようなもんだろ
Javaで使えない機能を覚えるだけ
0898デフォルトの名無しさん2013/10/01(火) 21:13:25.38
いやー
その考えはどうかと。
やりたいことと、そのための最適なクラスライブラリを空で言えるくらいになってないと業務では使えない。
0899デフォルトの名無しさん2013/10/01(火) 21:13:44.78
>>894
なんかムカつくからダブル使うわ
0900デフォルトの名無しさん2013/10/01(火) 22:02:11.74
.NETからJavaに行くとJDKがあまりにもスカスカでカルチャーショックを受ける。
同時に、だから訳のわからんライブラリが乱立してるのかと納得もするけど
0901デフォルトの名無しさん2013/10/01(火) 22:03:47.32
シングルトンパターンは未婚豚パターンか
0902デフォルトの名無しさん2013/10/01(火) 22:13:54.90
Singleワロタwww
0903デフォルトの名無しさん2013/10/01(火) 22:29:30.82
その場しのぎで作ってるところは中途半端で理解に苦しむようなライブラリ・クラスが
乱立するよな。ORACLEの伝統だが。
0904デフォルトの名無しさん2013/10/01(火) 22:41:52.60
俺のソースがそれになってるわ。整理しないと・・・
0905デフォルトの名無しさん2013/10/01(火) 22:52:43.75
カオスを越えて週末が近づく
0906デフォルトの名無しさん2013/10/02(水) 08:03:59.91
>>898
業務で使ってるけど
MSDNとかJavadocとかないと無理だわ。
0907デフォルトの名無しさん2013/10/02(水) 09:44:26.47
>>894
お、俺doubleしか使わねーし(震え声)
0908デフォルトの名無しさん2013/10/02(水) 17:37:54.24
マルチスレッド簡単君うざい。
0909デフォルトの名無しさん2013/10/02(水) 17:41:14.57
>>70うざいまで読んだ
0910デフォルトの名無しさん2013/10/02(水) 18:48:58.56
よしよし何度も読め
0911デフォルトの名無しさん2013/10/02(水) 18:55:37.06
次スレ70は俺のもの
0912デフォルトの名無しさん2013/10/03(木) 15:04:28.84
シングルトンパターンの優位性ってなんなの?
ネットで調べてもこういうパターンだという解説だけで実務的メリットの解釈がまったくない

それよりWPがまったく普及しないからそろそろObjective-Cが必要になりそうなんだがMacやLinuxにVS提供する気はないんですかねM$さん・・・
MonoDevelopが糞過ぎてXcode使わざるを得ないんだが、Objective-Cが輪をかけて糞なんだよな
C#の出来はこんなに良いのに・・・モバイルに乗り遅れたM$マジで恨むわ
0913デフォルトの名無しさん2013/10/03(木) 15:28:40.09
恨む先が間違ってる
0914デフォルトの名無しさん2013/10/03(木) 15:38:45.93
>>912
つ Xamarin

sigletonパターンはほとんどのケースではstatic classで十分
特徴といえば初期化が遅延できるくらいか
0915デフォルトの名無しさん2013/10/03(木) 18:56:36.58
次はオブジェクト生成時のロックで1スレ潰すのか?
0916デフォルトの名無しさん2013/10/03(木) 19:18:30.53
ロックンローォォォォル!!
0917デフォルトの名無しさん2013/10/04(金) 08:08:29.17
RTから離脱すればWPも売れる
0918デフォルトの名無しさん2013/10/05(土) 11:05:41.24
>>664
この後64bitビルドして10日、バグ再発せず。
WOW64が原因かも。
0919デフォルトの名無しさん2013/10/05(土) 11:07:20.98
情報共有乙です
0920デフォルトの名無しさん2013/10/05(土) 23:01:14.01
データベースに格納されている、シングルクォーテーションやダブルクォーテーション、円記号を含む文字列を読み込みたいのですが、単純にString型の変数や配列に突っ込むとエラーを吐きそうに思います。
@をつければ円記号については回避できるでしょうが、ダブルクォーテーションに関しては、どこかに格納しないとエスケープシーケンスをつけることもできないのに格納ができないということで回避策がないように思うのですが、どうすればいいのでしょうか?
0921デフォルトの名無しさん2013/10/05(土) 23:02:41.99
> エラーを吐きそうに思います。
吐かない
0922デフォルトの名無しさん2013/10/05(土) 23:05:39.17
やってみりゃわかるだろうがよォー
0923デフォルトの名無しさん2013/10/05(土) 23:09:04.22
>>921
この辺りは問題ないように考えられているんでしょうかね、ともかく問題ないようで助かりました。
ありがとうございます。
>>922
取り越し苦労だったようで…
0924デフォルトの名無しさん2013/10/05(土) 23:13:22.42
ところが馬鹿が組むとトラブルw
0925デフォルトの名無しさん2013/10/05(土) 23:47:05.88
@をつけたリテラルの中では”は””と2個かさねることでエスケープする。
@をつけない文字列なら¥”でエスケープする。
0926デフォルトの名無しさん2013/10/05(土) 23:48:59.93
>>925=どうしようもないばか
0927デフォルトの名無しさん2013/10/06(日) 00:02:52.34
20KB程度のファイルをコピーした後、
すぐにFileStream で開くと例外が発生します。

File.Copy(srcFilePath, tarFilePath, true);
FileStream fs1 = new FileStream(srcFilePath, FileMode.Open);

Exceptionのメッセージは以下の通りです。
====
別のプロセスで使用されているため、プロセスはファイル XXX にアクセスできません。
====

File.Copy() 関数にて srcFilePath のアクセスを
握っているのだと思いますが、File.Copy() 関数は
戻り値が void であるため、アクセスを開放したことを
知ることができません(と思っています)。
上記の解決方法をご存知の方、お教え願えませんでしょうか。
09289272013/10/06(日) 00:07:53.89
実際には、次のように記述しています。

�@exe実行時にファイルをファイル選択ダイアログから読み込ませ、
 ファイルを読み込む。その際、File.Copy() 関数にて、tmpファイルを作る。
�Aアプリは、ファイルの中身を編集することができる機能を持つ。
�Bアプリを終了するとき、FileStreamを用いて、srcファイルと tmpファイルの
  比較を行い、必要であれば上書きし、終了する。

この仕様のアプリを作っているのですが、
exeを実行してファイルを開いたあと、すぐにアプリを閉じると
例外が発生していました。原因を追究していくと、
File.Copy() のあとですぐに FileStream で開くとNGだということが分かりました。

10秒ほど待ってからアプリを閉じれば
例外は発生せずに閉じることができます。

原因や対処方法など、分かりましでしょうか。よろしくお願いします。
0929デフォルトの名無しさん2013/10/06(日) 00:10:31.84
>File.Copy() 関数にて srcFilePath のアクセスを握っているのだと思いますが
それは絶対ないと思うw
ちゃんと確認した?
09309272013/10/06(日) 00:18:16.41
>>929
レスありがとうございます。
絶対に無いですか、どうやって確認したら良いでしょうか?

今はテストコードとして

File.Copy(srcFilePath, tarFilePath, true);
FileStream fs1 = new FileStream(srcFilePath, FileMode.Open);
FileStream fs2 = new FileStream(tarFilePath, FileMode.Open);

のように書いてみていますが、
BreakPointを3行全部につけて実行していると、
2行目を実行する時点で例外が発生しています。
0931デフォルトの名無しさん2013/10/06(日) 00:23:00.60
メモ帳とかで開いてんじゃないの?w
0932デフォルトの名無しさん2013/10/06(日) 00:28:13.87
アクセス権なしで開いて、Closeしてないんだろ
0933デフォルトの名無しさん2013/10/06(日) 00:30:51.32
>>930
・1行目と2行目を入れ替えたらどうなる?
・ウイルスソフトの入ってないPCでも同じ結果になる?
09349272013/10/06(日) 00:31:36.11
>>931
いえ、開いていません。

>>932
fs1.close(); fs2.close(); は行っています。
また、上でも書いていますが、
exeを開いてから10秒ほど経過してから
FileStreamでOpenした場合は、問題なくOpenできています。

exeを実行してから10秒で勝手にCloseされる処理が
どこかに入っているはず、ということでしょうか?
0935デフォルトの名無しさん2013/10/06(日) 00:33:50.25
>>934
単純にその3行(>>930)の処理だけのプログラム作って再現するか見てみればいいじゃん。
環境原因なら再発するだろうし。
ちなみに俺が今ためしたところ全然起きないよ。
09369272013/10/06(日) 00:37:56.18
>>933
>>935
みなさまレスありがとうございます。
1行目と2行目を入れ替えたところ、
FileStream(つまりもともとの2行目)のところで
例外発生しました。

File.Copy() は無関係でした。皆様の予想通りです。

なぜ入れ替えてデバッグしなかったのか、お恥ずかしい。
もっとデバッグしてから出直してきます。
0937デフォルトの名無しさん2013/10/06(日) 03:15:09.57
>>928
3で、2つのファイルを比較して、
変更されていたら上書き保存するのは、面倒すぎる
比較するとは1文字ずつ、すべての文字を比較するのでしょ?

dirtyフラグを使って、1文字でも変更したら、
たとえ元に戻しても、上書き保存すれば?

それと、丸3のような環境依存文字は、使わないほうが良いのでは?
0938デフォルトの名無しさん2013/10/06(日) 04:25:11.04
>>937
環境依存文字とは何でしょうか?
何故使用しない方が良いのでしょうか?
0939デフォルトの名無しさん2013/10/06(日) 04:29:47.56
気にすんな。使って問題ない
0940デフォルトの名無しさん2013/10/06(日) 08:58:03.54
いまだに環境依存文字とか言うやついるのかw
0941デフォルトの名無しさん2013/10/06(日) 09:09:08.43
2chが未だにShift_JISなのが悪い
0942デフォルトの名無しさん2013/10/06(日) 09:17:21.11
えっ?
ソースは?
09439272013/10/06(日) 09:44:47.69
>>937
コメントありがとうございます。
比較部分については再検討してみます。


>みなさま
ファイル選択後にファイル操作を
している部分があり、readerをclose
していない箇所がありました。
お騒がせいたしました。
0944デフォルトの名無しさん2013/10/06(日) 09:45:58.06
>>942
1.IEで2ちゃんねるを開きます
2.右クリックしてエンコードを見ます
0945デフォルトの名無しさん2013/10/06(日) 10:13:24.77
関西にいたときどのスーパーいってもブルドックがなくて往生した
だいたいカゴメしかおいてなかった
0946デフォルトの名無しさん2013/10/06(日) 10:18:23.58
東京に引っ越したときにソースが
ブルドックソースしかなくて
発狂しそうになったわ

>>944
見た。「シフトJIS」と書かれてた。
じゃOKだね。
0947デフォルトの名無しさん2013/10/06(日) 10:28:32.02
日本語フォントは全て機種依存フォントだな
アルファベットで書かないとあかんで
0948デフォルトの名無しさん2013/10/06(日) 11:06:34.65
ちゃんとローマ字を打って変換しているから大丈夫だよ
0949デフォルトの名無しさん2013/10/06(日) 12:43:45.04
>>945
オリバーソースもあっただろ
0950デフォルトの名無しさん2013/10/06(日) 13:03:36.43
関東では、あのエロ監督のブルドッグソースのCMまだ放映してるのかな
0951デフォルトの名無しさん2013/10/06(日) 13:25:04.78
ゲーム作ってて、ゲーム内のUIについてイベントドリブンを上手く実装できないので質問。

現状フォーム内のどこかがクリックされた時に、
C#のイベント機能を使って、
配置されてるボタン等のClicked関数が呼ばれるようになってる。

これだと2つのボタンが重なっていた時、上のボタンと下のボタン両方のClickedが呼ばれてしまうんだけど、
上のボタンだけクリックされたことにしたい。

これC#のイベントでうまくできませんか?
0952デフォルトの名無しさん2013/10/06(日) 13:34:15.20
ボタンなどのコンポートを抽象クラスで管理
このクラスはz座標と二次元当たり判定を持つ
画面のある点x,yをクリックしたらz座標が最も高くx,yを当たり判定領域に含むオブジェクトのclickedを起動させる
0953デフォルトの名無しさん2013/10/06(日) 13:34:20.34
「うまく」って言うのが何をさしてるか知らないけど
基本はどっちが上にあるかを自分で判定してハンドラを振り分けるだけ

一般的にUIのイベントモデルはバブルアップバブルダウンで実装される
(呼称はUIシステムの作者によって違う場合があるが、基本は同じ)
普通のFormと同じように動かしたいならこれを実装するしかない
0954デフォルトの名無しさん2013/10/06(日) 13:36:30.23
>2つのボタンが重なっていた時、上のボタンと下のボタン両方のClickedが呼ばれてしまう
Windows FormでもWPFでもそんなことは起こりませんw
(WPFならUIツリーによってはそういう動作も可能だけど)

何か勘違いしてないか
0955デフォルトの名無しさん2013/10/06(日) 13:38:00.13
>>954
勘違いしてるのはお前
恥ずかしいやつだな
切腹したら?
0956デフォルトの名無しさん2013/10/06(日) 13:41:01.96
>>955
実際にやってから言えよ馬鹿
0957デフォルトの名無しさん2013/10/06(日) 13:42:40.71
普通に実装するしかないですか/(^o^)\
C#のイベントで、event呼び出される順序の定義とか、残りの(まだ呼び出されてない)イベントを切り捨てるとか
そういうことができたらいいなあと思ったんですが無さそうですね/(^o^)\
ありがとうございます
0958デフォルトの名無しさん2013/10/06(日) 13:48:24.93
>>954
Formの上にボタンなんかは何もなくて
自前で描画してる状態の話だよ
さすがに察してるよね?
0959デフォルトの名無しさん2013/10/06(日) 13:52:38.62
察してたらあんな発言しないだろ
0960デフォルトの名無しさん2013/10/06(日) 13:58:30.41
上から順番にイベントハンドラが呼ばれる実装なら引数で対応できる
0961デフォルトの名無しさん2013/10/06(日) 14:03:32.99
addとremoveを使ってなければeventは追加順なんだっけ?
デリゲートは追加順保障してるよね
0962デフォルトの名無しさん2013/10/06(日) 14:07:57.72
イベントは誰が発火してるんだ?
0963デフォルトの名無しさん2013/10/06(日) 14:39:52.88
>>957
>event呼び出される順序の定義とか、残りの(まだ呼び出されてない)イベントを切り捨てるとか
>そういうことができたらいいなあ

void OnHoge()
{
 if( Hoge != null )
 {
  Hoge();
 }
}

とイベントを発火させてるところで

foreach( EventHandler dlg in Hoge.GetInvocationList() )
{
 if( foo )
 {
  dlg( s, e );
 }
}

みたいな感じで発火をコントロールできる
0964デフォルトの名無しさん2013/10/06(日) 14:49:39.35
そんなことしたら明示的にマルチキャストデリゲートを追加した場合に正しく動作しないだろ
0965デフォルトの名無しさん2013/10/06(日) 14:50:04.47
放火は犯罪だ
0966デフォルトの名無しさん2013/10/06(日) 14:55:52.99
>>963
なるほど、そんなメソッドがあるのか
ちょっとやってみますありがとう
0967デフォルトの名無しさん2013/10/06(日) 18:43:59.09
>>965
放屁魔乙
0968曹操2013/10/06(日) 21:06:24.92
自慢の艦隊が何者かに放火されて全焼してしまいました。
下手人を捕らえてください。
0969デフォルトの名無しさん2013/10/06(日) 22:08:14.31
邪魔
0970デフォルトの名無しさん2013/10/06(日) 22:43:22.13
ギャグ飛ばすなら面白い奴にしろ
0971 ◆QZaw55cn4c 2013/10/06(日) 23:02:20.83
>>968
下手人は自爆しました
0972デフォルトの名無しさん2013/10/07(月) 04:19:02.68
「C:\Program files\*\*.exe を指すショートカット」をProcess.Start()に食わせると

ハンドルされていない例外: System.ComponentModel.Win32Exception: 指定されたファイルが見つかりません。
場所 System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)

っていう謎現象に悩まされてるんだけどどういうこと
OK File.Exists()でチェック
OK ショートカットじゃなくC:\Program files\*\*.exeを直に指定して実行
OK 他の場所のexeを指すショートカットの実行
半角スペース原因じゃなくて権限系だと思ってるけど…

やりたいのはショートカットを読み込ませるお手軽ランチャ。
ランチャなのでProgram Files以下を指定できないとお話にならない
0973デフォルトの名無しさん2013/10/07(月) 05:07:06.17
>>972
ショートカットの実装などネットで探せば見つかるから
それに読み込ませてパスを取得してC:\Program files\*\*.exeの形で実行すればいいだろ
0974デフォルトの名無しさん2013/10/07(月) 09:57:27.26
>>972
32bitプロセスがリダイレクトされてるんじゃね?

C:\Program files\...じゃなくて
C:\Program Files (x86)\...の方見に行ってファイルがないよって怒られてるとか

参考
http://msdn.microsoft.com/ja-jp/library/aa365743
0975デフォルトの名無しさん2013/10/07(月) 10:37:34.20
C:\Program Files (x86)無くならねーかなぁ
実際はx86で動かすしか無いのが多いから、区別する為に必要なんだろうけども
0976デフォルトの名無しさん2013/10/07(月) 10:39:19.64
手抜きして
System64
Program Files(x64)
を作らなかったMSがすべて悪い。
0977デフォルトの名無しさん2013/10/07(月) 10:52:27.45
あー、どうせ別フォルダ作るならx64用を作って欲しかったな
何度迷子になったことか
0978デフォルトの名無しさん2013/10/07(月) 10:57:35.99
同感だわ
regsvr32.exeも、system32に入ってるのは64ビット用で、sysWow64のが32ビット用とか罠すぎる
わざとトラブル源作ってるとしか思えん
0979デフォルトの名無しさん2013/10/07(月) 16:45:47.62
ファイルとフォルダのロケーションの取得について質問です
OpenFileDialogでは、OpenFileDialogコントロールをダブルクリックした場所(FileDialog_FileOk内)に
 Label.Text = openFileDialog.FileName;
などと記述すればラベルに格納されますが
folderBrowserDialogのコントロールをダブルクリックした場所(folderBrowserDialog_HelpRequest内)に
 Label.Text = folderBrowserDialog.SelectedPath;
などと記述した場合は取得されません
OpenFileDialogのように、このダイアログ内にコードを書いてしまいたいのですが、folderBrowserDialogの場合はfolderBrowserDialogを呼び出す別のコントロールに
 if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
  Label.Text = folderBrowserDialog.SelectedPath;
などと記載するしかないのでしょうか?
0980デフォルトの名無しさん2013/10/07(月) 16:57:16.00
>>979
いかにもその通り
folderBrowserDialogのヘルプ見りゃあ何故か分かる
0981デフォルトの名無しさん2013/10/07(月) 17:19:38.58
>>981
早速の返答ありがとうございました
0982デフォルトの名無しさん2013/10/07(月) 17:30:32.44
間違えました>>980でした
ありがとうございます

ついでに次スレ立てました
C#, C♯, C#相談室 Part81
http://toro.2ch.net/test/read.cgi/tech/1381134494/
0983デフォルトの名無しさん2013/10/07(月) 19:13:38.08
>>982
おつ
0984デフォルトの名無しさん2013/10/07(月) 23:53:53.86
MSDNのFile.Moveメソッドの例外一覧にはFileNotFoundExceptionが載っていなくて、
そういった場合にはIOExceptionが発生すると書かれているのに、
実際に試してみたらFileNotFoundExceptionが発生したんですがなんなんでしょうこれ。
http://msdn.microsoft.com/ja-jp/library/system.io.file.move%28v=vs.110%29.aspx

FileNotFoundExceptionはIOExceptionの派生だからそれに含まれてるってことですか?
0985デフォルトの名無しさん2013/10/08(火) 00:11:56.35
MSDN上、日本語は4.0から、英語は3.5からIOExceptionに含む事になってるね。

この辺あんま信用してない、気にするだけ無駄かと。
0986デフォルトの名無しさん2013/10/08(火) 03:28:33.07
>>974
thanx
動いてたプロセスが32bitだったからx64でビルドしなおしたらうまいこと動いたので多分変換してるので正解
何かもう自分で動かすだけだからこれでいいや
0987デフォルトの名無しさん2013/10/08(火) 06:08:46.20
うめ
0988デフォルトの名無しさん2013/10/08(火) 21:06:38.72
うめ
0989デフォルトの名無しさん2013/10/08(火) 22:10:19.80
うめたろう
0990デフォルトの名無しさん2013/10/08(火) 23:35:00.61
うめざむらい
0991デフォルトの名無しさん2013/10/08(火) 23:46:23.40
ここ掘れわんわん
0992デフォルトの名無しさん2013/10/09(水) 06:05:08.01
うめてんて
0993デフォルトの名無しさん2013/10/09(水) 06:54:22.34
まだ質問できるだろ。
無駄に埋めるな!
0994デフォルトの名無しさん2013/10/09(水) 06:57:41.34
無駄なレスはやめよう!
0995デフォルトの名無しさん2013/10/09(水) 06:58:55.07
そうだそうだ
0996デフォルトの名無しさん2013/10/09(水) 07:05:27.06
ほむほむ
0997デフォルトの名無しさん2013/10/09(水) 09:08:04.00
VS2012とVS2013のC#の違いって、見やすくなるくらいで
出来ることは全く変わらないのでしょうか?
0998デフォルトの名無しさん2013/10/09(水) 12:03:03.26
畳と女房は新しい方がいい
0999デフォルトの名無しさん2013/10/09(水) 12:04:12.15
うまい
1000デフォルトの名無しさん2013/10/09(水) 13:06:24.28
>>997
出て使ってみれば分かる1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。