C#, C♯, C#相談室 Part84
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2014/07/12(土) 21:14:45.81ID:JFCJ0EYzC#, C♯, C#相談室 Part83
http://peace.2ch.net/test/read.cgi/tech/1397948872/
Visual Studio 2010 Express 他
http://www.visualstudio.com/downloads/
0002デフォルトの名無しさん
2014/07/12(土) 22:03:04.63ID:EEESCNCM0003デフォルトの名無しさん
2014/07/13(日) 07:31:16.47ID:g8Ou8aAJ,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは>>1乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. :::
0004デフォルトの名無しさん
2014/07/13(日) 19:34:37.81ID:4VhAszzu0005デフォルトの名無しさん
2014/07/13(日) 19:57:31.68ID:oz53nHyg0006デフォルトの名無しさん
2014/07/13(日) 20:01:29.07ID:23lgyGDw状態から抜け出せなかった俺でもある程度は使いこなせた
0007デフォルトの名無しさん
2014/07/13(日) 22:18:25.59ID:EcBF8wBQ0008デフォルトの名無しさん
2014/07/13(日) 22:48:44.90ID:anKHvXjmポインタで挫折した奴に生きる価値あるのか?
0009デフォルトの名無しさん
2014/07/13(日) 22:51:47.78ID:QartcTk90010デフォルトの名無しさん
2014/07/13(日) 22:53:50.74ID:EcBF8wBQおっちょこちょいだとか、迂闊だとか、あわてんぼうだとか
通知表に書かれたことないかな?
直ってないね
0011デフォルトの名無しさん
2014/07/14(月) 10:49:14.33ID:sQKqFHYb0012デフォルトの名無しさん
2014/07/14(月) 12:51:24.86ID:rNFEdlTf0013デフォルトの名無しさん
2014/07/14(月) 22:56:28.31ID:6c+G/uI40014デフォルトの名無しさん
2014/07/15(火) 00:32:52.81ID:uvNrdoIuプログラムを開発しているのですが、プロセスが消えずに残ってしまいます。
どうしようも無いのでfinallyブロックで強制的にExcelのプロセスを削除している
のですが何か良い方法はありませんでしょうか?
Microsoft.Office.Interop.Excel.Application ExcelApp
= new Microsoft.Office.Interop.Excel.Application();
ExcelApp.Visible = false;
Microsoft.Office.Interop.Excel.Workbook wb = ExcelApp.Workbooks.Open(ExcelBookFileName,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing);
・・・ 略 ・・・
//Excelを閉じる。
wb.Close(false, Type.Missing, Type.Missing);
ExcelApp.Quit();
0015デフォルトの名無しさん
2014/07/15(火) 00:51:00.56ID:ieC5KU930016デフォルトの名無しさん
2014/07/15(火) 00:54:12.49ID:x+5aaFliYouやるね。ありがとう!!
0017デフォルトの名無しさん
2014/07/15(火) 01:02:19.97ID:mY+ggRidReleaseComObjectでググレ
↓はやり過ぎ(TryCatchしないで羅列でいい)だが
Excelオブジェクト(アプリだけじゃなくてRangeなども含む)
代入変数を使ったら全部使ったのとは逆の順で解放しとく。
http://jeanne.wankuma.com/tips/vb.net/programming/releasecom.html
まあプロセス削除で稼働実績があるならそれでもいいと思うけどね
バッチなら終わった後にtaskkillでもかましとけ
0018デフォルトの名無しさん
2014/07/15(火) 18:17:52.57ID:zqJ3eiiK直接Excelは触らないで↓みたいなラッパー使った方が色々と楽だよ
NetOffice - MS Office in .NET - Home
ttp://netoffice.codeplex.com/
0019デフォルトの名無しさん
2014/07/16(水) 19:16:08.28ID:3E3HwAoBパスが設定されずビルドエラーになってしまう。生成されたDLLを直接指定したら一応
問題無いけど今まで普通のプロジェクトではこんな事になった事無いんだけど
何かダメな条件ってあるんだっけか?
0020デフォルトの名無しさん
2014/07/16(水) 21:05:46.85ID:Q5qGFd/O含めてファイルに保存して、後で読み込んで復活させたいのですが、
どういう手法がお勧めでしょうか?
0021デフォルトの名無しさん
2014/07/16(水) 21:11:44.47ID:aERVPlt00022デフォルトの名無しさん
2014/07/16(水) 21:34:14.59ID:Q5qGFd/Oありがとうございます。
そんな便利な方法があったとは。。。
0023デフォルトの名無しさん
2014/07/16(水) 21:45:38.76ID:19Y+Hlfl0024デフォルトの名無しさん
2014/07/16(水) 21:49:48.86ID:KgZDRAwV0025デフォルトの名無しさん
2014/07/16(水) 22:00:54.26ID:gY6XKdVm0026デフォルトの名無しさん
2014/07/17(木) 21:13:10.51ID:FtHZ5+2u普通にループでItem.addすると縦に表示されるんですけど
0027デフォルトの名無しさん
2014/07/17(木) 21:21:53.64ID:9aoDUQ9K0028デフォルトの名無しさん
2014/07/17(木) 21:33:39.68ID:3NPE8KweListBoxである意味は特になくなるが
0029デフォルトの名無しさん
2014/07/17(木) 22:01:35.96ID:9aoDUQ9K0030デフォルトの名無しさん
2014/07/17(木) 22:05:04.97ID:3NPE8Kwe0031デフォルトの名無しさん
2014/07/17(木) 22:07:47.37ID:42y7zGLQ0032デフォルトの名無しさん
2014/07/17(木) 23:40:52.34ID:59gMo7nN0033デフォルトの名無しさん
2014/07/17(木) 23:45:34.65ID:CHh+pHJ5日本ならあってもいいかも
0034デフォルトの名無しさん
2014/07/17(木) 23:50:28.43ID:cRl8S3rt0035デフォルトの名無しさん
2014/07/18(金) 00:28:48.66ID:QbbXmizS0036デフォルトの名無しさん
2014/07/18(金) 01:52:47.78ID:ZPfiEr2U(WEBブラウザーコントロールではありません。)
以下コードを実行した時に指定したIDが存在しない場合に
エラーになってしまいます。指定したIDがあるかどうかの
判定はどうすれば良いでしょうか?
現在は、try catch で囲っているのですがスマートじゃない
ので事前に有無を判定したいと思っています。
mshtml.HTMLDivElement div;
div = ie.Document.GetElementById("id123");
0037デフォルトの名無しさん
2014/07/18(金) 05:44:55.98ID:AyLwcQB5// なんかnullじゃなくてDBNull.Valueが返ってきたけど
0038デフォルトの名無しさん
2014/07/18(金) 10:32:57.55ID:QuIJUfIoそこで述べられていること全てを疑う必要がある
0039デフォルトの名無しさん
2014/07/18(金) 16:06:58.64ID:whbugrCqエラーというのは発生するかではなく、内容が大事なんだ
エラーもとい例外メッセージをかけ
0040デフォルトの名無しさん
2014/07/18(金) 19:20:00.92ID:o6btW2+j最低でも、
ブレークポイント
ステップ実行関連 (F5, F10, F11 キー)
ステップ実行時に変数をマウスオーバーする
くらいは覚えた方がいい。
ウォッチ式やクイックウォッチを使えば、ステップ実行時に変数の値を見たり書き換えることも出来るし、任意の式を実行することも出来る。
黄色い矢印をドラックすれば、任意のコード位置に移動することも出来る。
エディット コンティニューも便利。
0041デフォルトの名無しさん
2014/07/18(金) 20:04:44.38ID:jJ+q1sz0まだブレークポイントしか知らないけど
0042デフォルトの名無しさん
2014/07/18(金) 21:13:57.89ID:Ga+SaMdr全例外発生時にブレークなのにバックグラウンドスレッドで発生した例外がブレークしない事がある
0043デフォルトの名無しさん
2014/07/18(金) 21:28:51.79ID:mLWb3JS40044デフォルトの名無しさん
2014/07/18(金) 22:18:30.27ID:V7toNe43そんなこと出来たのか、、、知らなんだ
0045デフォルトの名無しさん
2014/07/19(土) 02:18:45.00ID:gvotxpGy0046デフォルトの名無しさん
2014/07/19(土) 08:14:27.98ID:zpIjsSal何か方法はありますか?
0047デフォルトの名無しさん
2014/07/19(土) 08:17:02.54ID:OxX9GHw60048デフォルトの名無しさん
2014/07/19(土) 08:22:19.31ID:uF3oh4V2デザイナとかでabstractが使えないなら例外投げるvirtualプロパティ
0049デフォルトの名無しさん
2014/07/19(土) 08:25:39.32ID:zpIjsSalちなみに、nullを許容しない方法はありますか?
確実に利用する変数なので、nullをセットできない、
コンストラクタ終了時に、その変数がnullなら例外を吐き出すみたいな。
0050デフォルトの名無しさん
2014/07/19(土) 08:29:45.98ID:zpIjsSalvirtualは概念が理解できていない。勉強してきます。
0051デフォルトの名無しさん
2014/07/19(土) 08:37:36.42ID:WneSpWJh0052デフォルトの名無しさん
2014/07/19(土) 08:40:59.77ID:ou2/YdBS0053デフォルトの名無しさん
2014/07/19(土) 08:43:26.21ID:zpIjsSalやっぱ、多分プロパティでOKでした。
private にすりゃ問題なさそう。
0054デフォルトの名無しさん
2014/07/19(土) 08:44:25.47ID:uF3oh4V20055デフォルトの名無しさん
2014/07/19(土) 08:48:19.46ID:zpIjsSalありがとうございます。
0056デフォルトの名無しさん
2014/07/19(土) 12:36:05.69ID:zpIjsSalその後名前を変更してもソース内を自動更新してくれなくなりました。
参照を直すにはどうすればいいでしょうか??
0057デフォルトの名無しさん
2014/07/19(土) 14:07:58.90ID:u6YiZggm0058デフォルトの名無しさん
2014/07/19(土) 15:33:18.99ID:BPvl9Xba0059デフォルトの名無しさん
2014/07/19(土) 16:02:01.34ID:zpIjsSal名前空間やフォルダ階層は一致してなくてもいいし、
ファイル名とクラス名も一致してなくていい。
だけど、visual studioが名前の自動更新をしてくれる場合は、
名前空間とフォルダ階層一致させてないとだめなの?
0060デフォルトの名無しさん
2014/07/19(土) 16:07:49.98ID:HMgx6Gqkソリューションエクスプローラから変えないと見つけられなくなるぞ
0061デフォルトの名無しさん
2014/07/19(土) 16:35:16.83ID:zpIjsSal0062デフォルトの名無しさん
2014/07/19(土) 16:40:57.63ID:zpIjsSalseからフォルダを作ってそこに移動させる
seで移動したクラスの名前を変更する→自動更新させれない
元のフォルダに戻す
seで移動したクラスの名前を変更する→自動更新させれない
ソースのクラスと名前を一致させてから名前を更新する→自動更新される
0063デフォルトの名無しさん
2014/07/19(土) 16:46:49.02ID:wF73piGx細かい説明書いてくれても名前の解釈が曖昧で分からない
0064デフォルトの名無しさん
2014/07/19(土) 16:59:50.89ID:v+hMyLPF恐らくだけど、質問者の彼はVSのリファクタリング機能を知らずに、
クラス名を変えたい時にcsファイルのファイル名を変更してるのかもね。
0065デフォルトの名無しさん
2014/07/19(土) 17:10:01.48ID:zpIjsSalファイル名とクラス名と言えばよかった?
すいませんね、javaだと名前っつたら1つしか許容してなかったもんで。
0066デフォルトの名無しさん
2014/07/19(土) 17:10:53.20ID:71/bQDSL0067デフォルトの名無しさん
2014/07/19(土) 17:55:03.45ID:obDG7+Ihクラス名はまったく無関係
そのへんの用語が混沌としてたから要領を得なかったんだ
0068デフォルトの名無しさん
2014/07/19(土) 18:06:10.87ID:0o8EVBYOVSのスレもあるのに、バージョンも書かずにここで聞くって、問題解決能力足りてないな
0069デフォルトの名無しさん
2014/07/19(土) 18:19:27.67ID:zpIjsSalそういう機能はだいたい一緒でしょう?
0070デフォルトの名無しさん
2014/07/19(土) 19:08:53.97ID:wF73piGx>だいたい一緒
これプログラマの嫌いな言葉
それに不可解な挙動ならバグの可能性を考慮してバージョンは書くべき
0071デフォルトの名無しさん
2014/07/19(土) 19:35:58.94ID:CQvpVu5m関係ない別の関数で引数名が同じだったやつのコメントまで変更かかるから困ったなあ
0072デフォルトの名無しさん
2014/07/19(土) 19:51:20.31ID:YqPSFB9b0073デフォルトの名無しさん
2014/07/19(土) 20:03:54.47ID:SkJK45jH0074デフォルトの名無しさん
2014/07/19(土) 22:32:38.36ID:zpIjsSal0075デフォルトの名無しさん
2014/07/19(土) 23:34:05.28ID:hHx90bf2そこに
Label Checkbox TextBox Checkbox TextBox Checkbox TextBox //1行目
Label Checkbox TextBox Checkbox TextBox Checkbox TextBox //2行目
...
Label Checkbox TextBox Checkbox TextBox Checkbox TextBox //11行目
のように配置しました。動作は問題なく動くのですが、気になった点があります。
それは、このFormをアイコン化してその後復活させると、Formが表示された直後にtableLayoutPanelの
上記の多数のコントロール群が消えていて、それらチラチラしながら表示されて行くのです。一瞬の出来事なのですが、
見た目が変なので、原因と対策を知りたいのです。心当たりありましたら教えてください。
なお、チラチラしている間にどこかのイベントハンドラ関数に飛んでいるかどうか調べましたが、デバッガで見た
限りはどこにも飛んでいませんでした。
0076デフォルトの名無しさん
2014/07/19(土) 23:46:31.09ID:1NZ7HCIK0077デフォルトの名無しさん
2014/07/19(土) 23:52:52.27ID:onnbzxeCDataGridViewを使うことを検討する。
基本的にWindows Formは多くのコントロールを配置するのに向いてない。
とは言っても、その程度の数で問題がでるとも考えにくい。
ダメな人にありがちだけど、本当はそこに書いてない変なことやってるでしょ。
0078デフォルトの名無しさん
2014/07/20(日) 00:53:28.43ID:LX9jfDLSアドバイス有難うございました。
不要な関数を全部削除して、
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
にしても再現しました。ということで、tableLayoutPanelは、こういう用途には向いていない
ということでしょうか。パソコンの性能は結構高性能な奴なんですが。。。
0079デフォルトの名無しさん
2014/07/20(日) 01:26:36.61ID:WnX1KPTq本当に7列×11行なの?
たった77個でそんな症状が出るとも思えんけど。
0080デフォルトの名無しさん
2014/07/20(日) 02:09:01.37ID:+YOkQ4veイベント見るならこの方がいいよ
スレッドへの全メッセージをデバッグ出力
http://ideone.com/SNqfRx
やってみたら最小化からの復帰時は全コントロール再描画してて確かにちらつくね
(1コアしか利用されないからCPUの性能差はあまり関係ない)
という訳でダブルバッファリング有効にしたら改善したよ
0081デフォルトの名無しさん
2014/07/20(日) 02:09:02.01ID:ZTbpHEThコントロール毎にPaintしてるんだよね
1回で全部Paintしてほしいわ
0082デフォルトの名無しさん
2014/07/20(日) 11:14:59.30ID:LX9jfDLS>>スレッドへの全メッセージをデバッグ出力
こんな便利な機能知りませんでした。勉強になりました。
有難うございます。
0083デフォルトの名無しさん
2014/07/20(日) 11:28:51.72ID:Kl34tPC40084デフォルトの名無しさん
2014/07/20(日) 11:50:06.89ID:pk80fohuデリゲートの略記法みたいなもんじゃね?
0085デフォルトの名無しさん
2014/07/20(日) 12:12:16.83ID:Tv/4FkJBん?と思わせる例だけ出して仕様の説明がないので わかりにくいのは確か
0086デフォルトの名無しさん
2014/07/20(日) 12:18:58.97ID:tCPVLYvT「前の関数の評価がタイムアウトしたため、関数の評価は無効になりました。
続けて実行し、再度関数の評価を有効にしてください。」
といったエラーが出て表示できないのですが対処方法はありますか?
0087デフォルトの名無しさん
2014/07/20(日) 14:28:41.47ID:sfFRPwxh川俣大先生の記事で十分だろ
0088デフォルトの名無しさん
2014/07/22(火) 01:20:12.87ID:7jm5B1YtVMware上のWinXPでは動くけれど、
他の仮想化ではない普通のWinXPパソコンでは、ダブルクリックで起動すると
無反応になって、タスクマネージャでもなかなかkillできません。WinXPを再起動して
ようやく止まります。
デバッグしたいのですが、WinXPではVS2013動かないのでVS2010Express入れて
VS2013のソースをVS2010でリビルドしたら、問題なく動いてしまいました。
ということで、VS2013でビルドしたアセンブリが何でWinXPで動かないのか
突き止める方法がありません。どうしたら良いでしょうか?
0089デフォルトの名無しさん
2014/07/22(火) 03:34:32.10ID:sFUEgbf6ターゲットのFrameworkのバージョンは?
0090デフォルトの名無しさん
2014/07/22(火) 04:42:36.74ID:7jm5B1Yt4.0です。
0091デフォルトの名無しさん
2014/07/22(火) 06:23:49.60ID:g9QQ7Nsg実機のCPUコアの数は?
0092デフォルトの名無しさん
2014/07/22(火) 06:35:16.11ID:03TLG3S+こうやって関係ない質問をし始めるひと
0093デフォルトの名無しさん
2014/07/22(火) 07:22:08.20ID:SL1kaC2d未だにXPを使ってる糞企業と縁を切れば解決する。
0094デフォルトの名無しさん
2014/07/22(火) 07:37:15.39ID:jYweuVUCXP向けの開発が存在するのはしょうがないだろ。
ただそういうところにどうしてVisual Stdio 2013を持ってくるかなあ
0095デフォルトの名無しさん
2014/07/22(火) 10:27:20.19ID:bWL3+Y9dダサいなーC#
0096デフォルトの名無しさん
2014/07/22(火) 11:46:11.40ID:sFUEgbf6XPに4.0のフルは普通入ってないだろ
009788
2014/07/22(火) 12:39:42.45ID:7jm5B1YtノートンNISが、
SONAR.Heuristic.120
を検出しましたと言って、このプロセスを停止させていたようです。
何だこりゃ、このSONAR.Heuristic.120というのは。
0098デフォルトの名無しさん
2014/07/22(火) 15:52:23.03ID:bWL3+Y9d0099デフォルトの名無しさん
2014/07/22(火) 19:35:50.33ID:CFFEnkP1ヒューリスティック分析は職質みたいなもん
疑わしきは罰すということで即逮捕
010088
2014/07/22(火) 20:32:06.73ID:7jm5B1Ytもしご存じでしたら誰か教えてください。
不思議なのはWin7とWinXPに同じNIS入れているのに
WinXPのNISのみ反応するようなんです。ますます分らん。
0101デフォルトの名無しさん
2014/07/22(火) 20:38:29.95ID:CRxaiKGK知覚障害者にはわからないのかも知れないな
■ このスレッドは過去ログ倉庫に格納されています