C♯相談室 Part31
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/04/15(土) 13:32:57前スレ
C♯相談室 Part30
http://pc8.2ch.net/test/read.cgi/tech/1141448072/
過去スレは>>2-5あたり。
0002デフォルトの名無しさん
2006/04/15(土) 13:33:51Part28 http://pc8.2ch.net/test/read.cgi/tech/1134514022/
Part27 http://pc8.2ch.net/test/read.cgi/tech/1131544541/
Part26 http://pc8.2ch.net/test/read.cgi/tech/1127063469/
Part25 http://pc8.2ch.net/test/read.cgi/tech/1122352650/
Part24 http://pc8.2ch.net/test/read.cgi/tech/1117631000/
Part23 http://pc8.2ch.net/test/read.cgi/tech/1112968209/
Part22 http://pc8.2ch.net/test/read.cgi/tech/1109630502/
Part21 http://pc5.2ch.net/test/read.cgi/tech/1106490240/
Part20 http://pc5.2ch.net/test/read.cgi/tech/1103005153/
Part19 http://pc5.2ch.net/test/read.cgi/tech/1100240847/
Part18 http://pc5.2ch.net/test/read.cgi/tech/1096112588/
Part17 http://pc5.2ch.net/test/read.cgi/tech/1091284402/
Part16 http://pc5.2ch.net/test/read.cgi/tech/1087297504/
0003デフォルトの名無しさん
2006/04/15(土) 13:34:23Part14 http://pc5.2ch.net/test/read.cgi/tech/1076933504/
Part13 http://pc2.2ch.net/test/read.cgi/tech/1071663456/ (ログ行方不明)
Part12 http://pc5.2ch.net/tech/kako/1066/10660/1066038651.html
Part11 http://pc5.2ch.net/tech/kako/1061/10612/1061262958.html
Part10 http://pc5.2ch.net/tech/kako/1051/10518/1051842450.html
Part9 http://pc2.2ch.net/tech/kako/1039/10396/1039646808.html
Part8 http://pc3.2ch.net/tech/kako/1032/10324/1032488831.html
Part7 http://pc3.2ch.net/tech/kako/1027/10275/1027531796.html
Part6 http://pc3.2ch.net/tech/kako/1022/10222/1022257078.html
Part5 http://pc3.2ch.net/tech/kako/1019/10195/1019533942.html
Part4 http://pc.2ch.net/tech/kako/1016/10165/1016597767.html
Part3 http://pc.2ch.net/tech/kako/1009/10094/1009473982.html
Part2 http://pc.2ch.net/tech/kako/1002/10024/1002468050.html
Part1 http://pc.2ch.net/tech/kako/977/977112364.html
0004デフォルトの名無しさん
2006/04/15(土) 13:36:48http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
MSDNライブラリ
http://msdn.microsoft.com/library/ja/
MSDN2
http://msdn2.microsoft.com/ja-jp/library/default.aspx
0005デフォルトの名無しさん
2006/04/15(土) 13:43:38次スレ以降、>>713は書き込み禁止
0006デフォルトの名無しさん
2006/04/15(土) 13:46:34乙
>>5
ワロタ
DAT落ち、アンカー対策で一応
713 デフォルトの名無しさん sage 2006/04/09(日) 16:44:07
なぜフォーム上のコントロールのイベントがすべてフォームクラスに記述されるんでしょうか?
それぞれのイベントはそれぞれのコントロールで処理したほうがいいように思うんですが
コントロールが増えてくるとそれをすべてフォームクラスで中継して
データを参照したり受け渡ししたり変換したり、表示するように命令したりなどしなければならないのがすごく煩わしいです
0007デフォルトの名無しさん
2006/04/15(土) 14:01:58http://pc8.2ch.net/test/read.cgi/tech/1141458468/
関連スレとしてあげておくべきだったかな
0008デフォルトの名無しさん
2006/04/15(土) 19:32:23frm2.Show();
で表示したfrm2からfrm1へイベントや変数などを送るにはどうすればいいでしょうか?
frm2は閉じないでずっと開いた状態です。
0009デフォルトの名無しさん
2006/04/15(土) 19:41:48以上。
0010デフォルトの名無しさん
2006/04/15(土) 19:51:340012デフォルトの名無しさん
2006/04/15(土) 20:49:09取得するにはどうしたらいいのでしょうか?
接続されるサーバをAとして、ユーザはマシンBやマシンC・・・などから
ターミナルサービス、リモートデスクトップ経由でサーバAに接続し、
サーバAにインストールされたアプリケーションを使用します。
そのアプリケーションで、接続元のホスト名やIPアドレスを表示したいのです。
001412
2006/04/15(土) 20:54:17情報ありがとうございます。
WMIというものが何なのか勉強不足でわかりません。
ちょっとネットで調べたところ、API?なのでしょうか?
出来れば、どの関数を使えばいいのか教えて頂けませんか?
※WMI リモート 接続元 ホスト名 などのキーワードを組み合わせてググってみたのですが
見当たりませんでした。
0015デフォルトの名無しさん
2006/04/15(土) 20:54:27ターミナルサービスAPI
0016デフォルトの名無しさん
2006/04/16(日) 00:11:21Disposeされてない気がするとか言っていたものです。
結局、ButtonはDisposeされることが確認できたのですが、
WebBrowserコントロールはされないようです。
ヘルプにはリソースへの負荷の大きいから使用を終えたら、
必ずDisposeメソッドを呼び出してくださいと書いてあります。
でも実際は、WebBrowserコントロールのDisposeメソッドが、
コントロールを生成したスレッドと同じスレッドでしか
呼び出すことができないことが原因のようですね。
ファイナライザはコントロール生成したスレッドと同じスレッドでは呼ばれないので・・・
0017デフォルトの名無しさん
2006/04/16(日) 01:02:16ポインタというか参照ですよ。Form2.OwnerFormがfrm1のはずだから、
Form1ありきならForm1にキャストすればfrm1のメンバー見放題。
Form1以外からも使うForm2ならば、逆にForm1でprivate Form2 frm2を
作って、frm2がイベントを起こせば、frm1からfrm2のメンバー見放題。
0018デフォルトの名無しさん
2006/04/16(日) 01:09:12全体に意味不明なのだが。
> WebBrowserコントロールはされないようです。
どうやって確認したんだ?
0020前スレ981
2006/04/16(日) 02:07:34>WM_NOTIFY は親フォームに送られるって点は OK ?
フォームで送信を見張ってたが一向に送られてくる気配がない。
試しにテスト用のプロジェクトを作って実験したら成功。そこでやっとわかった。
リストビューがパネルに乗ってたのが原因だったんだ。
直接の親コントロールで受けてやらなきゃだめだったのね。
>>962は>>983のアドレスの中の人なのかな。
おー、自分のことだ、とか思って変な感じ。でもすごく参考になった。感謝。
0021デフォルトの名無しさん
2006/04/16(日) 10:06:52できれば>>10のやり方のほうがいい
form1以外からでも使えるようになる
0023デフォルトの名無しさん
2006/04/16(日) 11:02:12ふらっと行け。きもい。
0024デフォルトの名無しさん
2006/04/16(日) 11:11:40イベント発生元からイベントハンドラに対して情報を伝えたい場合、
またはイベントハンドラからイベント発生元に対して情報を伝えたい場合などは、
独自のイベントハンドラをデリゲートとして定義してやらなければならないな。
具体的には、
・情報のやりとりを行うために、独自のEventArgsをクラスとして定義する
・object型の引数senderと、独自のEventArgs型の引数eの2つを引数とするEventHandlerデリゲートを定義する。
・独自のEventHandler型のイベントを定義する
・適切なタイミングでイベントを発生させる。
簡単に言うとこんな感じだが、ちゃんと勉強することを勧める。
0025デフォルトの名無しさん
2006/04/16(日) 11:14:170027デフォルトの名無しさん
2006/04/16(日) 11:24:38つーかポリモーフィズムは全く関係ない話だぞ。
最初は難しく思えるが、理解すればそんなに難しい話ではないとわかる。
頑張れ
002816
2006/04/16(日) 12:01:46private class MyBrowser : WebBrowser {
protected override void Dispose(bool disposing) {
// Disposeされればここにくるはず
Debug.WriteLine("disposed." + disposing);
base.Dispose(disposing);
}
}
MyBrowser myBrowser = null;
// 適当なボタンのクリックイベント
private void button_Click(object sender, EventArgs e) {
if (myBrowser == null) {
myBrowser = new MyBrowser();
Controls.Add(myBrowser);
} else {
Controls.Remove(myBrowser);
myBrowser = null;
GC.Collect(); //<- ここでGCしてもMyBrowserのDispose()が呼ばれない
}
}
WebBrowserではなくButtonコントロールだとDisposeは呼ばれます。
0029デフォルトの名無しさん
2006/04/16(日) 12:52:00これは COM との関係があるのでいかんともしがたい。
ファイナライザが呼び出されない訳じゃないし。
そして Dispose() を呼べと言うのはコンポーネントの利用者に対して言ってるんであって
システムに向けて言ってるんじゃない。
0030デフォルトの名無しさん
2006/04/16(日) 13:30:36正直開発にも関わっていませんし、何をどうしたら良いのかさっぱりわかりません。
本番機には.NETは入っていません。
リビルドしたプロジェクト全部(.cs、.aspx)を本番機にコピーして動かしてみたんですが、
マシンを再起動しても、IISの再起動をしても、ASPサービスの再起動をしても、Global.aspxが動きません。
プロジェクトの配置の仕方が間違っているのでしょうか?
(結合テストマシン(.NETインストール済)と全く同じ構成)
教えてください。
0031デフォルトの名無しさん
2006/04/16(日) 13:33:38そもそも C# では ASP を開発できない。ASP.NET のみ。
0032デフォルトの名無しさん
2006/04/16(日) 13:34:23.NET Frameworkが入っていないのか?それじゃ動かんわ。
0033デフォルトの名無しさん
2006/04/16(日) 13:34:35Javaで作ったアプリやらサーブレットを動かすにはWebサーバとかJDK(JRE)が必要だったはず。
.NETで作ったアプリを動かすにも.NETFrameworkが必要。(WebサーバはIISが入ってるだろ?)
まずは、本番機に.NETFrameworkをインストールしないと何も始まらない。
(フレームワークのバージョンは確認しておけよ)
0034デフォルトの名無しさん
2006/04/16(日) 13:40:310035デフォルトの名無しさん
2006/04/16(日) 13:49:35「.NETが入っていない」のはMicrosoft Visual Studio .NETのことで、.NET Frameworkは入っています。
静的HTML → Global.aspx → ログインページ → 業務ページ
に遷移したいのです。ログインページはきちんと動いていて、DBの接続等も正常です。
ただ、Global.aspxが動いていないと、次の画面遷移情報を取得できていないのでこけてしまいます。
ググって見ましたが、情報が多すぎるのとどれがWebの情報なのか見分けもつかなくて泣きそうです。
0036デフォルトの名無しさん
2006/04/16(日) 13:51:240037デフォルトの名無しさん
2006/04/16(日) 13:59:190038デフォルトの名無しさん
2006/04/16(日) 14:10:04どっちかを先に入れなければいけなかった気がする。
0039デフォルトの名無しさん
2006/04/16(日) 14:13:36問題は、Global.asaxは、いつ動くかどうやったら動くか。
.csは本番機に必要なのかどうか、dllだけでいけるのかどうか。
の2点だなぁと思いました。
明日動かなさいといけないんです。
0040デフォルトの名無しさん
2006/04/16(日) 14:57:50入れた順番はわからないんです。
どちらが先がよかったんでしょうか?
0041デフォルトの名無しさん
2006/04/16(日) 15:00:06.NET を先に入れちゃったんなら、reg_iis.exe か何かを使う必要あり。
0042デフォルトの名無しさん
2006/04/16(日) 15:02:07IISを後からインストールした場合の対処法がここに載ってたから試してみて。
ttp://park16.wakwak.com/~mimi/dotnet/network/install_iis_after_sdk.html
0043デフォルトの名無しさん
2006/04/16(日) 15:12:030044デフォルトの名無しさん
2006/04/16(日) 21:39:20Global.asaxは定義しているイベントによって呼ばれるタイミングは違う。
動かすだけなら*.csは不要。dllとaspxは必要だけど。
まぁスレ違いだが。
0045デフォルトの名無しさん
2006/04/16(日) 22:05:28使ったことないんだけど、みんなそんなもん?
0046デフォルトの名無しさん
2006/04/16(日) 22:11:230047デフォルトの名無しさん
2006/04/16(日) 22:14:222.0 になってソートとかに匿名メソッド使ったり。
0048デフォルトの名無しさん
2006/04/16(日) 22:16:26FindAndRemoveAll ってのがあればもっと便利だお
0049デフォルトの名無しさん
2006/04/16(日) 22:26:38Personクラスを作って、その中に
public void Greeting(OutputDelegate output_method)
{
output_method(this.message);
}
って感じのメソッドを用意した。
OutputDelegateは
public delegate OutpuDelegate(string message);
んで、エントリーポイントは
static void Main()
{
Person person = new Person();
person.Greeting(delegate(string message){Console.Writeline(message);});
}
0050デフォルトの名無しさん
2006/04/16(日) 22:27:55当方、.NET Framework 2.0 WinXP SP2 火壁は OFF の状態です。
HttpWebRequest request = (HttpWebRequest) WebRequest.Create("http://pc8.2ch.net/tech/dat/1145075577.dat");
request.Method = "HEAD";
request.Timeout = TIMEOUT;
request.UserAgent = UserAgent;
using (HttpWebResponse response = (HttpWebResponse) request.GetResponse()) { // ここ
// ほげほげ
}
0051デフォルトの名無しさん
2006/04/16(日) 22:39:420052デフォルトの名無しさん
2006/04/16(日) 22:46:25環境依存の何かだろう。
私んとこじゃ問題ないし。
真っ当なレスポンスは返ってきてるの?
005350
2006/04/16(日) 22:51:24というか……
.NET Framework 1.1 でためしたら、一瞬で帰ってくるようになりました orz
おそらく 2.0 のどっかが悪いと推測……なんなんだろこれ (;´Д`)
0054デフォルトの名無しさん
2006/04/16(日) 22:54:12005550
2006/04/16(日) 23:00:45たぶんクライアント側がおかしいんだとおもうけど……詳細不明。しらべんのめんどくさくてごめん(;´Д`)
0056デフォルトの名無しさん
2006/04/16(日) 23:02:350057デフォルトの名無しさん
2006/04/16(日) 23:23:21HttpWebRequest使ってるソフトを1.1->2.0にしたら
固まるようになった。
0058デフォルトの名無しさん
2006/04/16(日) 23:34:541冊だけ教えてください。
0059デフォルトの名無しさん
2006/04/16(日) 23:38:51HttpWebRequest req = WebRequest.Create("ひみつ") as HttpWebRequest;
CookieContainer cc = new CookieContainer();
cc.Add(new Cookie("ひみつ1-1", "ひみつ1-2", "/", "ひみつ1-3"));
cc.Add(new Cookie("ひみつ2-1", "ひみつ2-2", "/", "ひみつ2-3"));
req.CookieContainer = cc;
WebResponse res = req.GetResponse();
using(TextReader reader = new StreamReader(res.GetResponseStream(), Encoding.GetEncoding("Shift_JIS"))) {
//whileでループさせてReadLineで一行ずつ読む
}
0060デフォルトの名無しさん
2006/04/17(月) 00:15:12300の技
初めてプログラミングだったらこれ
オブジェクト指向など知らなくても、とりあえずこれを使いまわせば
それなりものが作れてよかった。
中級者なら、本に頼らなくても、いろんなサイトにオブジェクト指向や
デザインパターンの情報があるのでそれで食っていけたりする
中級者にお勧めはAdvanced Windowsなどかな
0061デフォルトの名無しさん
2006/04/17(月) 00:27:470062デフォルトの名無しさん
2006/04/17(月) 00:35:350063デフォルトの名無しさん
2006/04/17(月) 02:31:28プログラミングまったくの初めてか、多少は経験ありかで、選択肢全然違ってくるし。
経験ありなら、こんなとこで聞いてるより、本屋で立ち読みして、自分のレベルと
好みに合ったやつを探したほうがいい。近所にまっとうな本屋がないような地域に
住んでるなら別だけど。
006458
2006/04/17(月) 11:00:38ブランク4年
近くの本屋あまりC#の本なくて
不安に思ったので聞いてみたす
次の職場で使うかも
>>60
300の技lか、明日本屋行ってみてみるよ
シリーズ物、独習C#ってあるんだね、今調べた
これも候補かな
006560
2006/04/17(月) 11:12:39独習C#おれも始めた頃に買ったけど結局全然使わなかったなぁ
ネットのいろんなサイトのほうがわかりやすかった
@ITって知ってるよね?
最初はそことヘルプの入門編見るだけで十分だと思うけど
がんばってくだはい
0066デフォルトの名無しさん
2006/04/17(月) 12:04:17VB使えるなら、ネットでC#の概念的な事を掴んだら、
「Visual C#.NET逆引き大全 500の極意」がお勧め。
C#は10冊以上買ったけどこれが一番実用的で多用している。
検索するより早い。これでわからないときは諦めてググってる。
ちなみに別途解説書を買って一度熟読した方がいい。
ただし解説書は好き好きだと思う。
0067デフォルトの名無しさん
2006/04/17(月) 13:19:00空のフォーム(Form2)を追加すると、自動的にForm2のインスタンスを格納する変数も、どっかに宣言されるのですか?
調べてみた範囲では、そういう宣言はみつかりませんでした。
それと、Form1はスタートアップ時に自動にインスタンスが生成されてフォームが表示されるわけですが、そのForm1の
変数はどこに記述されているのでしょうか。Program.csのApplication.Run(new Form1());をForm2にすると、変数
宣言してないのに、ちゃんとForm2がスタートアップ時に表示されたりして、わけわかめです。
どうも、そのあたりの変数も持ち方が謎なので、教えてください。
0068デフォルトの名無しさん
2006/04/17(月) 13:23:11Form2は追加しても暮らすが宣言されるだけでインスタンスはまた別のところに書く必要あり。
0069デフォルトの名無しさん
2006/04/17(月) 13:56:58ApplocationRunの中で何やってるんだと定義ファイルを表示させようと、いろいろみたけど、結局できなかった( ´Д`)
Expressだからかもしれないけど、usingするライブラリのソースとかが存在するわけじゃないのでつね。
なんか明示的にインスタンス破棄しなくてもいいみたいだし、破棄せずに非表示のままフォームを持ち続けたり
するのに違和感が( ´Д`)
すべてスタートアップ時の親フォームから枝葉的にインスタンスが生成されるはずだから、フォームやインスタンスを
グローバルな変数なんかで持つ必要ないし、そんなインスタンスをいれる変数の宣言なんかもいらんってことなのかなぁぁ。
もうちょい勉強してみます。ありがとうございました。
0070デフォルトの名無しさん
2006/04/17(月) 14:01:30ApplocationのRunって
Run(Form f){
f.show();
f.dispose();
}
って風にForm.Disposeよんでんのかな?
それとも「どうせプロセス終了するしどうでもいいや」ってことかな。
0071デフォルトの名無しさん
2006/04/17(月) 15:41:02> それとも「どうせプロセス終了するしどうでもいいや」ってことかな。
まさにこのとおり。
0072デフォルトの名無しさん
2006/04/17(月) 15:53:13フォルダもファイルも全部コピペで展開したならIISアプリケーションが設定されていないと思うんだけど
とりあえずこれ試してみ
チュートリアル : IIS における ASP.NET Web アプリケーションのルート ディレクトリの作成
http://msdn2.microsoft.com/ja-JP/library/ha2y9493(VS.80).aspx
今後のためにこのあたり一式読んどくと幸せになれるかも
ASP.NET と IIS の構成
http://msdn2.microsoft.com/ja-JP/library/ms178477(VS.80).aspx
0073デフォルトの名無しさん
2006/04/17(月) 16:02:20トン
@ITはたまに利用してる
最近だとERPやSAPを調べた(時代遅れだ・・・)
おおまかに掴んだら逆引き大全買ってみまつ^ ^
0074デフォルトの名無しさん
2006/04/17(月) 18:55:05つーより考え方が逆だ。
そのRunは「渡されたFormが破棄されたらメッセージループを終了する」
ような実装。
0075デフォルトの名無しさん
2006/04/17(月) 19:57:56ShowDialog()の場合は呼び出し側でDisposeが必要だが、
Show()した場合はフォーム自身がDisposeするので不要。
Form.Closeの説明を見ればわかるけどモーダルとモーダレスで動作が違う。
0076デフォルトの名無しさん
2006/04/17(月) 20:31:030077デフォルトの名無しさん
2006/04/17(月) 20:38:370078デフォルトの名無しさん
2006/04/17(月) 23:31:1700798
2006/04/18(火) 00:47:14値を別クラスから受け取りたいとかじゃなくて
form1のメソッドを実行させたかっただけなんで>>17さんのやり方でいけましたー。
時間かかったけど、デリゲートも勉強できておりこーになれたお^^
ありがとーです。
0080デフォルトの名無しさん
2006/04/18(火) 00:48:390081デフォルトの名無しさん
2006/04/18(火) 00:50:4500828
2006/04/18(火) 01:13:08delegate void Show();
class Form1:Form
{
public void ShowHallow()
{
mbox("Hallow");
};
};
class Form2:Form
{
public static void Main()
{
Form1 frm1 = new Form1();
Show show = frm1.ShowHallow; // インスタンスメソッドを代入。
show();
}
こんな感じだと、新しくフォームのインスタンス作るからほんとの実体のform1には反映されないんじゃないの?
というか、デリゲートの記述ってすごくややこしい。
デリゲート使わないでこうしたほうがわかりやすいお^^;
Form1 frm1 = new Form1();
frm1.ShowHallow();
0083デフォルトの名無しさん
2006/04/18(火) 01:26:40public delegate void TextUpdatedEventHandler(object sender, TextUpdatedEventArgs e);
public class TextUpdatedEventArgs : EventArgs {
public TextUpdatedEventArgs(string text) {
this.text = text;
}
private string text;
public string Text { get { return this.text; } }
}
public class Form1 : Form {
// 略
Form2 form2;
private void showButton_Click(object sender, EventArgs e) {
if (form2 == null || form2.IsDisposed) {
form2 = new Form2();
form2.TextUpdated += new TextUpdatedEventHandler(this.UpdateText);
}
form2.Show();
}
private void UpdateText(object sender, TextUpdatedEventArgs e) {
this.textBox1.Text = e.Text;
}
}
public class Form2 : Form {
// 略
public event TextUpdatedEventHandler TextUpdated;
private void updateButton_Click(object sender, EventArgs e) {
if (this.TextUpdated != null)
this.TextUpdated(this, new TextUpdatedEventArgs(this.textBox1.Text));
}
}
これで Form2 が Form1 を知っている必要が無くなる、
00848
2006/04/18(火) 01:46:44な、な、な、なるほど!(あんまわかってない^^;)
自作のイベントハンドラをデリゲートととして宣言して
Form2のイベントに追加してるわけですね!!(シッタカ)
こんなコードスイスイって書けるってすごいお^^;
>>82を書くのに30分ぐらい掛かった><
やりたかったのはそういうことだったんですぅ。
別フォームのイベントとリンクしたかったんです。
参考にさせて頂きます!ありがとう!
0085デフォルトの名無しさん
2006/04/18(火) 08:25:32http://members.jcom.home.ne.jp/1213687801/cs/reflection/reflection4.html
このページのソースを
AssmblyBuilder#Save を追加
アセンブリの生成モードを Run から RunAndSave に
と修正したのですが、Reflector for .NET で逆コンパイルしてもメンバが一切出てきません。
こういうものなのでしょうか?
0086デフォルトの名無しさん
2006/04/18(火) 08:42:25第二引数に同じ名前.dll を。
Save で DefineDynamicModule の第二引数と同じ文字列を。
0087デフォルトの名無しさん
2006/04/18(火) 11:34:47ありがとうございました。
0088デフォルトの名無しさん
2006/04/18(火) 20:42:03008985
2006/04/18(火) 21:30:03私も何だろうと思い MSDN を見てみたのですが、載っていなかったので
ソース中の識別子か仮引数の名前だと思っていました…。
実際には、
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule("TempModule", "Temp.dll");
assemblyBuilder.Save("Temp.dll");
これでうまくいきました。
0090デフォルトの名無しさん
2006/04/18(火) 21:56:07ユーザコントロールにあるListView1に大量のListViewItem追加の処理を
BeginInvoke()のようにスレッドでやってますが処理中にメインフォームが固まり操作できなくなります。
処理中にメインフォームを操作したいです。誰かヒントをください。
以下ユーザコントロールのソースです。
メインフォームのボタンでDoDelegate()を呼びます。
public void DoDelegate()
{
Thread t = new Thread( new ThreadStart(DoDelegater));
t.IsBackground = true;
t.Start();
}
private void DoDelegater()
{
CountDelegater del = new CountDelegater(DoCountUp);
this.Parent.BeginInvoke(del, null);
}
private void DoCountUp()
{
for(int i=0; i<20; i++)
{
Thread.Sleep(200);
ListViewItem item = new ListViewItem(i.ToString());
this.listView1.Items.Add(item);
}
}
0091デフォルトの名無しさん
2006/04/18(火) 22:07:20Application.DoEvent
ListView.BeginUpdate 〜 EndUpdate
このあたり
0092デフォルトの名無しさん
2006/04/18(火) 22:12:33Control.BeginInvoke は別スレッドを作らない。
非同期実行はデリゲートの BeginInvoke をつかえ〜
0093デフォルトの名無しさん
2006/04/18(火) 22:14:12とりあえず >>91
0094デフォルトの名無しさん
2006/04/18(火) 22:15:250095デフォルトの名無しさん
2006/04/18(火) 22:20:38いくつか纏めて AddRange していくように汁
つか AddRange or BeginUpdate してやればコストなんて大したもんじゃないんだが
ListViewItem の Add する為だけに別スレッドから Invoke やるのはほぼ意味無いぜ
0096デフォルトの名無しさん
2006/04/18(火) 22:49:05ありがとうございます。無事解決です。
少しもっさり感がありますが、Application.DoEvents()をループ処理の中にいれたら動きました。
あってますよね?
動作ですが実際にはListViewItem作成時に他にクラス作ったりと重い処理が入ります。
最初はデリゲートのBeginInvokeを使っていたんですが、コントロールいじる場合は
コントロールのスレッドを使えと何処かに書いてあったので・・・
MSDN駆け巡っても解決できなかったんで情けないですorz
あと気になったのですがApplication.DoEvents()は一般的なやり方なのでしょうか?
0097デフォルトの名無しさん
2006/04/18(火) 22:52:54> Application.DoEvents()
やっつけコードではご用達。
0098デフォルトの名無しさん
2006/04/18(火) 22:56:11this.listView1.BeginUpdate();
for (...) {
ListViewItem item = ...;
this.listView1.Items.Add(item);
Application.DoEvents();
}
this.listViwe1.EndUpdate();
こんな感じ?
Application.DoEvents()はその前後で状態が変わることがあるから注意
0099デフォルトの名無しさん
2006/04/18(火) 22:56:38Thread.Sleep(200);
を
for(int j = 0; j < 200; j++) {
Thread.Sleep(1);
Application.DoEvent();
}
にすれば暫定解決
0100デフォルトの名無しさん
2006/04/18(火) 22:59:40やるならこう。
private void button1_Click(object sender, EventArgs e) {
new Thread(new ThreadStart(AddItems)).Start();
}
private void AddItems() {
AddItemCallback callback = new AddItemCallback(AddItem);
for (int i = 0; i < 20; i++) {
Thread.Sleep(200);
ListViewItem item = new ListViewItem(i.ToString());
this.Invoke(callback, new object[]{item});
}
}
private delegate void AddItemCallback(ListViewItem item);
private void AddItem(ListViewItem item) {
this.listView1.Items.Add(item);
}
>>90のコードじゃ、for 内の丸ごと Invoke させてるわけで、つまりそれ全部メインスレッドで動いちゃってる。
正しくは Invoke させるのは Items.Add だけ。
0101デフォルトの名無しさん
2006/04/18(火) 23:01:08Sleep は「重い処理」の代わりだと思ふ
0102デフォルトの名無しさん
2006/04/18(火) 23:15:270103デフォルトの名無しさん
2006/04/18(火) 23:18:020104デフォルトの名無しさん
2006/04/18(火) 23:35:16>>97-101 レスありがとうございます。
>>100さんの方法で実行してみましたが軽快な動作です。
必要なところだけスレッドにすれば良いということですね。勉強になりました。
0105デフォルトの名無しさん
2006/04/19(水) 00:09:33無限ループに入っていて、そのループの終了条件がグローバルな
System.Booleanになっているソースコードをよく見かけるのですが、
これはSystem.Booleanがスレッドセーフだから出来ることなのですよね?
0106デフォルトの名無しさん
2006/04/19(水) 00:19:19読んでセットってな動作をしないからスレッドセーフでなくても問題なし
0107デフォルトの名無しさん
2006/04/19(水) 00:20:060108デフォルトの名無しさん
2006/04/19(水) 00:21:41それ、バグでそ。まず症状が出ないと思うが。
Monitor、Interlockedあたり使わないとスレッドセーフにはならん
0109デフォルトの名無しさん
2006/04/19(水) 00:30:19Monitor、Interlockedはアトミックを保障するためのもの。
boolの読み出し単体処理はアトミックだから上記は不要。
ただしvolatileになってないのなら(もしくはMemoryBarrier等してないのなら)
最新の値を読み取れるとは限らない。
よって問題はある。
0110デフォルトの名無しさん
2006/04/19(水) 00:32:01while(stop==false){
作業
}
じゃないのか?
0111デフォルトの名無しさん
2006/04/19(水) 00:32:15Interlockedは意味なしってかどう使うんだよ。
0112デフォルトの名無しさん
2006/04/19(水) 00:33:35レジスタなどにキャッシュされて永遠に読み出されない可能性もある。
最適化によってただの定数になる可能性もあるかもしれない。
0113105
2006/04/19(水) 00:38:24>>108
.Net 2.0 SDK ドキュメントのSystem.Boolean構造体のところに
スレッド セーフ
この型は、マルチスレッド操作に対して安全です
と書いてあるので、もしかして大丈夫なのかな、と思ってしまいました。
>>106-107
次のサイトなどです。
TCP/IPソケットの接続待ち(TcpListener)
ttp://www.athomejp.com/goldfish/vcs/tcplistener.asp
Re: C#でのマルチスレッドサーバーの実装方法 - theSpoke.net
ttp://thespoke.net/forums/810538/ShowPost.aspx
0114デフォルトの名無しさん
2006/04/19(水) 00:40:35根本的に、オブジェクト指向的に間違っている。
0115デフォルトの名無しさん
2006/04/19(水) 00:43:08あ、グローバルが気に入らんてことか。
0116デフォルトの名無しさん
2006/04/19(水) 00:46:100117デフォルトの名無しさん
2006/04/19(水) 00:55:52>最適化によってただの定数になる可能性もあるかもしれない。
ほんまかいな
0118デフォルトの名無しさん
2006/04/19(水) 01:24:55ああ、そうやすまん、アトミック保証や。
volatileつけれってことやな。
>>113
>この型は、マルチスレッド操作に対して安全です
これは同一オブジェクトに対して同時に操作しても大丈夫、の意。
0119デフォルトの名無しさん
2006/04/19(水) 18:08:400120デフォルトの名無しさん
2006/04/19(水) 19:55:350121デフォルトの名無しさん
2006/04/20(木) 17:12:250122デフォルトの名無しさん
2006/04/20(木) 17:18:49妥当と言うべきか判断に迷う数字だな
まあ C# とは関係ないわな
0123デフォルトの名無しさん
2006/04/20(木) 17:20:41これと同程度らしい。
0124デフォルトの名無しさん
2006/04/20(木) 17:54:55VB6 -> C# の移植を手助けしてくれるツールとかご存知の方いませんか?
こんなのあったんですが、使ってる人いるのかな。
ttp://www.netcoole.com/vb6tocs.htm
0125おじさん
2006/04/20(木) 18:03:560126デフォルトの名無しさん
2006/04/20(木) 18:12:380127デフォルトの名無しさん
2006/04/20(木) 18:18:29死ねばいいと思うよ^^
0128デフォルトの名無しさん
2006/04/20(木) 19:33:32変数を利用した、副作用ともなうプログラムが組める
0129デフォルトの名無しさん
2006/04/20(木) 20:02:001や2など意味が無い数字に名前を付けれる
複数ある場合、あとで変更するときに便利
省エネ
0130デフォルトの名無しさん
2006/04/20(木) 20:07:20それは逆じゃ
0131デフォルトの名無しさん
2006/04/20(木) 22:12:16例えば、1から10000まで足し算するプログラムを書いてみると分かりますよ。
0132デフォルトの名無しさん
2006/04/20(木) 22:25:40べつにいいだろ言いたいことは分かるだろうがよウワーン
0133デフォルトの名無しさん
2006/04/20(木) 22:31:52const
n = 10000;
sum = n * (n + 1) / 2;
0134デフォルトの名無しさん
2006/04/20(木) 22:45:28おまえってスケベだなw
0135デフォルトの名無しさん
2006/04/20(木) 23:04:460136デフォルトの名無しさん
2006/04/20(木) 23:51:090137デフォルトの名無しさん
2006/04/21(金) 00:30:07(VS.NETを使わずに)
0138デフォルトの名無しさん
2006/04/21(金) 00:37:23俺だけ?
0139デフォルトの名無しさん
2006/04/21(金) 00:39:56意味分からん VS.NET をどう使ってどう使わないという話なんだ
>>138
お前だけ
って言われれば満足?
0140デフォルトの名無しさん
2006/04/21(金) 00:50:37という警告が出るようにするにはどのようにしたらよいのでしょうか?
EqualsをオーバライドするとGetHashCodeもオーバライドしないといけないのような
0141デフォルトの名無しさん
2006/04/21(金) 00:52:25悪かった。
Visual C# 2005 Express で、
COM参照(Microsoft HTML Object Library)を選択してOKを押すと、
マウスポインタがWaitのままCPU仕様率100%で完了しないのですが
こんな症状の理由の分かるかたいらっしゃいませんか?
0142デフォルトの名無しさん
2006/04/21(金) 01:29:40俺も同じ症状、Beta2では出来た気がするんだが
0143デフォルトの名無しさん
2006/04/21(金) 01:42:23おれんとこも同じ。
VS Standard入れてある環境だと、MSHTMLはPrimary InterOp Assembly(PIA)が入っていて
「参照の追加」で.NetのタブからMicrosoft.mshtmlがすんなり選べるんだけど、Expressの入っ
ている環境だと、なぜかmshtmlのPIAが入っておらず、COMのタブから選ぶしかない。
COM参照だとTlbimpがmshtmlのラッパを作成するので、その間にむちゃくちゃ時間
かかる(mshtmlは巨大)
数分ほうっておくと、ラッパのアセンブリが作成されて、参照可能になっているはず。
mshtmlのPIAは.net SDKに入っているんではないかなあ?
0144デフォルトの名無しさん
2006/04/21(金) 01:43:42ウィンドウサイズの変更って 普通マウスで右下隅を
ドラッグしてぐりぐりっと変更するもんで内科医?
0146デフォルトの名無しさん
2006/04/21(金) 02:28:20必要とする機能がごく限定されてるなら自前で COM インターフェイス宣言するのも良いかもね
0147デフォルトの名無しさん
2006/04/21(金) 02:39:33ラッパのくせに8MB近くになるよ。(PIAもほぼ一緒)
MS OFFICE用のPIAでもせいぜい数百キロbyte.
mshtmlはダントツに巨大っす。
まあDOMのオブジェクト、メソッド、インタフェース、イベント、その他もろもろ
すべてについて、変換用のシグネチャ書き出すんだから、仕方ないとおもうけど。
まあ、きょうび8Mb程度のファイルの配布を躊躇することも
ないとおもうけどねえ。。。
0148デフォルトの名無しさん
2006/04/21(金) 07:41:02文字とおり
EqualsをオーバライドするとGetHashCodeもオーバライドしたほうがいいよ
ってことなんだけど。必要なしと確信できるならほっとけばOK。
0149デフォルトの名無しさん
2006/04/21(金) 07:47:52自前のインタフェース中の2つのメソッドを基底クラスで実装してあって、
実装クラス側にその二つのメソッドは片方オーバライドしたら両方オーバライドしたほうがよいよ
というようなことがしたいんですけどどうすればよいのかと。
0150デフォルトの名無しさん
2006/04/21(金) 08:08:05わざわざ CS0659 から CS0661 までの 3 つの警告を割り当ててるくらいだし
0151148
2006/04/21(金) 08:30:470152デフォルトの名無しさん
2006/04/21(金) 08:32:240153デフォルトの名無しさん
2006/04/21(金) 23:44:360154デフォルトの名無しさん
2006/04/22(土) 03:50:560155デフォルトの名無しさん
2006/04/22(土) 13:19:07C#にて複数のプロジェクトをソリューションに追加し、コンパイルした場合、
1つのプロジェクトだけをコンパイルした場合でも、関連する(プロジェクト参照している)プロジェクトも
全部コンパイルされてしまいます。
※例えば、プロジェクトの1つがメインのEXEで残りはすべてDLL(複数)といった具合
プログラムの修正もしていない、または明示的にコンパイルも掛けていないのに、
勝手にコンパイルが掛かり、アセンブリの日付が変わってしまう事が嫌なのですが、
勝手にコンパイルが掛からないようにする事は可能ですか?
0156デフォルトの名無しさん
2006/04/22(土) 16:32:36ツール>オプション>プロジェクトおよびソリューション>ビルド/実行
>実行時に、スタートアップ プロジェクトおよび依存関係のみをビルドする
にチェックを入れる
0157デフォルトの名無しさん
2006/04/22(土) 16:34:00関連するプロジェクトのリビルドは抑制できないんじゃないかと。
0158デフォルトの名無しさん
2006/04/22(土) 16:58:34あとちょっと面倒だけど、参照させることでいける
0159155
2006/04/22(土) 17:35:43やはり制御は出来ないですか。
一応、現状はそれぞれ別々のソリューションにして、個々にコンパイルし、
参照設定でDLLを直接指定しています。
一応、デバッグ情報も生成させているので、デバッグ時に困るという事は無いのですが、
関連モジュールも一緒に修正したりとかするときに、別のソリューションを開いて・・・・
となるので作業が面倒でした。
0160デフォルトの名無しさん
2006/04/22(土) 17:46:43ありませんか?具体的には、同じ絵のPictureBoxを、どのTabPageにも表
示したいのです。タブブラウザを作る場合に、WebBrouserコントロールを
共有するというのも同じ問題になると思います。
やってみた方法としては、
tabControl1_SelectingやtabControl1_SelectedやtabControl1_SelectedIndexChanged
内で、targetControl.Parent = tabControl1.SelectedTab; とすると、一応
共有化されるのですが、タブが切り替わる際にtargetControlが一瞬見えなく
なります。それぞれのタブに、コントロールを別々に張り付けると、切り替わ
りの問題は発生しませんので、タイミング的に背景色で塗りつぶされてから
Parentが変更されるのだと思います(Selectingの時点で切り替えるのでは遅い
と言うこと)。
TabPage.Controls.Add だと、どれかひとつにしか配置できません。
何か良い方法は無いでしょうか?
VisualStudio2005+WindowXP SP2 を使っています。
0161デフォルトの名無しさん
2006/04/22(土) 17:47:35私だけですか?
0162デフォルトの名無しさん
2006/04/22(土) 17:50:53別々にコントロール貼り付けたら問題ないんだったら
それでいいじゃん
0163デフォルトの名無しさん
2006/04/22(土) 17:54:04共有したいものをタブページの中に置かずに
タブコントロールの真下に置けばいいんじゃね
それとタブブラウザではタブの数だけ
ウェブブラウザのインスタンスが存在すると思うぞ
>>161
.NET ではインタフェースはあんまり使わない
0165デフォルトの名無しさん
2006/04/22(土) 18:02:51そんな不純な動機なら知ってても教えてあげないよ!!
0166デフォルトの名無しさん
2006/04/22(土) 18:10:230167デフォルトの名無しさん
2006/04/22(土) 20:46:32めちゃくちゃ使うよ、インターフェース
0168デフォルトの名無しさん
2006/04/22(土) 21:52:18メニュー「ツール」→ユーザー設定→「コマンド」タブ
そこの「ビルド」にお探しのものがある気がする。
0169デフォルトの名無しさん
2006/04/22(土) 22:28:22なにと比較してだろ?
0170デフォルトの名無しさん
2006/04/22(土) 22:33:32Java ならインターフェイス使わんといかんからな
0171デフォルトの名無しさん
2006/04/22(土) 23:37:44ちょいと検索したらライブラリにEventListenerっていうインターフェースがあるようだが
そいつを利用するって話?
0172デフォルトの名無しさん
2006/04/22(土) 23:48:230173デフォルトの名無しさん
2006/04/22(土) 23:53:32delegate オブジェクトの代わりにイベントリスナインターフェイスを実装するオブジェクトを渡す。
// インターフェイスを実装するオブジェクトは大抵は(無名の)インナークラスで定義する。
0174デフォルトの名無しさん
2006/04/23(日) 00:13:40何十行とデータがあって、1画面に収まらない時、スクロールを1番下にしたいんです。
0175デフォルトの名無しさん
2006/04/23(日) 00:14:17ネストトップレベルクラスのようなシンプルさがない
0176デフォルトの名無しさん
2006/04/23(日) 00:16:36ScrollToCaret
SelectionStart
0178デフォルトの名無しさん
2006/04/23(日) 02:53:06>ネストトップレベルクラスのようなシンプルさがない
???
0179デフォルトの名無しさん
2006/04/23(日) 04:37:16翻訳ソフトでやると、ダサい英語や意味がわかりにくいものになったりするし
みんなどうしてるの?
デザインパターンならぬ、名前付けパターンみたいなのないかな?
0180デフォルトの名無しさん
2006/04/23(日) 04:39:43ある程度のパターンはあるが明文化されるほど明確でもない。
クラス名・変数名に迷ったら書き込むスレ。Part7
http://pc8.2ch.net/test/read.cgi/tech/1144978008/
0181デフォルトの名無しさん
2006/04/23(日) 04:47:06こんなスレがwありー
0182デフォルトの名無しさん
2006/04/23(日) 05:17:590183デフォルトの名無しさん
2006/04/23(日) 07:36:50対応表みたいなのってどこかにないですか?
0184デフォルトの名無しさん
2006/04/23(日) 11:33:310185デフォルトの名無しさん
2006/04/23(日) 11:43:21お前らは
これらの区別つけられますか
0186デフォルトの名無しさん
2006/04/23(日) 11:47:56大文字小文字
0187デフォルトの名無しさん
2006/04/23(日) 11:49:31private void radioButton3_CheckedChanged(object sender, System.EventArgs e)
{
if(this.radioButton3.Checked) this.radioButton1.Checked = true;
}
private void radioButton1_CheckedChanged(object sender, System.EventArgs e)
{
if(this.radioButton1.Checked) this.radioButton2.Checked = true;
}
private void radioButton2_CheckedChanged(object sender, System.EventArgs e)
{
if(this.radioButton2.Checked) this.radioButton3.Checked = true;
}
0188デフォルトの名無しさん
2006/04/23(日) 11:52:370189デフォルトの名無しさん
2006/04/23(日) 11:53:540190デフォルトの名無しさん
2006/04/23(日) 11:56:44メビウスの輪?
0191デフォルトの名無しさん
2006/04/23(日) 12:03:010192デフォルトの名無しさん
2006/04/23(日) 12:13:44{
if(this.checkBox1.Checked) this.checkBox1.Checked = false;
if(!this.checkBox1.Checked) this.checkBox1.Checked = true;
}
0193デフォルトの名無しさん
2006/04/23(日) 12:15:56private void test()
{
test();
}
0194デフォルトの名無しさん
2006/04/23(日) 12:20:20{
timer.Invail=1;
MessageBox.Show("早く閉じて終了しないと、画面がうまっちゃうぞw");
this.Close();
}
0195デフォルトの名無しさん
2006/04/23(日) 12:25:01{
get
{
return this.Unko;
}
set
{
this.Unko = value;
}
}
0196デフォルトの名無しさん
2006/04/23(日) 12:28:050197デフォルトの名無しさん
2006/04/23(日) 12:32:23うんこでオーバーフローは嫌だな
0198デフォルトの名無しさん
2006/04/23(日) 12:36:450199デフォルトの名無しさん
2006/04/23(日) 12:39:00// 珍しく VB の方だけ警告する
0200デフォルトの名無しさん
2006/04/23(日) 13:00:150201デフォルトの名無しさん
2006/04/23(日) 13:12:200202デフォルトの名無しさん
2006/04/23(日) 14:00:55匿名メソッドならぬ匿名変数として
いちいちプロパティの実体変数を宣言するの面倒くさい
スニペット使えということか
0203デフォルトの名無しさん
2006/04/23(日) 14:04:490204デフォルトの名無しさん
2006/04/23(日) 20:16:13Alt+E(編集)→C(コピー)なんてやる時、IMEがオンになってると、最後に
押したCがIMEのほうに渡って、コピー動作をやってくれないんだけど、
これってこういうもんなの?
0205デフォルトの名無しさん
2006/04/23(日) 20:54:08フォーカスそのものを奪ったりはしてないようだから、元コントロールのままみたいだね。
回避したいなら、MenuActivated と MenuDeactivate でごにょごにょするとか。
0206デフォルトの名無しさん
2006/04/23(日) 22:04:150207204
2006/04/23(日) 23:29:49ちょっと説明が中途半端で誤解を招く書き方だったけど、IDEの操作でなく、
C#で作ったアプリの動作のほうの問題なんだけど、ほんとにできてる?
こっちでやると、IMEのウインドウが開いて、押したキーがそこに表示されてしまう。
確かに本当だったらIMEオンでも問題ないと思うんだけど...
0208デフォルトの名無しさん
2006/04/23(日) 23:55:26Alt+E C ではなく Alt+E Alt+C ってやれば反応するけど
ToolStripControlHost でも内側のコントロールにフォーカスが
移りにくいのも何とかして欲しいなあ
0209デフォルトの名無しさん
2006/04/24(月) 10:11:53メモ帳とか古くからあるメニューを使ってるやつだと
Alt押→Alt離→F→Nで新規作成が実行できるけど
IEとかCollBar型?のメニューだと
Altを押しっぱなしじゃないとfとか押しても変換に入ってしまう。
これは仕様なのかバグなのか・・・・
アクセスキーに漢字も使えるとか言うことだろうか??
0210デフォルトの名無しさん
2006/04/24(月) 11:32:23もしかしたらMS-IMEじゃなくてJapanistだからかもしれない。
0211デフォルトの名無しさん
2006/04/24(月) 11:39:12> アクセスキーに漢字も使えるとか言うことだろうか??
その発想はなかったので試してみたらできたw キモスw
0212デフォルトの名無しさん
2006/04/24(月) 14:24:59必死でhtml勉強してregexやら使いながら手動でエンコードしてたぜw
0213デフォルトの名無しさん
2006/04/24(月) 18:05:42使っちゃまずいんですか?
いちおうドロップ動作に問題はないみたいですが
0214デフォルトの名無しさん
2006/04/24(月) 18:09:15ただ MS としては D&D の対象として不自然と考えているんだろう
0215デフォルトの名無しさん
2006/04/24(月) 18:13:580216デフォルトの名無しさん
2006/04/24(月) 18:26:42とありますが、DragDropイベントもDragOverイベントも
みんなあるんですよね〜
0217デフォルトの名無しさん
2006/04/24(月) 18:54:43別に使っても問題ないと思われ
0218デフォルトの名無しさん
2006/04/24(月) 20:10:390219デフォルトの名無しさん
2006/04/24(月) 23:00:03Whitespace ::= ' '+ | '\t'+ | '\n'+
と定義されるとき、与えられた文字列を「Whitespace とそれ以外」に分離する。
例) "a b c" -> {"a", " ", "b", " ", "c"}
"a b c" -> {"a", " ", "b", " ", "c"}
"a\n\nb\t\tc" -> {"a", "\n\n", "b", "\t\t", "c"}
"a\n\tb\t\nc" -> {"a", "\n", "\t", "b", "\t", "\n", "c"}
を、System.String#Split("●", System.StringSplitOptions.None);
-> 要素と要素の間に新しい要素 ("●") を挿入
-> 空の要素に "●" を代入
-> 内容が "●" の要素をまとめる
を繰り返す、という方法で実現することを考えたのですが、自分があまり配列操作が得意でなく、
さらに領域操作がオーバーヘッドを生じさせてしまうのではという懸念も考えられるので、他の方法が
無いものかと悩んでいます。
何か他に効率の良い方法は無いものでしょうか?
0220デフォルトの名無しさん
2006/04/24(月) 23:19:030221デフォルトの名無しさん
2006/04/24(月) 23:23:06foreach (Match match in Regex.Matches(target, " +|\t+|\n+|[^ \t\n]+")) {
result.Add(match.Value);
}
0222219
2006/04/24(月) 23:35:07わざわざ具体的なコードまで書いて頂き、本当にありがとうございます。
正規表現にあまり慣れ親しんでいない者としては、目から鱗が落ちるような
パターンで、(大げさかもしれませんが) 感動しています。
ありがとうございました。
0223デフォルトの名無しさん
2006/04/24(月) 23:48:060224219
2006/04/25(火) 00:29:564,000 文字程度の文字列を引数に >>221 を走らせて、出力を配列に落とし、
その内容を標準出力に出力させてみましたが、速度は十分速く、全く問題ありませんでした。
0225デフォルトの名無しさん
2006/04/25(火) 00:54:380226デフォルトの名無しさん
2006/04/25(火) 01:00:520227デフォルトの名無しさん
2006/04/25(火) 01:10:16replaceのほうが早いんじゃない?
0228デフォルトの名無しさん
2006/04/25(火) 06:24:04{
Aho aho = new Aho();
this.Click += aho.OnClick;
}
とした場合、
this.Click -= aho.OnClick;
を実行しなければ aho はスコープを抜けて利用不可能になっても永久に破棄されないんでしょうか?
0229デフォルトの名無しさん
2006/04/25(火) 07:08:320230デフォルトの名無しさん
2006/04/25(火) 07:30:070231デフォルトの名無しさん
2006/04/25(火) 07:49:560232デフォルトの名無しさん
2006/04/25(火) 10:44:28キーコードを取得するところで"Enter"で取得していたのが取得できず"Return"で取得しないといけないようでした。
キーボードのEnterを押してみるとたしかに"Return"が返ってくるようなので書き換えればいいのですが、
これは2005から変わったのですか?それとも2003が間違っていたのでしょうか?
0233デフォルトの名無しさん
2006/04/25(火) 10:53:31は true だぞ? 文字列に変換してから比較したりしてないだろうな?
0234デフォルトの名無しさん
2006/04/25(火) 11:02:07文字列に変換して比較してました・・・。
ごめんなさい・・・。
0235デフォルトの名無しさん
2006/04/25(火) 11:47:29http://weblogs.asp.net/dr.netjes/archive/2006/02/10/437868.aspx
(no code)
(no code)
(no code)
(no code)
(no code)
エエェェ(´д`)ェェエエ
</チラシの裏>
0236デフォルトの名無しさん
2006/04/25(火) 12:29:11ひょっとして存在しないんでしょうか?
エクセル同様の物があると期待していたのですが。
0237デフォルトの名無しさん
2006/04/25(火) 12:34:270238デフォルトの名無しさん
2006/04/25(火) 12:36:51自作のライブラリでも探せばよかろう。
C#1.1の時代からいろんな物が作られているから。
0239デフォルトの名無しさん
2006/04/25(火) 13:15:31試しもせずに言ってみる。
0240236
2006/04/25(火) 14:41:56諦めて必要な機能だけ自作します・・・orz
>239
Tools for Officeはもってないです・・・
0241デフォルトの名無しさん
2006/04/25(火) 15:54:22http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/wmplay/mmp_sdk/playlistobject.asp
を使ったサンプルが無い為、他に情報源があったら教えてください。
0242デフォルトの名無しさん
2006/04/25(火) 15:56:520243デフォルトの名無しさん
2006/04/25(火) 16:04:440244デフォルトの名無しさん
2006/04/25(火) 16:26:28item でインデックスから取得して removeItem するだけじゃん。
総数は count で取得できるし。
0245デフォルトの名無しさん
2006/04/25(火) 16:39:29for(int i=0;i < cnt;i++)
{
Media = playlist.get_Item(i);
playlist.removeItem(Media);
}
で16個中8個まで削除する事ができましたが、それ以降は
エラーが出て削除できませんでした。
別の遣り方でWMPを利用します。
0246デフォルトの名無しさん
2006/04/25(火) 16:43:34removeItem で 0 番目のを消す。
残りは繰り上げられて 0 から 元の playlist.count - 1 までになる。
removeItem で 1 番目のを消す。
繰り上げられた 0 はどこ行った?
0247デフォルトの名無しさん
2006/04/25(火) 17:49:560番目削除でうまく全部削除できました。
0248228
2006/04/25(火) 19:22:15レスどうもです。
>>231
ということは、aho がスコープアウトすると自動的に -= 相当のことをしてくれるという理解でいいのでしょうか?
それとも this.Click が invoke されると実行時エラーが発生するとかでしょうか。
>>247
その場合はどうか知らないですが先頭削除はコストが高い可能性があるので
一般的には
for (int i = cnt-1; i >= 0; --i) {
Media = playlist.get_Item(i);
playlist.removeItem(Media);
}
の方がいい気がします
0249デフォルトの名無しさん
2006/04/25(火) 19:26:52バックで責めるのか?こやつめ!はっはっはっ
0250デフォルトの名無しさん
2006/04/25(火) 19:50:18> ということは、aho がスコープアウトすると自動的に -= 相当のことをしてくれるという理解でいいのでしょうか?
良くない。
> それとも this.Click が invoke されると実行時エラーが発生するとかでしょうか。
しない。
this.Click に aho.OnClick が追加されたら、(明示的に解除しないのなら)
this.Click が参照不可にならない限り aho.OnClick は this.Click から参照される。
だから this が GC されない限り aho のインスタンスは残る。
0252デフォルトの名無しさん
2006/04/25(火) 21:36:47a.Cloick += new Handler(OnClick)
a.Cloick -= new Handler(OnClick)
HandlerのEqualsが
同じインスタンスの同じメソッドならtrue返すようになってまんのか?
0253デフォルトの名無しさん
2006/04/25(火) 21:39:400254デフォルトの名無しさん
2006/04/25(火) 22:03:08>同じインスタンスの同じメソッドならtrue返すように
なってないと思う。
くっつけてから外したいならメンバ変数なりに保持しておくことになるんじゃ。
0255デフォルトの名無しさん
2006/04/25(火) 22:07:480256デフォルトの名無しさん
2006/04/25(火) 22:19:40普通に-= new Handler(XXX)で問題ない。
ちなみに同じハンドラを+-すると二度実行される(メンバで保持するしないにかかわらず)
リストビューでフォーカスが外れたときの色ってなんでしょう?
選択色はSystemColors.Hightlightなのはわかるのですが
SystemColors.Controlでいいのかな
0257デフォルトの名無しさん
2006/04/25(火) 22:31:31確かにその通りだね。>>254は間違い。
0258デフォルトの名無しさん
2006/04/26(水) 10:55:05リストビューのBackColorじゃないのか
普通はたぶんWindow
0259デフォルトの名無しさん
2006/04/26(水) 11:01:47LisViewItem.Selected=true
でフォーカスを外した時の色のことじゃね
標準の配色だと灰色っぽい色だが
0260デフォルトの名無しさん
2006/04/26(水) 11:59:44SystemColors.Controlです。コンパネかSetSysColorsで色をいじるとわかる。
0261デフォルトの名無しさん
2006/04/26(水) 21:27:19画像をつなげて .Images.AddStrip するとだめなのはバグですかね?
0262デフォルトの名無しさん
2006/04/26(水) 21:38:420263デフォルトの名無しさん
2006/04/26(水) 23:34:57あんまし関係ないけど、C#のデリゲート呼び出しとVB.NETのデリゲート呼び出しのやり方って違うのね
ttp://www.atmarkit.co.jp/fdotnet/onepoint/onepoint03/onepoint03_02.html
0264デフォルトの名無しさん
2006/04/26(水) 23:35:00GIMPで一つの画像ファイルにまとめたものを
リソースに追加するということです。
0265デフォルトの名無しさん
2006/04/27(木) 00:43:03tabcontrol内に、コントロールを追加したいのですが、
MSDNで調べたところ、以下のような例が見つかりました。
//タブコントロール内にコントロール配置
// Assuming that tabControl1 exists and has at least one tab page
// Add a button to the first tab page
tabPage1.Controls.Add(new Button());
上の例はよくわかりますが、
for (int i = 0; i < (numericUpDown1.Value - tabcnt); i++)
{
string title = "TabPage " + (tabControl1.TabCount + 1).ToString();
TabPage myTabPage = new TabPage(title);
tabControl1.TabPages.Add(myTabPage);
}
で、増やしたtabpageにコントロールを配置するにはどうしたらよいでしょか?
コントロールを追加したいtabpageはその時々によって変化するため、MSDNの例の通りにはできません。
これで伝わりますでしょうか?
ご教授お願いいたします。
0266デフォルトの名無しさん
2006/04/27(木) 00:46:38インデックスで探すなり SelectedTab 使うなり。
TabPages を foreach で TabPage 列挙してそれぞれの Text を調べても良いし。
0267デフォルトの名無しさん
2006/04/27(木) 01:08:19非常に申し訳ないのですが、よく理解できません。
ソースで示していただけるとありがたいのですが。
本当にごめんなさい。
0268デフォルトの名無しさん
2006/04/27(木) 01:09:200269デフォルトの名無しさん
2006/04/27(木) 01:38:39以下のコードで解決しました。
this.tabControl1.TabPages[tabControl1.TabCount-1].Controls.Add(new Button());
ありがとうございました。
0270デフォルトの名無しさん
2006/04/27(木) 09:10:34TabControlにそのTabPageを追加しないか?ふつう
0271デフォルトの名無しさん
2006/04/27(木) 21:20:38バイナリフォーマットで書き出すことはできないのでしょうか?
シリアライズは可能で、きちんとファイルも生成されるのですが、デシリアライズを行おうとすると
System.Runtime.Serialization.SerializationException はハンドルされませんでした。
Message="メンバ '<Initialize>b__0' を取得できません。"
という例外が投げられるので、ファイルを覗いて "<Initialize>b__0" という文字列を検索してみたところ、
その後に続くシグネチャがデリゲートのそれと同一だったので匿名メソッドが原因ではないかと疑っています。
0272デフォルトの名無しさん
2006/04/27(木) 21:37:13再現コード書ける?
0273271
2006/04/27(木) 22:52:22検証コードを書いてみたところうまく動いたので、エラーの出るプログラム内の
クラスの readonly を外してみたり、デリゲートの引数を全て参照渡しにしてみたり
したところ、うまく動いてしまいました。
わざわざお付き合い頂いたのに自己解決してしまった上、更にスレまで汚してしまいました。
実に申し訳ありませんでした。
0274デフォルトの名無しさん
2006/04/27(木) 23:10:400275デフォルトの名無しさん
2006/04/28(金) 09:00:060276デフォルトの名無しさん
2006/04/28(金) 15:44:43そのほかにも、フォームデザイン表示するとフレームがガクガク揺れるし
Oneクリックしただけなのにdoubleクリックになったり
ほんと糞だなこれ
0277デフォルトの名無しさん
2006/04/28(金) 15:46:430278デフォルトの名無しさん
2006/04/28(金) 18:11:21みたいにしたいのですが、
インデックスつきのイベントは作れないんでしょうか?
デリゲートを返すしかない?
0279デフォルトの名無しさん
2006/04/28(金) 18:15:590281278
2006/04/28(金) 18:29:34KeyPress[Keys.A] += new EventHandler(AorBPress);
KeyPress[Keys.B] += new EventHandler(AorBkeyPress);
void AorBPress()
{
Console.Write("AかBが押されました");
}
みたいにできると便利かと思ったのですが
0282デフォルトの名無しさん
2006/04/28(金) 18:42:32KeyPress は KeyPress で、どのキーが押されたかはイベント引数でってのが .NET の方向性だろう
ま、どのみちイベントじゃ引数付きはつくれないけど
0283デフォルトの名無しさん
2006/04/28(金) 18:45:14YOUデリゲートしちゃいなよ!
0284278
2006/04/28(金) 18:51:46とかやってデリゲートを直接返してしまうしか無さそうですね。
外部から呼び出せてしまうのが気持ち悪いですが。
0285デフォルトの名無しさん
2006/04/28(金) 23:52:460286デフォルトの名無しさん
2006/04/29(土) 12:24:32AddHandlerとかのメソッドにすりゃいいじゃん。
正式にイベントにしたいんならそりゃ諦めるしかないが…
0287デフォルトの名無しさん
2006/04/30(日) 11:44:59普通なら「for update nowait」で、レコードロック掛けてから更新すると思いますが、
この度、レコードロック掛けずに更新しろとのお達しがありました。
SqlPlusでは、レコードロック掛けられている間、他のセッションで更新しようとすると、ロック解除まで待ち続けますが、C#で使用するOracleのライブラリでは待たずに返って来させるようなメソッドが用意されていますか?
(どこで聞いていいものかわからずこちらで聞いてしまいました。すれ違いなら誘導していただけませんでしょうか?)
0288デフォルトの名無しさん
2006/04/30(日) 12:37:58普通なら「for update nowait」で…てどういうこと?
レコードロック掛けずに更新しろ…てどういうこと?
0289デフォルトの名無しさん
2006/04/30(日) 12:42:10楽観的同時実行制御しろってことか?
だったらUPDATE実行する直前に、他のセッションで
そのレコードが変更されていないかチェックして、
変更されていなかったら普通に更新すれば委員ジャマイカ?
0290デフォルトの名無しさん
2006/04/30(日) 12:47:43どういう要件でそういう場合があるのか知りたいので
理由を教えてほしい。
0291デフォルトの名無しさん
2006/04/30(日) 12:48:37読み込んでから更新までが長い状態で、ロックをかけるなという話なら、
>>289の言うように楽観的同時実効制御の話かと思うが、
直前に更新がなかったか確認するという方法であれば、
確認する際にはやっぱりレコードーロックは必要になるぞ?
WHEREの条件ではじく制御方法なら不要だが。
で、
>C#で使用するOracleのライブラリでは待たずに返って来させるようなメソッドが用意されていますか?
がどういう意図で書かれてるのか分からない。
0292デフォルトの名無しさん
2006/04/30(日) 12:49:13更新の瞬間には必ずレコードをロックしなければならない。
0293デフォルトの名無しさん
2006/04/30(日) 12:51:26と思うのだよ。
0294デフォルトの名無しさん
2006/04/30(日) 12:54:24>確認する際にはやっぱりレコードーロックは必要になるぞ?
その必要すらないほど「楽観的」なのでは?w
0295デフォルトの名無しさん
2006/04/30(日) 12:58:310296デフォルトの名無しさん
2006/04/30(日) 12:58:59そこそこ長時間かかるかもしれない非同期の処理を投入
(オンラインバッチとかそういう感じ)する場合、
どういう風に実装するのがいいんだろ?
裏でプロセスをキックするのが一番簡単なんだが、
サーバリソース的に無駄が多いと思われる(投入頻度によるが)。
しかし、ASP.NETの処理内でスレッドを起動したりス、レッドプールを
長時間(かもしれない)占有するのは、通常の処理への悪影響がありそうで怖い。
実際のところどうするべきかな…
0297デフォルトの名無しさん
2006/04/30(日) 13:00:22盲目的にロックはかけるなといわれてる気がする。
0298デフォルトの名無しさん
2006/04/30(日) 13:01:36その前にADO.NET(ODPでもええけど)の標準的な手法というのも一度理解しておいたほうがいい。
0299デフォルトの名無しさん
2006/04/30(日) 13:03:230300デフォルトの名無しさん
2006/04/30(日) 13:04:32>盲目的にロックはかけるなといわれてる気がする。
あるいはそういわれてると誤解してるか?
0301デフォルトの名無しさん
2006/04/30(日) 13:06:21・SQLインジェクション対策(セキュリティ対策)
・プログラムのコンパイル不要でシステムの修正が可能。
特に同じようなSQLが大量に使われてる場合、1つのストアドをサーバで直せば、全部直る。
・既にSQLがコンパイル済みなので、処理が早い。
プログラムからSQLを発行すると、DB鯖では字句解析からコンパイル・・・といった手段を取る。
0302デフォルトの名無しさん
2006/04/30(日) 13:07:21fot updateとか nowait 指定とか使える。質問者の脳内にあるやり方がそのまま通用するということ。
質問者がこれまでなに使ってるかによるけどね。
0303デフォルトの名無しさん
2006/04/30(日) 13:07:46オラクルならなおさら・・・
0304デフォルトの名無しさん
2006/04/30(日) 13:08:03>その辺シビアにやりたいなら全部ストアドプロシージャで書いて
このその辺シビアにできるというメリットに関して聞きたかったんだ…
0305デフォルトの名無しさん
2006/04/30(日) 13:08:46普通にSQLでも使えると思うんだが…
0306デフォルトの名無しさん
2006/04/30(日) 13:11:15どっちかっていうと低レベルの処理を行う小さな部品みたいな使い方で、
まともなロジックはあまり書きたくないな。
PL/SQLのプログラムなんざ見てたら頭痛がしてくる。
まあ、.NET拡張を使うという手も…
0307デフォルトの名無しさん
2006/04/30(日) 13:11:20優先度下げたスレッドにやらせれば?
スレッドプールは割とあっさりあふれる可能性があるので長時間の処理には使いたくないね
0308デフォルトの名無しさん
2006/04/30(日) 13:11:23Oracleなら.NETでビジネスロジック書いて、ストアドで呼び出せば良いじゃないか。
0309デフォルトの名無しさん
2006/04/30(日) 13:13:53あったと思うのですが、解説されたwebページを前に見たのですが、忘れてしまいました。
具体的には、スクリプトのように使いたいのですが・・・。
0311デフォルトの名無しさん
2006/04/30(日) 13:15:17>スレッドプールは割とあっさりあふれる可能性があるので長時間の処理には使いたくないね
そう、これが気になるところなんだが、
いろいろ見てるとスレッドプールを使わないというのも
まずいように書かれてるので気になってるんだよね。
※スレッドのリソースが枯渇して云々など
スレッドプールのスレッド数をうまく調整するか、
普通に低優先度のスレッドを起動して、同時投入数を制限するか、
あるいはキューに投入して順次処理させるか。
うーん、悩むところだ。
0312デフォルトの名無しさん
2006/04/30(日) 13:16:13ttp://www.atmarkit.co.jp/fdotnet/dotnettips/100compile/compile.html
0313デフォルトの名無しさん
2006/04/30(日) 13:19:39このお達しが楽観的排他を使えということなのか、
NOWAITにしろということなのかよく確かめるべきだと思う。
0314デフォルトの名無しさん
2006/04/30(日) 13:20:240315デフォルトの名無しさん
2006/04/30(日) 13:21:00スレッドプールを使わないとリソースが、ってのは WWW サーバみたいな超多量のリクエストを捌く時のシナリオだよ。
0316デフォルトの名無しさん
2006/04/30(日) 13:24:10今回のはそこまでシビアではないと思われるから、いいような気はしてきた。
同時実行数の制限をかければ十分かな…
0317デフォルトの名無しさん
2006/04/30(日) 13:24:470318デフォルトの名無しさん
2006/04/30(日) 13:26:34結局自分で管理せざるを得なくなるから、
>独自のスレッドマネージメント作ったほうがよさげなんだが。
結局こうなる気がしてきた…
0319デフォルトの名無しさん
2006/04/30(日) 13:53:45トンクス!!
試してみます^^
0321デフォルトの名無しさん
2006/04/30(日) 16:07:25だ か ら ど う し た
0322デフォルトの名無しさん
2006/04/30(日) 16:13:32本物かどうかよくわからんが、
お前が知ってるとか知らないとかそんなことはどうでもよくて
#そもそもお前に言ったんじゃない部分もあるような気がするが
お前がどういう風に言われたのか、どういう意味で言われたのか、
それをどう受け取っているのか(どういう意味と理解しているのか)
それともお前が言われた意味を誤解してるのか、
言った側がそもそも分かってないのか、
さっぱり分からんからそれを教えてくれといってる。
0324287
2006/04/30(日) 16:18:060325デフォルトの名無しさん
2006/04/30(日) 16:18:520326デフォルトの名無しさん
2006/04/30(日) 16:27:15そういうコードを載せてあるサイトがあれば教えて下さい
0327デフォルトの名無しさん
2006/04/30(日) 16:29:50ttp://www.google.com/search?hl=en&lr=&safe=off&q=using+filetype%3Acs
0328デフォルトの名無しさん
2006/04/30(日) 16:33:28ここのサイトにたくさん載ってる。
住人もすごく親切で初心者の質問にも優しく答えてくれるし、マジお勧め。
プログラム技術@2ch掲示板
http://pc8.2ch.net/tech/
0330326
2006/04/30(日) 16:39:070331デフォルトの名無しさん
2006/04/30(日) 16:41:540332デフォルトの名無しさん
2006/04/30(日) 17:07:01そういうコードを載せてあるサイトがあれば教えて下さい
0333デフォルトの名無しさん
2006/04/30(日) 17:09:170334デフォルトの名無しさん
2006/04/30(日) 17:10:250335デフォルトの名無しさん
2006/04/30(日) 17:14:12そういうコードを載せてあるサイトがあれば教えて下さい
0336デフォルトの名無しさん
2006/04/30(日) 19:58:01UNZIP32.DLLなどのライブラリを使えば良いのかと思いましたが、その方法がわかりません。
よろしくお願いします。
0337デフォルトの名無しさん
2006/04/30(日) 20:10:43どんな関数を使えばいいのかは DLL 次第だろ。
zip なら #ziplib とかもあるけど。他のがあるかどうかは知らない。
0338デフォルトの名無しさん
2006/04/30(日) 20:32:210339デフォルトの名無しさん
2006/04/30(日) 20:35:13やるなら自前でヘッダ読み書きする必要があるな。
0340デフォルトの名無しさん
2006/04/30(日) 20:36:550341336
2006/04/30(日) 20:48:14「解凍せずに書庫内を閲覧」というのをどうやるのかがわかりません。
0342デフォルトの名無しさん
2006/04/30(日) 21:04:570343デフォルトの名無しさん
2006/04/30(日) 21:06:120344デフォルトの名無しさん
2006/04/30(日) 21:18:010345336
2006/04/30(日) 21:18:08http://www.vector.co.jp/soft/win95/util/se230183.html?g
色々調べてみます。
0346デフォルトの名無しさん
2006/04/30(日) 21:42:100347デフォルトの名無しさん
2006/05/01(月) 03:18:11今日、もう一度どういう意味か聞いてきたのですが、お達し出したほうはシステムがどういう具合に作られてるのか全くわかってなかったようです。
ロックかけるselectで時間を費やすのが嫌だった見たいです。
で、言うとおりにやってみたんですが、裏で表ロックかけて更新するPGがあり、にっちもさっちも行かなくなりました。
途中から関わってるから全体が見えなくて大変困っています。
皆さんありがとうございました。
0348デフォルトの名無しさん
2006/05/01(月) 03:31:55そいつらヘタレ過ぎるな。
まあ、がんばれ
0349デフォルトの名無しさん
2006/05/01(月) 05:37:37縦*(2/3)って書いてあるサイトもあったんですが、日本語フォント系にしか通用しないみたいで。
0350デフォルトの名無しさん
2006/05/01(月) 05:52:000351デフォルトの名無しさん
2006/05/01(月) 08:42:570352デフォルトの名無しさん
2006/05/01(月) 11:10:260353349
2006/05/01(月) 12:06:56とりあえずMeasureCharacterRangesで適当な一文字('A'とか)を計って
それを横幅として使うことにしました。等幅なので問題はないと思います。
0354デフォルトの名無しさん
2006/05/01(月) 13:11:450355デフォルトの名無しさん
2006/05/01(月) 13:12:09値はどんなものでも構いませんが、intやstring形式に直せると助かります。
0356デフォルトの名無しさん
2006/05/01(月) 13:40:47PCを構成する個別のデバイスに固有の値ということなら、
例えばMBのシリアルナンバーとかNICのMACアドレスなんかはそうだけど、
簡単に交換できてしまうのでは「PCごとに固有」の保証にはならない気がする。
0358デフォルトの名無しさん
2006/05/01(月) 13:55:56どこかで暗黙的に呼ばれてるらしくて、ReleaseComObjectしたくてもできません。
COMを扱うアプリで、マネージドコントロールにAllowDrop=true;にして
ファイルのドロップ等を行うと終了してもプロセスが残ってしまいます。
SPY++で残ってるプロセス見ると".NET-BroadcastEventWindow..."というwindowが
悪さしてるみたいなんですが……
0359デフォルトの名無しさん
2006/05/01(月) 14:01:22質問からじゃ COM がどこで使われてるのかよく分からんけど
0360デフォルトの名無しさん
2006/05/01(月) 15:05:45うまいこと言ったな俺。
0361デフォルトの名無しさん
2006/05/01(月) 15:13:35なるほど、ありがとうございます。
厳密でなくても良いので、それでいこうと思います。
0362デフォルトの名無しさん
2006/05/01(月) 16:24:280363デフォルトの名無しさん
2006/05/01(月) 16:25:140364デフォルトの名無しさん
2006/05/01(月) 17:52:02うわさによると最近のC/C++コンパイラはできるらしいですが。
0365デフォルトの名無しさん
2006/05/01(月) 18:05:54JIT コンパイラが頑張れば不可能ではないだろうがどう実装されてるのか知らんし。
0366デフォルトの名無しさん
2006/05/01(月) 19:06:04ないんですかねぇ。
ILにはtail命令っていうのがあるらしいですが、
CLRの環境からダイレクトに使えるようには
見えないんですよね・・・
0367デフォルトの名無しさん
2006/05/01(月) 19:26:17CorDbgで見たかぎりはJITでもやってないな。
確かにILにtailはあるがそのうち関数型の言語をサポートするときのための布石じゃないかな。
0368デフォルトの名無しさん
2006/05/01(月) 22:06:18C#3.0でラムダ式が入るみたいですから、そのときに期待ですかね。
0369デフォルトの名無しさん
2006/05/01(月) 22:44:29C#のソースを見ていますと時々ofdというものが出てくるのですが
どういう振舞いをするコマンドですか?
C++にも等価なものはありますか
0370デフォルトの名無しさん
2006/05/01(月) 22:52:540371デフォルトの名無しさん
2006/05/01(月) 22:54:020372デフォルトの名無しさん
2006/05/01(月) 22:54:360373デフォルトの名無しさん
2006/05/01(月) 23:00:180374デフォルトの名無しさん
2006/05/01(月) 23:36:23によれば
>>371が正解のようだ
0375デフォルトの名無しさん
2006/05/02(火) 01:03:55あと、
RegistryKey rk とか
0376デフォルトの名無しさん
2006/05/02(火) 01:05:590377デフォルトの名無しさん
2006/05/02(火) 01:18:210378デフォルトの名無しさん
2006/05/02(火) 01:23:220379デフォルトの名無しさん
2006/05/02(火) 02:06:39ページが読み込み終わった時に、WebBrowserコントロールにGUIのフォーカスが移ってしまうんですが、
この時に、フォーカス移動させないようにするやり方ってありますか?
0380デフォルトの名無しさん
2006/05/02(火) 02:12:56読み込んだ後にフォーカスを移したいコントロールを指定すればいいんじゃね?
0381デフォルトの名無しさん
2006/05/02(火) 03:05:260382デフォルトの名無しさん
2006/05/02(火) 03:08:520383デフォルトの名無しさん
2006/05/02(火) 03:09:500384デフォルトの名無しさん
2006/05/02(火) 03:12:160385デフォルトの名無しさん
2006/05/02(火) 03:39:210386デフォルトの名無しさん
2006/05/02(火) 03:41:380387デフォルトの名無しさん
2006/05/02(火) 04:33:19うそマジ?
ちょと探してみる…
0388デフォルトの名無しさん
2006/05/02(火) 04:44:53これ。
0389デフォルトの名無しさん
2006/05/02(火) 04:52:16リモーティングのチャネル使用時に設定する方法が分からん。
ていうか普通のやり方じゃできなさそうな希ガスorz
0390デフォルトの名無しさん
2006/05/02(火) 08:09:57スカラー数を表す Type の集合A を A = { typeof(int), typeof(double), typeof(float), typeof(long), ... } とします。
Type dstType ( srcType ∈ A )
object srcObj ( srcObj.GetType() ∈ A )
があるのですが、dstType の型をもち、 srcObj の値をもつ新規オブジェクト dstObj を作成したいと思っています。
イメージとしてはキャストを手動でやるような感じです。
dstObj = Activator.CreateInstance(dstType, srcObj) とすればできるかと思ったのですが、コンストラクタがないとエラーがでてできませんでした。
これを実現するにはどうすればよいでしょうか。
0391390
2006/05/02(火) 08:14:00○ Type dstType ( dstType ∈ A )
でした。
0392デフォルトの名無しさん
2006/05/02(火) 09:04:42delegate object ConvertDelegate(object obj);
Dictionary<Type, ConvertDelegate> dict = new Dictionary<Type,ConvertDelegate>();
dict[typeof(int)] = new ConvertDelegate(delegate(object obj) { return Convert.ToInt32(obj); });
dict[typeof(double)] = new ConvertDelegate(delegate(object obj) { return Convert.ToDouble(obj); });
dict[typeof(float)] = new ConvertDelegate(delegate(object obj) { return Convert.ToSingle(obj); });
dict[typeof(long)] = new ConvertDelegate(delegate(object obj) { return Convert.ToInt64(obj); });
:
dstObj = dict[dstType](srcObj);
のようにできました。
0393デフォルトの名無しさん
2006/05/02(火) 18:42:38いったんEnable=false;にして戻せ
0394デフォルトの名無しさん
2006/05/03(水) 08:24:31WebbrowserクラスでJavaScriptとかActiveXのオン/オフってどうやるんでしょうか?
0395デフォルトの名無しさん
2006/05/03(水) 16:55:060396デフォルトの名無しさん
2006/05/03(水) 17:00:10http://mindmap.jp/000091.html
0397デフォルトの名無しさん
2006/05/03(水) 17:05:58他にないかなぁ
0398デフォルトの名無しさん
2006/05/03(水) 17:07:14こんな糞高いソフトより使い勝手いいしな
0399デフォルトの名無しさん
2006/05/03(水) 17:28:50おれは WhiteHorse で十分だkが。
0400デフォルトの名無しさん
2006/05/03(水) 17:53:11無料っつってんだろ
0401デフォルトの名無しさん
2006/05/03(水) 18:14:300402デフォルトの名無しさん
2006/05/03(水) 19:06:07なんかマイクロソフトの製品のコードネームみたいなんだけど
そういった製品ないし、
standerd以上についてくるクラスデザイナのこと?
0403デフォルトの名無しさん
2006/05/03(水) 19:11:490404デフォルトの名無しさん
2006/05/03(水) 19:14:28そゆこと。コードネームで WhiteHorse と呼ばれていた。
0405デフォルトの名無しさん
2006/05/03(水) 19:21:03いいなースタンダード以上は!!便利そうだなー
なんてったって、ソースと連携できるんだろ?
ちしょうめ!
0406デフォルトの名無しさん
2006/05/03(水) 19:34:56視覚的に見てて楽しい
0407デフォルトの名無しさん
2006/05/03(水) 19:58:040408デフォルトの名無しさん
2006/05/03(水) 22:29:24freemindいいねー。html化することもできるし
ちょっと使ってみるか
0409デフォルトの名無しさん
2006/05/04(木) 00:10:050410デフォルトの名無しさん
2006/05/04(木) 00:17:43DISPID_AMBIENT_DLCONTROL で調べてみろ。
0412394
2006/05/04(木) 00:30:450413デフォルトの名無しさん
2006/05/04(木) 03:33:21JUDEは無料で使い勝手がいいぞ。UML2には対応まだみたいだけど
0414デフォルトの名無しさん
2006/05/04(木) 04:42:09クラスデザイナだとできるんでしょうか?それならスタンダードの購入も考えたいんですけど
もしそんなソフトがあるならほんとアプリ作成もスイスイ便利ですよねー
0415デフォルトの名無しさん
2006/05/04(木) 08:47:200416デフォルトの名無しさん
2006/05/04(木) 12:11:04Javaで動いて何が悪い?
VisioはJavaで動かないと思うけど。
0417デフォルトの名無しさん
2006/05/04(木) 12:17:38メニューの1階層めはShowImageMerginをFalseにしたら消せるけど、2階層目は
消すことってできない?
0418デフォルトの名無しさん
2006/05/04(木) 12:25:36だって、ここC#スレだろ?
0419デフォルトの名無しさん
2006/05/04(木) 12:32:390420デフォルトの名無しさん
2006/05/04(木) 12:34:07英語でも良いからわかりやすく。
0421デフォルトの名無しさん
2006/05/04(木) 12:52:21ざっと調べたけどないっぽいね。
// これはフィードバックに上げても良さそうだな。
// ToolStripMenuItem が ShowSubMenuImageMargin / ShowSubMenuCheckMargin を持つイメージかな?
0422デフォルトの名無しさん
2006/05/04(木) 12:56:34ttp://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=ecda1c14-332d-4444-a299-eb543f013beb
ToolStripItem.DropDown プロパティからか。めんどくさいな。
0423デフォルトの名無しさん
2006/05/04(木) 16:05:510424デフォルトの名無しさん
2006/05/04(木) 16:17:52知ってる
0425デフォルトの名無しさん
2006/05/04(木) 17:56:56知らない
0426417
2006/05/04(木) 20:07:43サンクス、バグってことね。なんかこんな感じの小さいバグって色々あるような。
それと、これはバグじゃないけど、メニューのチェックマーク(レ点)用のマージン
って広すぎて、チェックがついてない状態だと間が抜けた感じがするのは自分
だけ?
0428デフォルトの名無しさん
2006/05/04(木) 20:23:06Form#Show だと表示するときにフォームにフォーカスがうつってしまい...
具体的には Messenger のポップアップみたいなことがしたいのですが。
0429デフォルトの名無しさん
2006/05/04(木) 20:38:51Enable=falseでShow!
0430デフォルトの名無しさん
2006/05/04(木) 20:39:31APIのShowWindowを使う
0431デフォルトの名無しさん
2006/05/04(木) 20:42:332.0でどうなったか知らんが少なくとも1.1ではない。
VBPower何とかのShowNoActivate参照。具体的にはVisible = trueの
前にShowWindow。俺はよくSetVisibleCoreあたりでやる。
0432428
2006/05/04(木) 20:55:32ありがとうございましたー
0433デフォルトの名無しさん
2006/05/04(木) 22:17:35//中略
do
{
ns.Read(data,0,data.Length)
}while(ns.DataAvailable)
のようにTcpClientを使って、受信するプログラムを作っているのですが
受信するサイズが大きくなると、受信が終わらないうちにDataAvaiableがfalseになって
受信が終わってしまいます。
よい解決策はありませんか?
0434デフォルトの名無しさん
2006/05/04(木) 22:28:42http://tmp6.2ch.net/test/read.cgi/download/1146675993/
このソフトc#で作られてるらしいが、おまえらどうよ?
0435デフォルトの名無しさん
2006/05/04(木) 22:30:330436デフォルトの名無しさん
2006/05/04(木) 22:34:24namespace単位でusingを有効にすることはできないんですか?
0437デフォルトの名無しさん
2006/05/04(木) 22:34:56このスレだと何かしら意見でると思ったんだが
評価できるレベルにも達してないってことかw
0438デフォルトの名無しさん
2006/05/04(木) 22:37:31public static string GetSpace(int Count)
{
string text1 = "";
for (int num1 = 0; num1 < Count; num1++)
{
text1 = text1 + " ";
}
return text1;
}
こんなんありますが・・・
いろいろ丸見えだけど大丈夫なのかね
0439デフォルトの名無しさん
2006/05/04(木) 22:42:38ワロスw初心者丸出しのコードだな、おいw
0440デフォルトの名無しさん
2006/05/04(木) 22:48:03これはびっくり
0441デフォルトの名無しさん
2006/05/04(木) 22:51:15デザイナで弄くる時に大変そうだお
0442デフォルトの名無しさん
2006/05/04(木) 22:58:090443デフォルトの名無しさん
2006/05/04(木) 22:59:03おまいらならどう書く?
0444デフォルトの名無しさん
2006/05/04(木) 23:01:18僕にはわかりません。
0445デフォルトの名無しさん
2006/05/04(木) 23:06:56作成する文字列の長さがあらかじめ分かっているのに
無駄にStringBuilderつかってるところもあったよ
0446デフォルトの名無しさん
2006/05/04(木) 23:10:07いや、capacity指定すれば大してかわらんし。
0447デフォルトの名無しさん
2006/05/04(木) 23:12:460448デフォルトの名無しさん
2006/05/04(木) 23:14:07いや、してないし。
0449デフォルトの名無しさん
2006/05/04(木) 23:15:55屑ども死んでください><
0450デフォルトの名無しさん
2006/05/04(木) 23:18:14enumじゃいけないのかなあ
0451デフォルトの名無しさん
2006/05/04(木) 23:30:08くっせー板www
0452デフォルトの名無しさん
2006/05/04(木) 23:31:100453デフォルトの名無しさん
2006/05/04(木) 23:31:140454デフォルトの名無しさん
2006/05/04(木) 23:32:21タイラント先生!
0455デフォルトの名無しさん
2006/05/04(木) 23:33:510456デフォルトの名無しさん
2006/05/04(木) 23:35:060457デフォルトの名無しさん
2006/05/04(木) 23:43:20おまえおもしろいな
0458デフォルトの名無しさん
2006/05/04(木) 23:44:28C#でやるならソース公開する前提でやらないと
0459デフォルトの名無しさん
2006/05/04(木) 23:45:56ソース出すっていってるよ
0460デフォルトの名無しさん
2006/05/04(木) 23:59:40プログラマの価値を失わせることになる。
C#でつくったものは公開したくない。
0461デフォルトの名無しさん
2006/05/05(金) 00:08:35うまい技術は盗まれるが、糞な技術は盗まれる心配がないという点では、
最良な書き方なのかも。ある意味。
と、技術のない人が言ってみるテスト。
0462デフォルトの名無しさん
2006/05/05(金) 00:11:49自動糞化ソフトとか作ればいいのか?
0463デフォルトの名無しさん
2006/05/05(金) 00:12:50パクらせておいて、著作権侵害で請求する方が金になる場合は別かもしれないぞ。
パクったコードも見えるわけだから。
0464デフォルトの名無しさん
2006/05/05(金) 00:28:44Read の返値で判断した方が良かったと思う
0465デフォルトの名無しさん
2006/05/05(金) 00:32:35ループはRじゃなくてL
0466デフォルトの名無しさん
2006/05/05(金) 00:51:53FuscatorのためにもやっぱStandard買おう。
0467デフォルトの名無しさん
2006/05/05(金) 00:56:040468デフォルトの名無しさん
2006/05/05(金) 01:14:0943[89]じゃないけど書くなら
public static string GetSpace(int Count)
{
return new String(' ', Count);
}
とか。
0469デフォルトの名無しさん
2006/05/05(金) 01:24:530470デフォルトの名無しさん
2006/05/05(金) 01:27:350471デフォルトの名無しさん
2006/05/05(金) 01:29:590472デフォルトの名無しさん
2006/05/05(金) 01:44:00PadLeftとかは使うけど。Formatもあるし、いらんだろ
0473デフォルトの名無しさん
2006/05/05(金) 01:45:31いやそれはそうだけど元コードの中の人が
わざわざ作ってたからそれに倣ってみただけ。
0474デフォルトの名無しさん
2006/05/05(金) 01:50:40こっちだったら……
いくらタコでも本人の熱意があれば
助ける奴もでてきただろう………………か?
0475デフォルトの名無しさん
2006/05/05(金) 01:52:330476デフォルトの名無しさん
2006/05/05(金) 01:57:210477デフォルトの名無しさん
2006/05/05(金) 01:58:01それにしても、.NETの印象が悪くなったのは悲しい・・
0478デフォルトの名無しさん
2006/05/05(金) 02:00:09TabPageにひとつのファイルみたいに。
0479デフォルトの名無しさん
2006/05/05(金) 02:01:14partial
0480デフォルトの名無しさん
2006/05/05(金) 02:15:14手動分割ですよね?
デザイナ対応って可能ですか?
デザイナからのEvent作成とか。
教えて君ですいません。
0481478
2006/05/05(金) 02:33:09やはりObject記述のファイルを最後まで読んで終了ですね。
Object記述とEvent記述で分けたのが間違いでしょうか?
IDEが非対応なだけでしょうか?
0482デフォルトの名無しさん
2006/05/05(金) 02:39:35非対応だね。手動でイベント分けて別クラスで処理させるとかしかないねぇ
0483478
2006/05/05(金) 02:48:32しかしVSって意味無く重いし、using補完もされない...
他のIDEって無いんですかね?
参照設定とか基礎API展開しておいて、自動補完してくれるような。
0484デフォルトの名無しさん
2006/05/05(金) 02:50:10是非ともアレと同等以上のIDEをアレより軽く作ってくれ。
0485433
2006/05/05(金) 09:53:03回答ありがとうございます。
しかし、
int length;
do
{
length=ns.Read(data,0,data.Length)
}while(length==data.Length)
のようにしてみましたが、依然読込みが途中で終わります…。
試しにBorland C++ BuilderのTClientSocketで同等の機能を持ったものを作ったら
ちゃんと受信できてるようなので送信自体はうまくいってるみたいです。
0486デフォルトの名無しさん
2006/05/05(金) 11:54:230487433
2006/05/05(金) 12:00:54表示させたりSleepを入れてみたら確かに全て受信できました。
しかし、そのようなことをしなくても全て受信する方法はないのでしょうか。。。
0488デフォルトの名無しさん
2006/05/05(金) 12:03:11Read は size パラメータで指示したサイズより小さくても処理を返すのが問題のはず。
0489433
2006/05/05(金) 12:05:31http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=2658&forum=7
> POP3に関しては特にRead毎にSleepは入れていませんが、一度Readすると
> NetworkStream.DataAvailableがfalseになってしまう時があるため、
> NetworkStream.DataAvailable==trueの条件でReadするとコマンドによっては
> すべてのデータをReadできないことが発生しました。
こういうことなのかなぁとは思うんですが、具体的にどうすればいいのか…。
0490デフォルトの名無しさん
2006/05/05(金) 12:14:370492デフォルトの名無しさん
2006/05/05(金) 14:07:430493デフォルトの名無しさん
2006/05/05(金) 14:54:250494デフォルトの名無しさん
2006/05/05(金) 14:59:36ソース貼り付け 10000円
出張レクチャー 30000円
コーディング代行 50000円
0495デフォルトの名無しさん
2006/05/05(金) 15:07:140496デフォルトの名無しさん
2006/05/05(金) 16:55:310497デフォルトの名無しさん
2006/05/05(金) 17:08:51【テスター募集】名も無きP2Pソフト開発スレ Part1
tp://tmp6.2ch.net/test/read.cgi/download/1146675993/
面白いなwwwwwあのソース書いたやつと俺らの技量がどっこいどっこいといわれて糞ワロタ
0498デフォルトの名無しさん
2006/05/05(金) 17:15:300499デフォルトの名無しさん
2006/05/05(金) 17:16:380500デフォルトの名無しさん
2006/05/05(金) 17:19:580501デフォルトの名無しさん
2006/05/05(金) 17:22:020502デフォルトの名無しさん
2006/05/05(金) 17:26:070503デフォルトの名無しさん
2006/05/05(金) 17:28:52パンスト破り 500円
パンスト素股 1,000円
ピンクローター 1,000円
生パンティ 1,000円
聖水 1,500円
即尺 3,000円
顔射 3,000円
パイズリ顔射 3,000円
ポラロイド撮影(2枚) 3,000円
オナニー鑑賞 3,000円
バイブレーター 5,000円
ごっくん 5,000円
A・F 10,000円
0504デフォルトの名無しさん
2006/05/05(金) 17:32:45100*1000^5?
0505433
2006/05/05(金) 17:34:12どうもありがとうございました。
0506デフォルトの名無しさん
2006/05/05(金) 17:35:220507デフォルトの名無しさん
2006/05/05(金) 19:43:27解るよ。だけどお前には教えてやらない。
0508デフォルトの名無しさん
2006/05/05(金) 20:13:240509デフォルトの名無しさん
2006/05/05(金) 20:19:28イリーガルな部分を返答するには、テストコード組んでみて動作検証してみないと
答えが出てこない場合もある。
そこまで手間を割いてホイホイ教えるほどお人好しではない。
0510デフォルトの名無しさん
2006/05/05(金) 20:21:04433 は読めてないようだけど。
0511デフォルトの名無しさん
2006/05/05(金) 22:25:420512デフォルトの名無しさん
2006/05/05(金) 22:34:250513デフォルトの名無しさん
2006/05/06(土) 20:26:030514デフォルトの名無しさん
2006/05/06(土) 21:20:46「ある厳密名がついていないDll」(A)があって「それを使用しているライブラリ」(B)を厳密名をつけて管理する。
ということはできるのでしょうか?
dllで提供されているAに対して厳密名をつけたいと思いal.exeなどをみたのですが
dllは受け付けないようでうまくいきません。
sn -R を使って署名しなおそうと思っても失敗するのですが、DLLに対して外部の者が署名するということはできないのでしょうか?
0515デフォルトの名無しさん
2006/05/06(土) 21:41:550516デフォルトの名無しさん
2006/05/06(土) 21:59:51元の署名が無効となるわけではないので、意味はあるのではないかと
保証のないものを後から保証を肩代わりみたいな。
0517デフォルトの名無しさん
2006/05/06(土) 22:16:30後から保障を肩代わりってのは意味がないでそ。
保障されたものを参照しないと参照先は保障できないんだから。
0518デフォルトの名無しさん
2006/05/06(土) 22:17:14orz
0519デフォルトの名無しさん
2006/05/06(土) 22:26:030520デフォルトの名無しさん
2006/05/06(土) 22:58:07それなりに意味があると思うんだけどなぁ。間違ってる?
部署Aで作られたdllを部署Bで使用していて、ある時にAで作られたdllが厳密名で署名されていないことに気づいた。
セキュリティやバージョン管理を考えて、Bは自分のアセンブリに対して厳密名で署名したかった。
Bにしてみれば、Bが作った物は 「今ここにあるAで作られたdll」でしか動かないわけで
Bが「Aで作られたdll」に対してしるしをつけたい。
このdllなら動くぞ、という保証みたいな意味で使えるかなと
0521デフォルトの名無しさん
2006/05/06(土) 23:00:25コンパイル時にMDXを参照に追加しているのですが、
実行時にMDXのアセンブリがロードできればMDXを使い、そうでなければ違ったコードを実行するという感じでやろうと思っています。
プログラム開始時にMDXがロードできるかどうかを知ることはできるのですが、実行する時点で問題があります。
void SomeMethod() {
if (canUseMDX) {
Device device = ...
Texture texture = ...
} else {
・・・
}
}
という感じにしたいのですが、MDXがインストールされていなかった場合(canUseMDX==false)、たとえ実行されなくても
関数内にDeviceなどの宣言があると、関数に入った瞬間例外が発生するらしく、次のようにせざるを得ない状況です。
void _SomeMethod_2(){
Device device = ...
Texture texture = ...
}
void SomeMethod() {
if (canUseMDX) {
_SomeMethod_2();
} else {
・・・
}
}
この書き方だとMDXを使う箇所が増えてきた時にメンテナンスが難しくなってしまいます。
この問題を根本的に解決する方法は(設計云々以外に)ないでしょうか?
0522デフォルトの名無しさん
2006/05/06(土) 23:09:03問題は A.dll が本当に A で作られたアセンブリなのか、B が検証することができないって事だ。
出所不明の A.dll を参照しているのなら B.dll も全体として厳密ではなくなってしまう。
>>521
設計以外でどうやって根本的に解決するんだw
MDX を使うバージョンの DLL と、使わないバージョンの DLL を用意する。
それぞれは同じ抽象クラス(またはインターフェイス)から派生したクラスのみを使う。
メインのアセンブリは抽象クラスのアセンブリを参照する。
実行時に MDX が使える場合は MDX.dll を、使えない場合は GDI.dll を動的にロードしてインスタンスを作成し、
抽象クラスにキャストして扱う。
プラグインでよくある構成だよ。
0523521
2006/05/06(土) 23:32:12レスどうもです。
その場合たぶんそれぞれのdllを用意する必要はなく、メインアセンブリ内で各クラスを定義するだけで大丈夫ですね。
ただ、必ずしもMDXを使った処理と使わない処理が対になっている訳でなく
(独立したif(canUseMDX) {...} と if (!canUseMDX) {...} が散らばっている感じです)、
それぞれの処理に明確な名前を与えるのが難しいような感じなので >>521 の上の書き方がベストだと思います。
・・・と思ったのですが、その書き方をする方法がないのならば仰る方法がベストですかねえ。
#話がそれますが参照のプロパティで「ローカルコピー」をtrueにすればMDXのアセンブリが出力ディレクトリにコピーされるのですが、
#それでも実行時にMDXがロードできませんでした。ローカルコピーって何の意味があるんでしょう?
0524デフォルトの名無しさん
2006/05/06(土) 23:43:27アセンブリ自体のロードならできると思うけどそれ以外はアウトじゃね?
0525デフォルトの名無しさん
2006/05/06(土) 23:44:170526デフォルトの名無しさん
2006/05/07(日) 00:08:17「ある厳密名がついていないDll」(A)をリフレクションして使えば署名できると思うけど。めんどくせーけど。
0527526
2006/05/07(日) 00:11:440528521
2006/05/07(日) 00:11:51アセンブリのロード自体ができていないようです。
具体的にはVector2のみを使用した関数を呼ぶと
FileNotFoundException : 指定したモジュールが見つかりません。(Exception from HRESULT: 0x8007007E)
が発生します。
>>525
出力されたアセンブリ(Microsoft.DirectX.dll)がMicrosoft.VisualCを参照しているようなのでそれも出力してみましたが
やはり同じでした。
結局この場合ローカルコピーは使えないということなんでしょうかね。
0529デフォルトの名無しさん
2006/05/07(日) 00:55:24「今手元にあるAのdll」だけを真実としてアイデンティティを認めて名前を付ける。
Bとしてはセキュリティ保護・バージョン管理の道具として、うまく使えないものかと。
使用しているdllに一つでも厳密名がついてないなら厳密名を利用できないのは当然として、
後付できないのは不便だなぁと。
結局、sn.exe/al.exeではdllへのオーバライドの署名は無理ということか。(逆アセすればできそうだけど)
0530デフォルトの名無しさん
2006/05/07(日) 01:02:25ただ、現実問題としてこれを許すと、明らかに間違った署名の使い方を
されてしまう危険性がある。
署名というか厳密名という仕組み自体の確実性を壊してしまいかねない。
こういう余地を含めることは許容できなかったんだと思うよ。
0531デフォルトの名無しさん
2006/05/07(日) 02:05:220532デフォルトの名無しさん
2006/05/07(日) 02:22:160533デフォルトの名無しさん
2006/05/07(日) 02:24:380534デフォルトの名無しさん
2006/05/07(日) 03:06:320535デフォルトの名無しさん
2006/05/07(日) 08:13:210536デフォルトの名無しさん
2006/05/07(日) 17:34:40OpenReadAsyncだと呼ばれないんですけどぉ!?
0537デフォルトの名無しさん
2006/05/07(日) 17:37:520538ほい
2006/05/07(日) 18:47:26private void Form1_Load(object sender, EventArgs e)
{
_wc = new WebClient();
_wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(_wc_DownloadProgressChanged);
_wc.OpenReadCompleted += new OpenReadCompletedEventHandler(_wc_OpenReadCompleted);
_wc.DownloadDataCompleted += new DownloadDataCompletedEventHandler(_wc_DownloadDataCompleted);
}
private void button1_Click(object sender, EventArgs e)
{
_wc.OpenReadAsync(new Uri(txtUrl.Text));
//_wc.DownloadDataAsync(new Uri(txtUrl.Text));
}
void _wc_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
label1.Text = e.BytesReceived.ToString();
label2.Text = e.TotalBytesToReceive.ToString();
progressBar1.Value = e.ProgressPercentage;
}
void _wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
MessageBox.Show("Complete");
}
void _wc_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
{
MessageBox.Show("Complete");
}
0539デフォルトの名無しさん
2006/05/07(日) 21:07:130540デフォルトの名無しさん
2006/05/07(日) 21:12:46MSDN フォーラムのフィードバックに投げた方が良いかも。
0541デフォルトの名無しさん
2006/05/08(月) 00:25:12Webサービス呼び出しのコールバックを受け付けるような使い道で使いたいのですが。
「IISが稼動していない環境でも、簡単にWebサービス を公開できるようになる」と聞いたんですけど
具体的実現方法がよくわかりません。(どこまでやってくれるものを期待してよいのかどうかが知りたい。)
とりあえず、Webサービス作成プロジェクトで作った↓のようなものにhttp://localhost/Serviceでアクセスできるようにしたいのですが。
public class Service : System.Web.Services.WebService{
[WebMethod]
public string HelloWorld() {return "Hello World";}
}
0542デフォルトの名無しさん
2006/05/08(月) 18:32:21フォームごと、ダイアログごとにソースを分けてイベント処理やコードを記述をしたい
何でもかんでもform1に記述しなくちゃならないのは気持ち悪いんだよね
やらないでいい方法もあるけど、面倒だし
てな人はC++お勧め
始めVBやってたけどいろいろ不満がでてC#をやり
c#はほんと記述が簡単で細かい処理もできるしよかったけど
C++やるとさらに細かく処理できて楽しい
やっぱ最終的にはC++になるんだなー
0543デフォルトの名無しさん
2006/05/08(月) 18:35:280544デフォルトの名無しさん
2006/05/08(月) 18:38:41C++だともっと面倒だが
0545デフォルトの名無しさん
2006/05/08(月) 18:39:54C#の手軽さに毒された俺はもうC++に戻れない・・・気がする。
すくなくとも趣味の範囲ではC++やる気しないなあ
速度が重要になってくるとそうでもないのかも知れないけど
0546デフォルトの名無しさん
2006/05/08(月) 18:46:440547542
2006/05/08(月) 18:53:12そうなの?
>>545
そりゃ便利だけどさ、配布したいとかなるとさ
.ランタイムいれてくださいーっていうのがな・・・
やっぱネイティブでやりたいわけです
自分だけで楽しむならまあ、C#最強ですな
C++はまだ、始めたばかりでよくわかってないんだけどw
概要についていろいろ見てみると、自分がやりたかったことが
C++だと手軽にできる。APIやネイティブやらフックやら
もちろん、C#でもできるけど、きっちり学びたいんですよねー
0548542
2006/05/08(月) 19:01:26たとえばさ、OKダイアログ作るのでもさ、フォーム内に記述しちゃうでしょ?
扱いが簡単だから、
C++だったら、別のソースでイベント受けてresult==OKだった場合はうんぬんとか
記述できるし、まあ、C++でイベント作るとなると、あっちこっちに記述しないといけないのはちょっと面倒だけど
あとで、自分のソース見るときにわかりやすいんだよね。
0549デフォルトの名無しさん
2006/05/08(月) 19:38:19よそのDLL(勝手にいじれない)がTrace.WriteLineしているらしく、
余計な文字列がログに混ざってしまいます。
これを抑止できませんか?
0550デフォルトの名無しさん
2006/05/08(月) 20:22:340551デフォルトの名無しさん
2006/05/08(月) 20:24:18>.ランタイムいれてくださいーっていうのがな・・・
大丈夫だよ。次期Windowsではデフォで
.NETがインストールされるから。
0552デフォルトの名無しさん
2006/05/08(月) 20:24:400553デフォルトの名無しさん
2006/05/08(月) 20:27:09C++ね…C#になれるともう使いたくね。
何とか使えるコードがかけるレベルになるだけで書籍を
何冊も抑えないといけないような言語仕様って終わってる。
「絶対やっちゃいけないこと」集めただけであれだけたくさん本
書けるんだもん。
0554542
2006/05/08(月) 21:11:52やっぱC++やめました
てか、C#でネイティブアプリ作れるようにしてくれよ!
って言っても趣旨が違うから無理なんだよなー
VB6ひっぱりだすか
0555デフォルトの名無しさん
2006/05/08(月) 21:14:450556デフォルトの名無しさん
2006/05/08(月) 21:18:230557デフォルトの名無しさん
2006/05/08(月) 21:18:53Bitmapクラスにロードしたフルカラー画像をGIF以外の形式で256色に減色して保存する方法ってありますか?
Bitmap.SaveメソッドはどうやらGIF以外フルカラーでしか保存できなさそうですし・・・
0559デフォルトの名無しさん
2006/05/08(月) 21:22:500560デフォルトの名無しさん
2006/05/08(月) 21:30:40取りあえず標準クラスライブラリ使ってお手軽にってのは存在しない。
自前で減色処理を実装する必要がある。
ひょっとしたらどこかにその辺の実装クラスがあるかも知れないが。
Paint.NET とかはどうなんだろ。
あ、一旦 GIF で保存してそいつを保存し直すって手もあるか。
0561デフォルトの名無しさん
2006/05/08(月) 21:44:14いずれ、スタートレックみたいにコンピュータと会話しながらプログラミングできる時代がくるのはいつですか?
0562デフォルトの名無しさん
2006/05/08(月) 23:06:19完成いつかなぁ?
0563デフォルトの名無しさん
2006/05/08(月) 23:09:450564デフォルトの名無しさん
2006/05/08(月) 23:55:310565デフォルトの名無しさん
2006/05/09(火) 01:04:03> いずれ.NET上で動く.NETが出来てその.NET上で動くOSが出来て、そのOS上で動く.NETができて
その時はそのOSの上で.NETではない新しいフレームワークが最新の開発環境になってるから
> いずれ、スタートレックみたいにコンピュータと会話しながらプログラミングできる時代がくるのはいつですか?
コンピュータと会話しなくてもシステム開発屋を呼べば会話するだけでソフトはできまっせ
金は掛かるけど
0566デフォルトの名無しさん
2006/05/09(火) 08:36:080567デフォルトの名無しさん
2006/05/09(火) 09:46:140568デフォルトの名無しさん
2006/05/09(火) 16:46:27まあ、人間いらない世界になるわなー
0569デフォルトの名無しさん
2006/05/09(火) 16:50:100570デフォルトの名無しさん
2006/05/09(火) 16:56:260571デフォルトの名無しさん
2006/05/09(火) 17:27:050572デフォルトの名無しさん
2006/05/09(火) 17:34:26。・。∧_∧。・。
。゚ ( ゚´Д`) ゚。
o( U U
'ー'ー'
皆、何処行ったの〜。
0573デフォルトの名無しさん
2006/05/09(火) 17:42:550574デフォルトの名無しさん
2006/05/09(火) 17:55:200575デフォルトの名無しさん
2006/05/09(火) 18:34:59FolderBrowserDialogは表示される(フォームとボタン)のですが、肝心のフォルダ選択をする
コントロールが表示されずに困っています。
static void Main() {
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.ShowDialog();
}
VS 2005 expressで新規プロジェクトを作成し、イベントから同じようなコード(ダイアログのインスタンス
がフォームのメンバ変数になっているだけ)を起動すると表示されるのですが、
今実際に開発しているアプリケーションがcscでコンパイルされることを前提にしているので、
VSに移行するというのも難しく。
cscでコンパイルしてFolderBrowserDialogを正常に動かす方法を教えていただけないでしょうか。
0576デフォルトの名無しさん
2006/05/09(火) 18:36:320577デフォルトの名無しさん
2006/05/09(火) 18:46:51これからぐーぐる先生にSTAThreadについて聞いてきます…
0578デフォルトの名無しさん
2006/05/09(火) 22:25:150579デフォルトの名無しさん
2006/05/10(水) 00:12:130580デフォルトの名無しさん
2006/05/10(水) 00:13:230581デフォルトの名無しさん
2006/05/10(水) 00:34:49!!!!
0582デフォルトの名無しさん
2006/05/10(水) 00:41:310584デフォルトの名無しさん
2006/05/10(水) 14:14:16this.txtName.Text
txtName.Text
とどっちで書いても普通に使えますけど、どっちのほうが一般的に良いとされているんでしょうか?
0585デフォルトの名無しさん
2006/05/10(水) 14:17:360586デフォルトの名無しさん
2006/05/10(水) 17:00:56こんな風に、プロセスのパスを取得したいんですが、どうすれば良いのでしょう?
System.Diagnostics.Processクラスには無かったようですが。
0587デフォルトの名無しさん
2006/05/10(水) 17:17:040588デフォルトの名無しさん
2006/05/10(水) 17:23:41System.Diagnostics.ProcessModuleのFileNameで取得できました。thx。
0589デフォルトの名無しさん
2006/05/10(水) 23:54:50俺の場合、コントロールは「txt」「lbl」など明らかにコントロールであるとわかる
名前をつけてるからthisはつけない。
メンバ変数も「_xxxx」みたいにしていてわかるからつけない。
関数を呼ぶときにつける。this.Close();
0590デフォルトの名無しさん
2006/05/10(水) 23:55:40this.IsClosed
0591デフォルトの名無しさん
2006/05/11(木) 00:41:42MSの推奨する名前付け規約と違うやりかたを持ち出されても...
0592589
2006/05/11(木) 00:49:43ただコントロールの名前だけは別。
そしてこの自分の意見と同じ人がかなり多いことが判明したので、そのまま通してます。
なので検索して調べてみてください。
0593589
2006/05/11(木) 01:35:56英単語の省略は避け、ものすごく長い名前を採用しています。
変数に型名の一部をつけたりしないし、必ず変数の内容のわかる名前にしてます。
Flagとかflgとかは使いません。単語の区切りに_を入れたり記号を入れたりしません。
インターフェイスの先頭には必ずIをつけてますし、キャンセル可能なイベントは〜ing形式にしてます。
ちゃんとMSの命名規約に書いてあります。
私は名前付けに漏れがないかFxCopでチェックします。
それでもコントロールは例外にしています。
0594デフォルトの名無しさん
2006/05/11(木) 01:53:520595デフォルトの名無しさん
2006/05/11(木) 02:18:440596デフォルトの名無しさん
2006/05/11(木) 03:14:46おもろい
0597デフォルトの名無しさん
2006/05/11(木) 03:23:44http://www.objectclub.jp/community/codingstandard/
疑問点
>(54) オブジェクトの同値比較
>オブジェクトの比較では Equals() メソッドを使い、= を使うな。
>特に、Stringの比較では = を使用してはならない。
これって、なんで?Javaと違ってC#は、= overrideされてるんじゃなかったけ?
0598デフォルトの名無しさん
2006/05/11(木) 03:37:11ttp://www.ailight.jp/blog/kazuk/archive/2006/02/01/11053.aspx
こんなの書いている人いた。
0599デフォルトの名無しさん
2006/05/11(木) 03:39:08理由も書いてるだろ。
まあ、C# では弱いね>文字列の比較
それ以外については、Object.Equals のドキュメントにガイドラインが示されてる:
> ・参照型のセマンティクスが、その型がなんらかの値を表しているという事実に基づいている場合には、
> この参照型の Equals のオーバーライドを検討してください。
> ・ほとんどの参照型では、Equals をオーバーライドする場合でも、
> 等値演算子はオーバーロードしないでください。
> ただし、複素数型のような、値のセマンティクスを持つ参照型を実装する場合には、
> 等値演算子をオーバーライドする必要があります。
0600デフォルトの名無しさん
2006/05/11(木) 09:37:32継承したとき、this付けないと継承元のが呼ばれちゃうから、
ちゃんとthis付けた方がいい。
0601デフォルトの名無しさん
2006/05/11(木) 11:08:020602デフォルトの名無しさん
2006/05/11(木) 12:20:280603デフォルトの名無しさん
2006/05/11(木) 13:36:51MSDNにはこうある。
>既定では、演算子 == は、2 つの参照が同じオブジェクトを示すかどうかを確認して参照の等価をテストするため、
>この機能を取得するために参照型で演算子 == を実装する必要はありません。
>型が変更できない場合、つまりインスタンスに含まれているデータを変更できない場合、
>その型は、変更不可能なオブジェクトとして、同じ値を持つ限り同一と見なされるので、
>参照の等価の代わりに値の等価を比較するように演算子 == をオーバーロードするのが有効です。
>変更不可能な型以外で演算子 == をオーバーライドすることはお勧めしません。
stringは変更不可能な型だからこの例外規定に当てはまるわけで、
他では使おうとは思わないが stringだけ特別扱いでいいと思う。
難点としてはJavaやるときもつい文字列の比較に==を使ってしまいそうになることぐらいか。
0604デフォルトの名無しさん
2006/05/11(木) 13:51:56関数、プロパティ、protectedやpublicなインスタンス変数のどれも継承先で隠蔽にするには
明示的に new キーワードが必要で、あえて使おうとは思わないな。
>>600
隠蔽にしろoverrideにしろ何もつけなきゃ継承先のが優先されるだろう?
0605デフォルトの名無しさん
2006/05/11(木) 14:27:300606デフォルトの名無しさん
2006/05/11(木) 15:15:470607デフォルトの名無しさん
2006/05/11(木) 15:43:06だからstaticじゃない関数を呼ぶときには
thisを付けなきゃダメってこと。
0608デフォルトの名無しさん
2006/05/11(木) 16:03:390609デフォルトの名無しさん
2006/05/11(木) 16:27:15継承クラスで後者を呼ぶときはthisを付けなきゃならない、って場合を考えろと言うことだろ?
0610デフォルトの名無しさん
2006/05/11(木) 16:37:330611デフォルトの名無しさん
2006/05/11(木) 17:25:35普通やらないことのために書き方を変えたりしない。
0612デフォルトの名無しさん
2006/05/11(木) 17:27:15その場合でもnewをつけないと警告が出るよ
0613デフォルトの名無しさん
2006/05/11(木) 17:36:330614デフォルトの名無しさん
2006/05/11(木) 17:43:59それから、static関数を呼ぶ場合はクラス名.関数名() で呼ばないと警告が出る。
thisは付けても付けなくても生成されるコードに差は無いから規約があるならそれに沿って、
無いなら好きなほうにしろでFAだったと思う。
thisを使う必要があるのは次のケースぐらいだったかと。
private int count;
void func1(int count) { this.count = count }
0615デフォルトの名無しさん
2006/05/11(木) 17:55:40動かないコードですが、
private Arraylist _array = new ArrayList();
public ItemBody item[int i]
{
get
{
return (ItemBody)this._array[i]
}
}
のような感じで、_array の実体は ItemBody クラスのインスタンスが格納されている
状態で、itemプロパティで、_array から必要な項目を ItemBody 型として
取りだしたいのですが…。
アドバイス頂けないでしょうか?
0616デフォルトの名無しさん
2006/05/11(木) 18:02:19> public ItemBody item[int i]
C# では引数付きプロパティはサポートされてないよ。
0617615
2006/05/11(木) 18:03:54ありがとうございます。という事は、プロパティではなくメソッドで実装しないといけない、
という事ですね。プロパティではできない事がわかっただけでありがたいです。
0618デフォルトの名無しさん
2006/05/11(木) 18:04:24private List<ItemBody> _array;
public List<ItemBody> item[int i]
{
get
{
return this._array;
}
}
これでそれっぽくなる
1ならインデクサを実装したItemBody専用のコレクションクラスを作るしか無さそう
0620デフォルトの名無しさん
2006/05/11(木) 18:12:01それ勝手にaddされたりする。
0621618
2006/05/11(木) 18:18:32ReadOnlyItemBodyList : List<ItemBody>
...そこまでするならitem(int index)で代用したほうがいいね
0622デフォルトの名無しさん
2006/05/11(木) 18:20:500623デフォルトの名無しさん
2006/05/12(金) 10:26:43MessageBox.Show(dataGrid[0,0].value.ToString());
と書くとします。
ところがそのセルがnullだった場合エラーになりますよね。
ではこういう時にどうするかってことなんですけど、もちろんこのコードの前でnullだったら実行しないという
if文を書けばいいのはわかりますが、たとえばVBでいうところのnz関数みたいなものがあれば
1行で事足りるのかなと思ったりしました。
手間を惜しむわけではないのですが、短くなればそれに超したことはないなと思いました。
オブジェクト指向という考え方からすれば
dataGrid[0,0].value.ToString()
こういう書き方をしないで、ちゃんとセルのインスタンスを作ってからそれを処理するべきなんでしょうけど、
こういうアクセス方法を用意してくれるならnz関数とかもありなのかなと思ったり・・・。
こういう場合はどういう書き方をするのが一般的なんでしょうか?
0624デフォルトの名無しさん
2006/05/12(金) 10:27:36Nz関数作ってしまえ
0625デフォルトの名無しさん
2006/05/12(金) 12:38:30DataGridColumnStyle.NullText
0627デフォルトの名無しさん
2006/05/12(金) 18:53:07TreeNodeで、下位のノードがあるかどうかを調べるにはどうしたらよいでしょうか?
0628デフォルトの名無しさん
2006/05/12(金) 18:57:410629デフォルトの名無しさん
2006/05/12(金) 19:05:14そういえばそうでしたね!
ありがとうございます!!!
0630デフォルトの名無しさん
2006/05/14(日) 08:46:13自分はほぼ全メソッドに入れてますがこれって一般的なのか?
以前、ロジック上どう考えても例外発生しないところで
例外が発生しアプリが異常終了した苦い経験があり
try-catchをやりまくることに決めたのです。。。
catchしてExceptionのメッセージ、スタックトレースをログ出力したり、
他に取得した方が便利な情報はないか悩んだり、
そのときほど例外処理は難しいと思ったことはなかったよ。
0631デフォルトの名無しさん
2006/05/14(日) 08:50:37例外は正しく処理できなければプログラムが終了する。それはあたりまえ。
正しく処理できない例外まで捕まえて握りつぶしてるのであれば愚の骨頂じゃないかなぁ?
0632デフォルトの名無しさん
2006/05/14(日) 08:55:01通常の動作では出ないはずの例外は
ドキュメントに書いてあってもあえてcatchしてないんだけど
やっぱりcatchしたほうがいい?
0633デフォルトの名無しさん
2006/05/14(日) 09:20:26処理するつもりが無ければしなくていい。
っていうかできないだろ。空の catch でも書くつもりか?
0634デフォルトの名無しさん
2006/05/14(日) 09:48:35そうじゃないものは必要なものだけ。この辺はJavaのそれとはポリシーが違うから郷に入っては郷にだよ。
0635デフォルトの名無しさん
2006/05/14(日) 10:32:26正しく処理できない例外は
デバッグ段階ではひとまずcatchしてログを吐かせて理由を調べ、
↓その上で
実際のリリース版ではログに吐いて処理継続していいのか
上位階層にスローするとか、ほんとに終了させちゃうのか、どうするのかを
判断すべきでしょうね。
0636デフォルトの名無しさん
2006/05/14(日) 11:23:59一番上の層だけで受け取ってメッセージ出力させてる。
0637デフォルトの名無しさん
2006/05/14(日) 11:30:070638デフォルトの名無しさん
2006/05/14(日) 11:33:22と読んじゃっているんだろうか。
0639デフォルトの名無しさん
2006/05/14(日) 11:34:45厨房は厨房のことを房と略す
厨房は厨房のことを房と略す
0640デフォルトの名無しさん
2006/05/14(日) 11:41:550641デフォルトの名無しさん
2006/05/14(日) 14:15:58どうせデバッガで止めることもできるから。
ライブラリでも想定外のものはキャッチしない。
ただこれは場合によるな、キャッチしてラップすることもある。
普通の使う側でも想定外のものはキャッチしない。
どうせキャッチしても何もできないんだから。
ログ出力とかは一番上位で勝手にさせるし。
0642デフォルトの名無しさん
2006/05/14(日) 14:17:26いったいそれぞれのcatchで何をする気だ。
0643デフォルトの名無しさん
2006/05/14(日) 14:18:430644デフォルトの名無しさん
2006/05/14(日) 14:21:44http://d.hatena.ne.jp/NAL-6295/20050909/p1
匣の向こう側 - あまりに.NETな - 例外処理の使い方
http://d.hatena.ne.jp/akiramei/20051023#p1
今週のクラス System.Exception
http://www.ailight.jp/blog/kazuk/articles/6298.aspx
0645デフォルトの名無しさん
2006/05/14(日) 16:07:47子ウインドウの作成はどうすればいいのでしょうか。
SDKでいう、WS_CHILD属性のウインドウです。
0646デフォルトの名無しさん
2006/05/14(日) 16:19:20from2.ShowDialog(this);
0647645
2006/05/14(日) 16:44:10すみません、それはモーダルダイアログでした。
作りたいのは、親ウインドウが動くと子ウインドウも動いて、
子ウインドウをクリックしてもタイトルバーが青くならないタイプのものです。
MDIウインドウも試しましたが、背景色が濃いグレーに固定されてしまって
希望するものになりませんでした。
0648デフォルトの名無しさん
2006/05/14(日) 16:52:47だからダイアログだっつってんだろ!!!
0649デフォルトの名無しさん
2006/05/14(日) 17:38:15しかもfrom2って何
>>645の言いたいこともよくわからん
form.Controls.Add(child) とかじゃないの
0650645
2006/05/14(日) 18:04:27多分そういうことですが、childの部分にフォームを与えたところ
'トップレ ベルのコントロールをコントロールに追加できません。'
という例外が発生しました。
WindowsSDKで、CreateWindowの引数のスタイルがWS_CHILD、親ウインドウが
親ウインドウにしたいウインドウのハンドルを指定したときにできるものです。
0651645
2006/05/14(日) 18:13:25TopLevelプロパティをfalseにしたところ、form.Controls.Add(child)の
やり方で出来ました。ありがとうございます。
0652デフォルトの名無しさん
2006/05/14(日) 18:13:290653デフォルトの名無しさん
2006/05/14(日) 21:57:40ドライブをリストするプログラムを作ったのですが、ちょっと問題があります。
テストに使用したPCにはフロッピードライブがついていないのですが、DriveInfo.GetDrives() の結果にはAドライブが含まれており、
DriveInfo.IsReady は false が返るのですが、呼び出しに5秒ほど待たされるという状態です。
一応 try { string s = drive.VolumeLabel; } catch { continue; } などと試してみたのですが同様でした。
ドライブがあるかないか短時間に調べる方法はないでしょうか?
0654デフォルトの名無しさん
2006/05/14(日) 23:03:41ん〜、うちではそんなこと無いな……。
WMI の Win32_LogicalDisk 使えばどうなる?
0655653
2006/05/14(日) 23:19:54レスどうもです。
WMIについてはよくわからないのですが、Webページを参考に
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk")
For Each objDisk in colDisks
Wscript.Echo objDisk.Caption
Next
のようなコードを実行したところ
A:
C:
D:
・・・
のように表示されました。最初のA:が表示されるまでにはやはり5秒ほどかかったようです。
0656デフォルトの名無しさん
2006/05/15(月) 00:39:43今急に思いつきで、全部のメソッドで
catch(Exception ex){
Trace.WriteLine(メソッド名);
Trace.WriteLine(ローカル変数や仮引数などの名前と値);
throw;
}
とか書いておいたらいざというときデバッグしやすいかもとか思ったんですが
いかがでしょうよ?
0657デフォルトの名無しさん
2006/05/15(月) 00:46:22(^ω^;)
0658デフォルトの名無しさん
2006/05/15(月) 00:51:05実際そんなことやっとれんでしょうよ。
やっぱしAOP的にやれんときついでしょ。
0659デフォルトの名無しさん
2006/05/15(月) 05:25:480660デフォルトの名無しさん
2006/05/15(月) 07:47:21デバッガ使えよ。
0661デフォルトの名無しさん
2006/05/15(月) 08:35:23もっと大きい単位でDebugかTrace入れとけば間に合うだろう。
catch (Exception ex) {
System.Diagnostics.Debug.WriteLine(ex.ToString());
}
0662デフォルトの名無しさん
2006/05/15(月) 08:42:51その中の「ログ吐きメソッド」を呼ぶようにした方が楽。
関数名なんかはそのメソッド内でスタックトレースから
取得するようにしたらよい。
0663デフォルトの名無しさん
2006/05/15(月) 13:25:560664デフォルトの名無しさん
2006/05/15(月) 13:31:48コードを自動生成できて便利なんだけど、これって必ずしもControlに
依存しないよね。だけど、Control継承クラスじゃないとデザイナ画面が
出せません。それ以外のクラスでもデザイナが使えるようにすることって
できないんでしょうか?
0665デフォルトの名無しさん
2006/05/15(月) 13:36:23それとも OpenFileDialog みたいなコンポーネントを作りたいってこと?
0666デフォルトの名無しさん
2006/05/15(月) 13:43:56DataAdapterやDataSetなんかをデザイナで簡単に作成できるんですが、
それは必ずしもUIと一体化させるとは限らないような気がして。
0667デフォルトの名無しさん
2006/05/15(月) 13:47:35UIを持たずにデータベースにアクセスするようなクラスでデザイナ
を使えないかということです。
0668デフォルトの名無しさん
2006/05/15(月) 13:53:180669デフォルトの名無しさん
2006/05/15(月) 13:59:44ありがとうございます。
0670デフォルトの名無しさん
2006/05/15(月) 15:23:35機能多すぎて使いづらい・・・(´・ω・`)
0671デフォルトの名無しさん
2006/05/15(月) 16:30:29何かいい方法ないですか?
0672デフォルトの名無しさん
2006/05/15(月) 16:54:590673デフォルトの名無しさん
2006/05/15(月) 17:22:49起動時のウィンドウって形で取得したいので、パラメータ渡しはしたくないんですよね。
Formの状態を設定するだけなんでFormにキャストしてあげればいいし。
Form myForm = (Form)Application.OpenForms[0];
というわけで、これでいけるかどうか実験中です。
0674デフォルトの名無しさん
2006/05/15(月) 21:47:27「起動時に開かれる親form」って何?
そもそもそういう特別なWindowってあったっけ?
アプリによっては[起動→スプラッシュウィンドウ→初期化処理→メインウィンドウ]って流れになるから必ずしも最初にCreateWindowされるのが全ての親になるって保証はないわけだが。
どれが親になるのかは開発者しか分からないから、>>672の回答が正解だと思うんだけどね
もしかして単に「最初に作られるトップレベルウィンドウのインスタンスを取得したい」って話?
0675デフォルトの名無しさん
2006/05/16(火) 13:47:33RealProxyを使えよ。
0676デフォルトの名無しさん
2006/05/17(水) 00:38:510677デフォルトの名無しさん
2006/05/17(水) 00:41:34はっきり言って現実的じゃない。ような気がする。
0678デフォルトの名無しさん
2006/05/17(水) 11:36:19POP3のやりとりで
USER−>PASS−>STAT
で動かなくなる。
アンチ・ウィルスを止めるとうまく動く。
どないせえっちゅうんや。
0679デフォルトの名無しさん
2006/05/17(水) 12:49:350680デフォルトの名無しさん
2006/05/17(水) 12:50:080681デフォルトの名無しさん
2006/05/17(水) 13:01:19俺のはコマンド間違えるとアンチウィルスソフトが強制終了するがな
再起動するまで直らんがな
0682デフォルトの名無しさん
2006/05/17(水) 14:09:49using Microsoft.Office.Interop.Word;←こんな感じで参照しているのに、
private Microsoft.Office.Interop.Word.Application WdAppli;←ここまで丁寧にかけば大丈夫だた。
replaceAll = Word.WdReplace.wdReplaceAll; ←これはエラーでる。
これはなぜでしょうか。
word2000を使用していた頃はこんなことにはなりませんでした。
word2000をアンインストールして、word2003をインストールし使用するようになったら、急に自分で作ったソフトがエラーを出すようになってしまいました。
なお、既に、
wordobjectlibrary11.0は参照追加済みです。
宜しくお願いします。
0683デフォルトの名無しさん
2006/05/17(水) 14:15:520684デフォルトの名無しさん
2006/05/18(木) 09:38:07下記のようにして、win2kサーバのWeb共有を施したフォルダをアップロード先に指定しました。
NetworkCredential nc = new NetworkCredential();
nc.UserName = "username";
nc.Password = "pass";
webClient.Credentials = nc;
System.Net.webClient.UploadFile(url,localpath);
url="http://192.168.0.1/DLSample/"
localpath(コモンダイアログより取得)
これを実行すると以下の例外が表示されアップロードが出来ませんでした。
パスワードの間違い等はありません。
System.Net.WebException: ログオン失敗: ユーザー名を認識できないか、またはパスワードが間違っています。
---> System.IO.IOException: ログオン失敗: ユーザー名を認識できないか、またはパスワードが間違っています。
以上です。
申し訳ありませんが解決方法のヒントをいただけないでしょうか。
0685デフォルトの名無しさん
2006/05/18(木) 09:56:290686デフォルトの名無しさん
2006/05/18(木) 10:13:47回答ありがとうございます。
[NTドメイン]と言うものを考慮する必要があることを知りませんでした。
そのあたりについてもういちど調べてみます。
ちなみにサーバ上のフォルダにファイルをアップロードするという機能自体は
WebClient.UploadFileを使用することで実現できるのでしょうか。
0687デフォルトの名無しさん
2006/05/18(木) 12:06:13JAVA
0688デフォルトの名無しさん
2006/05/18(木) 22:26:33using Word = Microsoft.Office.Interop.Word;
0689デフォルトの名無しさん
2006/05/19(金) 00:55:07{
MessageBox.Show( e.TabPageIndex + "\n" + tabControl1.SelectedIndex );
}
で、e.TabPageIndex と tabControl1.SelectedIndex が同じ値だけど、
これっておかしくない?
tabControl1.SelectedIndex は Selected の後で変わるべきちゃうか?
だって SelectedIndex だもん
0690デフォルトの名無しさん
2006/05/19(金) 01:40:07どんだけパクれば気が済むんだ
0691デフォルトの名無しさん
2006/05/19(金) 05:12:47C#も、JavaとDelphiパクりだし気にスンナヽ(´Д`)ノ
0692デフォルトの名無しさん
2006/05/19(金) 06:22:060693デフォルトの名無しさん
2006/05/19(金) 06:24:19設計者、設計者
0694デフォルトの名無しさん
2006/05/19(金) 06:24:590695デフォルトの名無しさん
2006/05/19(金) 09:08:33正解
0696デフォルトの名無しさん
2006/05/19(金) 11:07:27string uri = @"URL〜/cgi-bin/set?data=["\]";
WebClient wc = new WebClient();
Stream st = wc.OpenRead(uri);
てな感じで/cgi-bin/set?data=["\]を送りたいんですが、
wc.OpenRead(uri);を実行すると、勝手に["\]がエスケープされて
%22,%5Cになってしまいます。
訳合ってエスケープしたくないんですが、
エスケープせずに送る場合はどうすればいいんですか?
0697デフォルトの名無しさん
2006/05/19(金) 11:20:360698デフォルトの名無しさん
2006/05/19(金) 13:44:13そうなんですが・・・
でも、IEのアドレスバーに/cgi-bin/set?data= "\
って入力して、Enter押すと半角スペースは%20に
エスケープする癖に、"\については無変換で送ってるんですよ。
実際、送ったパケットをキャプチャしてダンプを見ると、22 5cで送ってるし・・
0699デフォルトの名無しさん
2006/05/19(金) 14:24:53といっても>>697の言うとおりだし・・・
>半角スペースは%20に エスケープする癖に
半角スペースはエスケープしないとhttpサーバでエラーになるから、
シフトJISをそのまま送る凶悪なIEでもさすがにエスケープせざるを得ない。
0700デフォルトの名無しさん
2006/05/19(金) 14:39:03じゃあやっぱりIEがRFC無視したクソ野郎ってことですね(´Д`)
ああ〜IEを踏襲した仕様云々〜なんて言わなきゃよかったよ・・・
WebClientっぽいのを一から作って間に合うかどうか(;´Д`)
色々ありがとう。
吊ってきます・・・
0701デフォルトの名無しさん
2006/05/20(土) 14:51:020702デフォルトの名無しさん
2006/05/20(土) 16:21:44import "oleidl.idl";
[uuid(82636634-EA4C-4577-8CEF-E5D917E709AE)]
library Test{
[uuid(4635C6B4-7916-4a6e-8266-1B92C9B3DBD9)]
interface ITest :IUnknown{
HRESULT MethodA(GUID guid);
}}
.Net Framework には Guid 固有のマーシャリング処理が含まれているので
MethodAの引数の型は System.Guid になるか、と期待したのですが、
相互運用アセンブリ内で定義されたGUID構造体になってしまいます。
MethodAの引数の型が System.Guid になるようにするには
どうすればよいのでしょうか?
0703デフォルトの名無しさん
2006/05/20(土) 18:53:37乗せているコントロールの幅と高さがPanelを超える場合でも、
スクロールバーが縦と横の両方表示されるPanelと
縦しか出ないPanelがある。
PanelもPanel上のコントロールも、DockはNone以外。
Dockが共通でも挙動は異なる。
必要時にスクロールバーが表示されるにはどうしたらいいだろうか。
0704デフォルトの名無しさん
2006/05/20(土) 19:02:54もっと条件詰めれ
つか AutoScroll と Dock は相性悪いと思うが
0705デフォルトの名無しさん
2006/05/20(土) 19:09:53糞杉
0706デフォルトの名無しさん
2006/05/20(土) 19:21:44>もっと条件詰めれ
痛いとこ突かれた。ほか書くことないもんなあ。
環境はC#2005 Express。ぐらい?
Panelは別のPanelに乗っている。
挙動の異なるPanel同士は隣接し、片方がDock.FillでSplitterで分割。
あと訂正。DockがNoneのものもある。
>>705
そうなのか?
AutoScrollPositionが負の値で取得されるのはどうかと思った。
0707デフォルトの名無しさん
2006/05/20(土) 20:32:44>Panelは別のPanelに乗っている。
親のPanelをDockやめてAnchorにしたら上手くいったことがあったようななかったような
0708デフォルトの名無しさん
2006/05/20(土) 21:54:04デイトタイム構造体への変数入力について教えて下さい。
分や秒だけ、入力し、他の数字(日付や年)は、すでに入っている値をそのままにするにはどうしたらいいのでしょうか?
例えば以下のように数字を入れた後、
X = new DateTime(2006,5,20,21,5,15);
2006年とか5月はそのまま変更することなく、 分と秒だけ変えたいのです。
教えて下さい<(_ _)>
0709デフォルトの名無しさん
2006/05/20(土) 21:56:340710デフォルトの名無しさん
2006/05/20(土) 22:39:040711デフォルトの名無しさん
2006/05/20(土) 22:57:10レスありがとうございます。
作り直すというのは、どういうことなのでしょうか?
0712デフォルトの名無しさん
2006/05/20(土) 23:10:38元の値から差を計算して AddMinutes でもいいけどな。
0713デフォルトの名無しさん
2006/05/20(土) 23:57:55あああ〜〜
なるほどそうやればいいだけなのですね。
ありがとうございました。
0714デフォルトの名無しさん
2006/05/21(日) 02:09:42データエディタで作成したデータ(クラスオブジェクト)をシリアライズ化してファイルに出力し、
本アプリで読み込んで逆シリアライズをかけたのですが、
アセンブリ 'DataEditor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' が見つかりません。
と言われました。
本アプリ :SOX.exe
データエディタ :DataEditor.exe
なので、エディタの実行ファイル名をSOX.exeにすると本アプリでも読み込めました。
シリアライズ化したクラスオブジェクトを逆シリアライズすることが出来るのは、
同じ名前の実行ファイルだけなのでしょうか?
別の実行ファイルでも逆シリアライズできる方法を教えてください。
↓ここを参考にしました。
ttp://dobon.net/vb/dotnet/file/binaryformatter.html
0715デフォルトの名無しさん
2006/05/21(日) 03:05:400716デフォルトの名無しさん
2006/05/21(日) 03:08:54シリアライズしたい型をdllの中で定義して、
SOX.exeとDataEditor.exeの両方から参照してみては?
0717デフォルトの名無しさん
2006/05/21(日) 04:03:05XMLSerializer使うってのはどうよ。
1.1だと日本語環境で致命的なバグがあったけど2.0なら使えるんじゃないかな
0718703
2006/05/21(日) 09:47:47Anchorで代用できるか試したがうまい具合にPanelを広げられなかった。
自己解決したので報告しとく。
StatusBarのzオーダーが原因だった。
他のコントロールよりも後ろに配置してやらないと今回のような不具合が見られるようだ。
これはToolBarにも同様のことがいえる。
皆さん回答ありがとう。
0719デフォルトの名無しさん
2006/05/21(日) 15:53:38げ、これってどんなの?
0720デフォルトの名無しさん
2006/05/21(日) 15:55:400721デフォルトの名無しさん
2006/05/21(日) 16:03:34http://support.microsoft.com/default.aspx?scid=kb;ja;899153
0722デフォルトの名無しさん
2006/05/21(日) 17:22:310723デフォルトの名無しさん
2006/05/21(日) 19:10:080724デフォルトの名無しさん
2006/05/21(日) 19:24:37設定オブジェクト<=>Xmlでの永続化が便利じゃない?
List<string>とかもそのままいけるし
ある程度階層化とかも容易だし List<XmlSerialisableな設定オブジェクト>みたいな
0725714
2006/05/21(日) 20:03:07大変参考になりました。
0726デフォルトの名無しさん
2006/05/22(月) 15:35:24同じような経験の方いませんか?
(デザイナで開けず、単なるクラスとしてしか触れないので、ボタンの配置等ができない)
HogeForm : Form
と、フォームを継承しているのに、右クリックにて表示される
「デザイナの表示」メニューが消えてしまうのです。
アイコンも、フォームのアイコンでなく、クラスファイルのアイコンです。
0727デフォルトの名無しさん
2006/05/22(月) 15:43:42/// コード エディタで変更しないでください。
0728デフォルトの名無しさん
2006/05/23(火) 02:16:17キーボードの入力イベントってソフト的に発生するにはどうすれば良いですか?
0729デフォルトの名無しさん
2006/05/23(火) 02:17:480730デフォルトの名無しさん
2006/05/23(火) 02:55:00なんかそれらはキー入力を処理するためのもののようです。
0731デフォルトの名無しさん
2006/05/23(火) 03:14:460732デフォルトの名無しさん
2006/05/23(火) 03:40:20検索の結果、SendKeys.Send()でいけそうな感じです。
でもマイクロソフトのサイトには、「重要」危ないから使うな、って書いてあるけど。
0733デフォルトの名無しさん
2006/05/23(火) 15:28:52今更のレスだが、ilasm と ildasm 使えと言うことになるんじゃないかな
0734デフォルトの名無しさん
2006/05/24(水) 09:59:39掛かるようになってしまったのですが、同じ現象に遭遇した人
いませんか?
ブレークしない分にはデバッグ実行も普通に動作しています。
よろしくお願いします。
0735デフォルトの名無しさん
2006/05/24(水) 10:04:48//それで遅くなるかは知らん
0736デフォルトの名無しさん
2006/05/24(水) 10:06:47ありがとうございます。
エディット&コンティニューとは何でしょうか?
試してみたいと思うのですが。
0737デフォルトの名無しさん
2006/05/24(水) 10:08:17あ、オプションのデバッグのところにありました。
確かに有効になってます。
これってデフォルトは無効なんでしょうか?
0738デフォルトの名無しさん
2006/05/24(水) 10:15:24無効にしてみましたが、結果は同じですね。
またされている間の5秒間はCPU使用率も100%になってます。
書き忘れてましたが、VS2003 + ASP.NETです。
0739デフォルトの名無しさん
2006/05/24(水) 10:54:37その後、いろいろ試していたらどうも
ソリューション依存っぽかったので
8MB程度に肥大化していた.suoファイルを
削除して作り直したところ元に戻りました。
(再生成されたファイルは8KB)
エディット コンティニュは有効でも特に
遅くなるという感じはありませんでした。
お騒がせしました。
0740デフォルトの名無しさん
2006/05/24(水) 11:29:52あと、ブレークポイントの数が増えると
極端に重くなる事がある。
0741デフォルトの名無しさん
2006/05/24(水) 11:38:26使ったことはないんですが、一応オプションに項目はありました。
0742デフォルトの名無しさん
2006/05/24(水) 11:40:53JavaScriptの実行のON/OFF、などをやりたいのですがどのプロパティorメソッドを用いればよいのでしょうか??
0743デフォルトの名無しさん
2006/05/24(水) 16:57:18名前 'Convert' は現在のコンテキスト内に存在しません。
て、出るけど、完全修飾なら使える。。。
何か方法ないかしら?
0744デフォルトの名無しさん
2006/05/24(水) 17:00:56>>394-
0745デフォルトの名無しさん
2006/05/24(水) 18:53:31COMの知識がないと厳しい。
具体的な方法は、
http://d.hatena.ne.jp/santamarta/20050220
が参考になる。
0746デフォルトの名無しさん
2006/05/24(水) 18:58:24どうもありがとうございます。
その方法でやってみましたが、
idlを書き換えた際のMSILの更新が大変だったので
結局、 .NET Reflector でDLLをC#のコードに変換して使用する事にしました。
0747デフォルトの名無しさん
2006/05/24(水) 20:27:45にはどうしたら良いのでしょうか?
例えばエクスプローラのように
"c:\aaa\bbb\cccc"を "c:\aaa\bb..."
としたいのですが
自分では見つけられなかったので
今のところPathCompactPathをP/Invokeしてます
0748デフォルトの名無しさん
2006/05/24(水) 21:00:100749747
2006/05/24(水) 22:39:24StringFormat fmt = new StringFormat(StringFormatFlags.NoWrap);
fmt.Trimming = StringTrimming.EllipsisWord;
e.Graphics.DrawString(,,,,,,fmt);
こんな感じで。
因みにEllipsisPathを指定したら中間だけ省略されて面白いですね
>>748さんありがとう
0750デフォルトの名無しさん
2006/05/24(水) 23:26:380751デフォルトの名無しさん
2006/05/24(水) 23:36:300752デフォルトの名無しさん
2006/05/24(水) 23:37:47やればいいんでしょうか?
0753デフォルトの名無しさん
2006/05/24(水) 23:44:38それがいやならXmlDocumentにでも読み込むねん。
それもいやならあきらめるねん。
0754デフォルトの名無しさん
2006/05/25(木) 00:35:19>>XmlDocumentにでも読み込むねん。
これでやります。�dクス >752さん
0755デフォルトの名無しさん
2006/05/25(木) 00:37:490756デフォルトの名無しさん
2006/05/25(木) 00:45:440757デフォルトの名無しさん
2006/05/25(木) 02:04:310758デフォルトの名無しさん
2006/05/25(木) 10:02:28while(expression)|statementみたいなかんじで・・・
どっかにあったのまえみたんだけれどみつからなす。
0759デフォルトの名無しさん
2006/05/25(木) 10:25:160760デフォルトの名無しさん
2006/05/25(木) 10:37:36あとインストールフォルダのlanguagespecificationXXX.docもあった。
さんくすこ
0761デフォルトの名無しさん
2006/05/25(木) 11:48:37\\hogehoge\shareddocs
とアクセスしてフォルダやファイルの一覧の取得は可能ですが、
\\hogehoge
とアクセスして sharddocs などの共有フォルダの一覧を取得したいのです。
c# のリファレンスなどを見ても、ネットワーク共有のクラスなどはないようですし。
どなたかご存じないですか?
0762デフォルトの名無しさん
2006/05/25(木) 12:08:050763デフォルトの名無しさん
2006/05/25(木) 12:22:15どもです。System.Net あたりに用意されているといいんですけれどね〜。
ありがとうございました。
0764デフォルトの名無しさん
2006/05/25(木) 14:41:16VisualStudioから参照の追加でこのDLLを参照させるにはどう指定すればいいのでしょうか
0765デフォルトの名無しさん
2006/05/25(木) 14:46:06・sn.exe
・gacutil.exe
以上
0766デフォルトの名無しさん
2006/05/25(木) 14:54:34登録のほうじゃなく参照のほうを聞きたいです。
参照の追加で%SYSTEM%assemblyフォルダ開いても指定できないし
登録したDLLを直接指定すると絶対パスになってしまう。
別のPCに持って行っても大丈夫なようにファイル名だけ指定したいのですが
0767デフォルトの名無しさん
2006/05/25(木) 15:02:25assembly にあるほうじゃなくて、手元に残っている DLL を指定。
0768デフォルトの名無しさん
2006/05/25(木) 15:08:39GACはあくまで実行時に参照するためにある。
0769デフォルトの名無しさん
2006/05/25(木) 16:36:21VSでのビルド時のDLLパス指定ですが
参照設定してるDLLのプロパティにある「パス」って項目が編集不可で相対パスが指定できません。
ほかのPCにもっていっても問題なくビルドできるようにするにはどうすれば良いのでしょう
0770デフォルトの名無しさん
2006/05/25(木) 17:08:25試してみましたか?
変なコピーの仕方をしなければ問題なくビルドできると思いますが・・・
0771デフォルトの名無しさん
2006/05/25(木) 18:24:18参照DLLがプロジェクトと同じドライブにあるとReference/HintPathが相対パスになるが
ドライブがちがうと絶対パス指定に。
例えばこの参照DLLがオラクル製のだとして
違うドライブ:%PROGRAMFILES%oracle\bin\oracle.dll
を参照させると別のPCにもって行ったときoracle.dllが想定外の場所にインストールされてるとビルドできない。
このあたりをグローバルアッセンブリで解決できればいいなとおもったんですが。
プロジェクトフォルダに参照DLLのコピーいれとくのが普通の解決方でしょうか。
0772デフォルトの名無しさん
2006/05/25(木) 18:27:380773デフォルトの名無しさん
2006/05/25(木) 19:26:26やりたいことはわかりましたが、ドライブが違うのに「相対パス」とか書いても意味ないですよ。
「ファイル名」のことですよね。
参照するアセンブリの場所が変わったときにもファイルをプロジェクトのディレクトリ内にコピーしておくか、
持って行った先でプロジェクトのプロパティで「参照パス」を設定するのが普通なような・・・
それはさておき、元々の質問
>VisualStudioから参照の追加でこのDLLを参照させるにはどう指定すればいいのでしょうか
登録済みのものはファイルを指定しなくても.NETのところの一覧に出てきませんか?
0774デフォルトの名無しさん
2006/05/26(金) 17:43:14このアプリの設定の保存場所を実行ファイルと同じ場所に変えれないでしょうか?
フォームのサイズと位置を保存したいです。
0775デフォルトの名無しさん
2006/05/26(金) 20:43:54>登録済みのものはファイルを指定しなくても.NETのところの一覧に出てきませんか?
でてきません。
gacutilからも登録が確認できない。
エクスポローラからassemblyフォルダみるとちゃんと登録はされてんですが。
0776デフォルトの名無しさん
2006/05/26(金) 20:53:37>エクスポローラから
お前はもう死んでいる!
0777デフォルトの名無しさん
2006/05/26(金) 23:27:36str.IndexOf("<>");で-1が返ってくるんだけど何故?
最後の「゚」を取り除くと、ちゃんと1が返ってくる。
0778デフォルトの名無しさん
2006/05/26(金) 23:31:20("<>");
↑かわいい^0^
0779デフォルトの名無しさん
2006/05/26(金) 23:34:17多分 Unicode に起因する仕様(推測)。
濁点や半濁点は、直前の文字と結合して一つの文字として認識されるようだ。
ちなみに全角の濁点半濁点でも同じ。探すと結構その手の文字は多い。
(日本語環境で表示できるのは全半角の濁点半濁点くらいだが)
0780デフォルトの名無しさん
2006/05/26(金) 23:36:49StringComparison.Ordinal指定したらOKでした。
0781デフォルトの名無しさん
2006/05/27(土) 02:18:54System.Net.WebClient wc = new System.Net.WebClient();
wc.Headers.Add(HttpRequestHeader.Range, "bytes=0-1");
byte[] data = wc.DownloadData("http://www.example.com");
wc.Dispose();
}
これだけのプログラムなんですが、DownloadDataのところでWebExceptionが発生します。
そのWebExceptionを見ると、StatusプロパティがWebExceptionStatus.UnknownErrorです。
InnerExceptionはArgumentExceptionで、Messageが
"このヘッダーは、適切なプロパティを使用して変更しなければなりません。\r\nパラメータ名: name"
StackTraceが
場所 System.Net.WebHeaderCollection.ThrowOnRestrictedHeader(String headerName)
場所 System.Net.WebHeaderCollection.Add(String name, String value)
場所 System.Net.HttpWebRequest.set_Headers(WebHeaderCollection value)
場所 System.Net.WebClient.CopyHeadersTo(WebRequest request)
場所 System.Net.WebClient.GetWebRequest(Uri address)
場所 System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
これを見ると、HttpWebRequestでRangeヘッダーやIf-Modified-Sinceヘッダーなどの「制限付きヘッダー」を設定したときに投げられる例外のようです。
ところがWebClientクラスのHeaderプロパティのドキュメントには
>Headers プロパティは、WebClient が要求で送信するヘッダー情報を含む WebHeaderCollection インスタンスを格納します。
>これは無制限のヘッダーのコレクションであるため、HttpWebRequest などの WebRequest の子孫で制限されるヘッダーを設定できます。
と書いてあります。これはドキュメントが間違っているのでしょうか?
また、WebClientでRangeヘッダーやIf-Modified-Sinceヘッダーを使うにはどうしたらよいでしょうか。
.NET Framework 2.0です。
0782デフォルトの名無しさん
2006/05/27(土) 02:52:200783デフォルトの名無しさん
2006/05/27(土) 10:09:19今、製品版を買うとしたらどれがいいんでしょう?
それと>>4にある無料配布中の開発環境はバージョンが古いのでしょうか?
色々種類が多くてわかりません!
0784デフォルトの名無しさん
2006/05/27(土) 10:13:08個人開発なら>>4にあるので十分性能あるよ。
最近無期限で無料にもなったみたいだし。
0785デフォルトの名無しさん
2006/05/27(土) 10:22:35ありがとうございます!
さっそくDLしてきます
0786デフォルトの名無しさん
2006/05/27(土) 11:21:13ファイルがわけの分からない深い場所に保存されるのと
仕様がはっきりわからないのが気持ち悪くて
結局XMLSerializer使って設定読み書きしてる。
0787デフォルトの名無しさん
2006/05/27(土) 11:32:51でもそれ使わずに俺もシリアル化してる。
0788デフォルトの名無しさん
2006/05/27(土) 11:55:390789デフォルトの名無しさん
2006/05/27(土) 11:59:200790デフォルトの名無しさん
2006/05/27(土) 12:04:55GUI系の使いやすいツールがランタイムのほうに付くようにならないと安心して使えない。
ただ分離ストレージは制限ゾーンで使えるから制限ゾーンを使うアプリではよく使っている。
0791デフォルトの名無しさん
2006/05/27(土) 12:56:58XMLファイルにすると、ほとんど絶対って言っていいほど
設定用のウィンドウを作ってあげなければならない。
INIファイルならユーザーが自分で開いて楽に設定を変更できる。
よりユーザーに親切にしたいのなら、設定用ウィンドウを
作ってあげればいいし。
0792デフォルトの名無しさん
2006/05/27(土) 13:10:510793デフォルトの名無しさん
2006/05/27(土) 13:59:56個人的にはINIでもXMLでも何でもユーザが手でテキスト開いて設定直すって
ありえない気がするので、どっちも設定画面作るのは一緒。俺の場合。
0794デフォルトの名無しさん
2006/05/27(土) 14:41:090795デフォルトの名無しさん
2006/05/27(土) 14:58:56自由ににカスタマイズするのが当たり前だったよな・・・
0796デフォルトの名無しさん
2006/05/27(土) 15:02:350797デフォルトの名無しさん
2006/05/27(土) 18:37:30当面はそうしますけど、場合によってはWebClientのほうが楽ですし
ドキュメントに「設定できる」って書いてある以上、出来なきゃおかしいと思います。
しかも例外が発生する場所がおかしいですし。
0798デフォルトの名無しさん
2006/05/27(土) 19:45:010799デフォルトの名無しさん
2006/05/27(土) 19:56:37それだったらドキュメントを直せって話になりますし。。。
0800デフォルトの名無しさん
2006/05/27(土) 23:20:020801デフォルトの名無しさん
2006/05/28(日) 03:43:240802デフォルトの名無しさん
2006/05/28(日) 03:52:220803801
2006/05/28(日) 03:58:080804デフォルトの名無しさん
2006/05/28(日) 04:11:17ま、/clr:pure でもない限りまともに変換できないだろうけど。
0805801
2006/05/28(日) 04:15:40どうしたもんかと思いまして
0806デフォルトの名無しさん
2006/05/28(日) 04:36:38どこの文法が難しいのかと
C#に比べてまともなライブラリが揃って無いからソースウゼェ 読メネェ の間違いじゃ?
0807デフォルトの名無しさん
2006/05/28(日) 05:34:590808801
2006/05/28(日) 05:39:36まったくわからないのれす
横着せずに勉強すればいいんでしょうが・・・
私の脳味噌では厳しいです
0809デフォルトの名無しさん
2006/05/28(日) 06:36:140810デフォルトの名無しさん
2006/05/28(日) 08:48:380811デフォルトの名無しさん
2006/05/28(日) 09:34:06ナニから始めた云々なんて関係ないんだよ
言語なんてただの書き方のルールでしかないんだ
アルゴリズムさえ分かってれば「言語が違います」なんてのは障害にすらなりゃしないんだよ
あと1つ。
分からないなら分かってる人間が教えてあげることも可能だが、
知らないなんてのはただの勉強不足でしかない。甘えんな
0812デフォルトの名無しさん
2006/05/28(日) 09:37:44俺漏れも
0813デフォルトの名無しさん
2006/05/28(日) 09:40:140814デフォルトの名無しさん
2006/05/28(日) 10:42:4110以上の言語で読み書きできるが、もう全部C#とrubyでいいよと思ったりするよ。
一人じゃない場合、他の人が使えない問題は明らかに障害かと。
動かなくていいから多言語のソースサンプルとか ViewだけC#で提供してくれる。というものが欲しい。
そういうのって、今いいものないのかな。
昔、BabbelFiskenってツール使ってたけど(VB,Delphi対応してた) C++は知らない。
0815801
2006/05/28(日) 15:06:44単純にプログラミング歴長いおっさんってだけでしょ
それにCからはじめれば多言語理解するのも容易だけど
C#はAPIやOS、ハードウェアなど理解しなければならないものを使う機会が少ないからね
そういう基礎的な理解を必要とせずプログラミングできるのが.NETなんだから
ある意味VB6以上に多言語への応用力がないと思うよ
0816デフォルトの名無しさん
2006/05/28(日) 16:53:31findnext
findclose
が GetFiles(); だけで済むんだもんなぁ・・・
0817デフォルトの名無しさん
2006/05/28(日) 16:58:24ちょっと深いところ書こうとするとあっという間に P/Invoke の嵐になりがちなんだが
そうすると C++ はともかく、C の知識はそれなりに要求されるんだよな
0818デフォルトの名無しさん
2006/05/28(日) 17:24:24結局
>806> C#に比べてまともなライブラリが揃って無いからソースウゼェ 読メネェ の間違いじゃ?
ってことだな。
0819デフォルトの名無しさん
2006/05/28(日) 20:58:30これってC#2005Expressで出来ないのかなぁ
0820デフォルトの名無しさん
2006/05/28(日) 21:07:200821デフォルトの名無しさん
2006/05/28(日) 21:12:04getもsetも両方設定するならプロパティをわざわざ設定しなくてもいいんじゃないの?
って思うんだけど、どちらか片方だけ設定するなら意味はあるんだけど
0822デフォルトの名無しさん
2006/05/28(日) 21:15:57設定時にイベント起こしたり
0823デフォルトの名無しさん
2006/05/28(日) 21:23:02すいません、ありました・・・。
でも、これって終了時にその状態を動的に保存したりは出来ないんですね。
0824デフォルトの名無しさん
2006/05/28(日) 21:34:39それら使用されていないメソッドを削除したいんですがいい方法ありますか?
0826デフォルトの名無しさん
2006/05/28(日) 21:45:040827デフォルトの名無しさん
2006/05/28(日) 21:45:36Disposeにtrueが渡されたときに
イベントにnullを代入するようにする。
0828デフォルトの名無しさん
2006/05/28(日) 21:58:14{
}
0829デフォルトの名無しさん
2006/05/28(日) 22:00:07{
if (disposing)
{
this.Click = null;
}
}
むしろthis.Events = nullってできたっけ?
0830デフォルトの名無しさん
2006/05/28(日) 22:04:490831デフォルトの名無しさん
2006/05/28(日) 22:06:560832824
2006/05/28(日) 22:12:10それです
さくさくっといくつかのボタンなどを削除したのはいいんだけど
ボタンのイベントやメソッドがどこにあるのか探すのが大変なのでいい方法はないものかと
ちゃんとソース整理してなかったのがいけないんだけどね
決して参照されないメソッドも実行ファイルに反映されたりするのかな?
それともコメントみたいに実行ファイルの容量には反映されないのかな
不安です。
0833デフォルトの名無しさん
2006/05/28(日) 22:18:000834デフォルトの名無しさん
2006/05/28(日) 22:43:14えー、あの文章でよくわかったな。
”メソッドがゴミとして残る”ってどういうことだ?とは思ったが。
その発想はなかったわ、まじで。
0835デフォルトの名無しさん
2006/05/28(日) 22:53:150837デフォルトの名無しさん
2006/05/28(日) 23:41:43ソースがわけ分からなくなることのほうが困るだろ。
0838デフォルトの名無しさん
2006/05/29(月) 10:45:48で、定義しかなければ削除
ってのを繰り返すしかないんじゃないかな
0839デフォルトの名無しさん
2006/05/29(月) 14:53:120840デフォルトの名無しさん
2006/05/30(火) 18:35:150841デフォルトの名無しさん
2006/05/30(火) 18:37:390842デフォルトの名無しさん
2006/05/30(火) 18:49:180843デフォルトの名無しさん
2006/05/30(火) 18:53:41言われたままプログラム組んでるだけならその程度の金しかもらえない。
組めるプログラムが高度なものならさらにいい報酬がもらえるし、強い立場にも立てる。
新しいシステムでも作れれば一財産作れる。
0844デフォルトの名無しさん
2006/05/30(火) 19:00:33たとえ理解されても仕様書と違うと作り直される。
新しいシステムを作ってもソレは会社の資産。
0845デフォルトの名無しさん
2006/05/30(火) 19:03:500846デフォルトの名無しさん
2006/05/30(火) 19:26:070847デフォルトの名無しさん
2006/05/30(火) 19:28:080848デフォルトの名無しさん
2006/05/30(火) 23:51:140849デフォルトの名無しさん
2006/05/31(水) 00:14:06やっぱ文系に行っとけばよかった
0850デフォルトの名無しさん
2006/05/31(水) 00:46:44( ⌒ ⌒ )
( )
(、 , ,)
|| |‘
ミミ ヽヽヽヽリリノノノ
ミ ,,、,、,、,、,、,、,、、 彡
l i''" i
| 」 \' '/ | >>849
,r-/ <・> < ・> | バカ!
l ノ( 、_, )ヽ | 俺を忘れてるぞ!
ー' ノ、__!!_,.、|
∧ ヽニニソ l _
/ ヽ / \
/ _ `ー--一' \
// ̄ ̄(_) |
|ししl_l ( | |
0851デフォルトの名無しさん
2006/05/31(水) 00:49:55Gatesは?
0852デフォルトの名無しさん
2006/05/31(水) 00:54:23DataGridViewコントロールにDataGridViewImageColumn列を設定しています。
Accessのmdbをデータソースにして、OLE オブジェクト型の列にJPEGデータを
格納して、それをバインドさせてJPEG画像データを表示させてます。
JPEG画像データが正しい場合は特に問題ないのですが、列がNULLの場合は
System.FormatException例外が発生した旨のダイアログが表示されてしまいます。
ダイアログを出さず、NULLの場合は何も表示しないのが1番の希望ですが、
ErrorImageのような表示でもいいので、何かいい方法はありませんか?
0853デフォルトの名無しさん
2006/05/31(水) 01:16:07// 直接画像ファイルのバイトデータ突っ込んだ手製の DataTable では、だけど。
0854デフォルトの名無しさん
2006/05/31(水) 02:54:57COMのIUnknownって、.netのObjectみたいに基底インターフェイスって考えでいいんですか?
中身が定義済みのインターフェイスだって分かってるなら、
そのインターフェイスにキャストしてOK?
0855デフォルトの名無しさん
2006/05/31(水) 03:00:54[InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
と定義してればOKってことですか?
0856デフォルトの名無しさん
2006/05/31(水) 03:03:55試していただきありがとうございます。
DataGridViewを作り直して、データソースの選択を含めてやり直したら出なくなりました。。。
作り直す前のと比べてみて、何か分かりましたら報告いたします。
今のところ違いは見つからず・・・。
原因がまだ不明ながら、これで結構時間をロスしてしまっていたので、助かりました!
0857デフォルトの名無しさん
2006/05/31(水) 03:11:06なんで0からなんだよ
10番目の要素がa[9]っておかしいだろ
しっかりしてよM$
0858デフォルトの名無しさん
2006/05/31(水) 03:13:01COM利用側からいうとIUnknownにキャスト(?)する必要あるか?
0859デフォルトの名無しさん
2006/05/31(水) 03:14:58釣れますか?
0860デフォルトの名無しさん
2006/05/31(水) 08:50:23ちゅーか、いまごろそんなこと言ってる奴がなぜCOMを・・・
0861デフォルトの名無しさん
2006/05/31(水) 10:51:45プログラミングするときは、配列の宣言は1つ少なく指定して
後はC#と同じ要領で使っている(・∀・)
0862デフォルトの名無しさん
2006/05/31(水) 13:12:47ホントにIHogeだっていう保証があるならいいんじゃない?
自分が実装したオブジェクトを相手にしてるときとか。
COMのIUnknownは基底インタフェイスであるのと供に、
オブジェクト実体への参照の役割も兼ねているあたり注意。
同じオブジェクト(IUnkown) に対して別のインタフェイスを要求すると、
別のIUnknown派生インタフェイスが帰ることもある。
アグリゲートされて別オブジェクト(で実装されたインタフェイス)だったりすることもある。
0863デフォルトの名無しさん
2006/06/01(木) 01:13:30"idex"や"初めてほしいな"に釣られそうだ・・・
0864デフォルトの名無しさん
2006/06/01(木) 01:23:57ANTLRを使うつもりだが、Genericsとかじぶんで対応しないと。
同じようなことしてる人いますか?
0865デフォルトの名無しさん
2006/06/01(木) 03:56:39ファイルが存在しない場合もエラーでないんだね
ファイルの存在チェックとかしないでやってると、存在しない場合
見た目ではわからないが内部ではエラーが出てて次の関係ないメソッドがちゃんと実行されなかったりする
エラーぐらい出してよM$
0866デフォルトの名無しさん
2006/06/01(木) 10:49:38C#のネイティブコンパイラ作ってくれ
たのんだぞ
0867デフォルトの名無しさん
2006/06/01(木) 22:04:16ぶっ壊れた。キーボードが効かない。
0868デフォルトの名無しさん
2006/06/01(木) 22:19:44Directory.Exists() で調べられますが、
\\yakisoba のようなパスを調べるにはどうすればよいでしょうか?
0869デフォルトの名無しさん
2006/06/01(木) 22:22:530870868
2006/06/01(木) 22:30:39\\yakisoba というパスが存在するかどうかということです。
Directory.Exists() では調べられなかったので。
0871デフォルトの名無しさん
2006/06/01(木) 22:31:14>>761-763
0873デフォルトの名無しさん
2006/06/02(金) 16:34:36楕円の画像貼り付けても選択すると四角い枠が浮かんで格好が悪い
あとflatにすると押したときの灰色がでるんだがこれ消せないかな?
0874デフォルトの名無しさん
2006/06/02(金) 16:41:30ttp://www.uchukamen.com/Programming1/StarButton/index.htm
0875デフォルトの名無しさん
2006/06/02(金) 16:47:07やりたいのは、エミュレーター上への(から)ファイルのコピーです。
0876デフォルトの名無しさん
2006/06/02(金) 17:14:390877デフォルトの名無しさん
2006/06/02(金) 17:19:46http://www.atmarkit.co.jp/fdotnet/basics/adonet04/adonet04_03.html
にあるようなテーブルを選択するツリーがでてきません。
直接テーブルを指定(.DataSource = dataSet.Tables[0];)
すると正常に表示されます。
どうすれば、DataSetをDataGirdViewにバインドしたときに、
DataTableの選択ができるようになりますか?
0878デフォルトの名無しさん
2006/06/02(金) 17:23:33MSDN の「Windows フォームの DataGridView コントロールと DataGrid コントロールの違いについて」参照。
0879デフォルトの名無しさん
2006/06/02(金) 17:25:030880デフォルトの名無しさん
2006/06/02(金) 17:34:04.Net 標準のエミュです。共有が出来ないみたいなのよ・・・やり方悪いのかもしれんけど
0881デフォルトの名無しさん
2006/06/02(金) 17:35:31少し調べてみたのですが、このような(テーブルの選択をしたい)場合は
BindingSourceを使うのが一般的なのでしょうか?
http://www.microsoft.com/japan/msdn/thisweek/300x10/phase2/cursor/cs.aspx
そうならば、カーソルを操作するUIが必要になるようですが、
最初から用意されていたりはしないのでしょうか?
0882デフォルトの名無しさん
2006/06/02(金) 17:39:59勘違いすみません。
0883デフォルトの名無しさん
2006/06/02(金) 17:43:43.NET標準のエミュって何?
つか何のエミュレータ?
そもそもC#とどのようなご関係が?
まずは正しい製品名もしくはファイルのパスを書いてみ
0884デフォルトの名無しさん
2006/06/02(金) 17:51:19.NET にはエミュなんて無いはずだが、それは VS が持ってるスマートデバイスのエミュレータか?
ttp://www.microsoft.com/japan/msdn/vs/general/grfUsingEmulatorInSmartDeviceProjects.asp
0885デフォルトの名無しさん
2006/06/02(金) 18:26:11すまん。 VS.Netのです。
>>884 それです。
0886デフォルトの名無しさん
2006/06/02(金) 18:28:06そこに、やりかた書いてありますね、ありがとう。
0887デフォルトの名無しさん
2006/06/02(金) 19:26:33用意してある : hogehoge.en.resx
VS で resx をコンパイル ( ビルド ) →dll サイズ 32K
resgen + al でコンパイルするので→ dll サイズ 20K
生成される dll のサイズが違います。で、サイズが小さい方で exe を実行させると resgen + al コンパイルした方の
VS で作成したほうは正常なのですが、サテライトアセンブリは読み込めません。
サテライトアセンブリのコンパイルの方法で、何か違うんでしょうか?
0888デフォルトの名無しさん
2006/06/02(金) 19:52:27あと読み込めないってのは具体的にどうなるんだ?
0889デフォルトの名無しさん
2006/06/02(金) 20:02:40どもです。環境は VS2005 Std、.NETCF1.0 で作ってます。
C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SDKTools\resgen.exe /compile hogehoge.en.resx
al.exe /t:lib /embed:hogehoge.en.resources /out:hogehoge.en.resources.dll
読み込めないと言うのは、英語環境で表示しても英語リソース ( hogehoge.en.resources.dll ) を読み込まず、
日本語が表示されていて文字が化けてしまうことです。
0890デフォルトの名無しさん
2006/06/02(金) 20:14:55・リソース名は、検索対象の既定は対象型の完全限定名(例:HongliangSoft.Samples.Localization)
・al /out:[対象のアセンブリ名].resources.dll /c:[カルチャ名] /embed:[.resourcesファイル名]
でリソースdllを作る。リソース以外(コードとか)を入れる事はできない
メモに書いてあったこの辺
0891デフォルトの名無しさん
2006/06/02(金) 20:24:09どもです。メモ通りやってみましたが結果は同じでした。
また調べてやってみます。
結果はご報告しますね。
0892デフォルトの名無しさん
2006/06/02(金) 21:03:04× Hoge.en.resources.dll
○ Hoge.resources.dll
あとはリソースを読み込む部分がどうなってるかも問題だが……。
0893デフォルトの名無しさん
2006/06/02(金) 23:22:03イベントに=演算子は使えないな。
やるんだったら-=でデリゲート削除。
0894デフォルトの名無しさん
2006/06/03(土) 02:19:41(ある型の抽象メソッドは全てvirtualで仮実装する。
戻り値が必要なものはdefault(T)の値を返す。)
1.System.Reflection.Emitを使用する。
2.CodeDomを使用する。
という方法以外に簡単な方法はないでしょうか?
0895デフォルトの名無しさん
2006/06/03(土) 02:20:48何のためにパースしたいのかわからんけど、
すでに.NET2がうごいている環境なら、
Microsoft.CSharp.CSharpCodeProvider.Parse(TextReader codeStream)
を使えば勝手にやってくれるのでは?
別の言語で一からコンパイラを作りたいとかだったら、
がんがってくれ。応援している。
0896895
2006/06/03(土) 02:30:46パーサじゃないけど、シリアライズフォーマッタを自作したことはあるよ。
速度重視なアプリでネットワークに流すのには、
BinaryFormatterはアセンブリ名のフルネームとかをひたすらstringで入れようとするので、
そのへんを短く出来るのを作ったことがあった。
ジェネリクス関連のリフレクションとか非常に面倒だったね。
VBで作れる、0以外から開始する配列とかはサポートしなかったな…
0897デフォルトの名無しさん
2006/06/03(土) 03:24:170898デフォルトの名無しさん
2006/06/03(土) 03:36:240900デフォルトの名無しさん
2006/06/03(土) 09:12:43VBのOptionalみたいなやつ。
0901デフォルトの名無しさん
2006/06/03(土) 09:22:38http://support.microsoft.com/default.aspx?scid=kb;ja;305814
0902デフォルトの名無しさん
2006/06/03(土) 09:42:40どもです。ご指摘通りサテライトアセンブリにカルチャ名を付けてしまっていたので
つけないようにしました。
それでも駄目でしたね。
それとリソースを読み込む部分はこのようにしてあります。
リソース周りはデザイナで作ったのではないので、手動で作りました。
System.Globalization.CultureInfo culture;
System.Resources.ResourceManager resMan;
culture = System.Globalization.CultureInfo.CurrentCulture;
resMan = new System.Resources.ResourceManager("Hoge.satteliteassemblyname", this.GetType().Assembly);
this.Text = resMan.GetString("Dialog_Text", culture);
で、使用しているリソースは resx ( XML です。 )
読み込む部分が何か違いますか?
0903デフォルトの名無しさん
2006/06/03(土) 09:57:46> "Hoge.satteliteassemblyname", this.GetType().Assembly
これだと、リソースファイルの名前は
Hoge.satteliteassemblyname.[カルチャ名].resources
でなければならないけどそれは大丈夫?
0904デフォルトの名無しさん
2006/06/03(土) 11:30:33もうちょっと正確に書きます。
1. hogehoge.en.resx → VS2005 でビルド → hogehoge.resources.dll に変換される
2. hoge.resx → VS2005 でビルド → 本体 DLL に埋め込み。
3. resMan = new System.Resources.ResourceManager("Project1.hogehoge", this.GetType().Assembly);
これで読み込み実行。
4. 日本語環境時、正しく文字列が表示される。( 埋め込んだリソースを読んでいる )
5. 英語環境時、正しく文字列が表示される。( ./en/hogehoge.resources.dll を読んでいる )
ここまでは問題ありません。しかし、
hogehoge.en.resx を >>889 に書いたように、resgen + al でコンパイルした hogehoge.resources.dll を
読み込ませようとすると、英語環境で正しく文字列が表示されません。
( 文字が化けてしまっているので、./en/hogehoge.resources.dll を読まず埋め込まれている日本語
リソースを読み込んでいるようです。)
で、分かっていることは、hogehoge.resources.dll のサイズです。
1. VS2005 で変換 → 28KB
2. resgen + al で変換 → 16KB
resgen+al で変換した場合と、VS2005 で変換した場合で何か異なるんですかね?
0905デフォルトの名無しさん
2006/06/03(土) 11:57:160906デフォルトの名無しさん
2006/06/03(土) 12:02:46Project1.hogehoge.resources
Project1.hogehoge.en.resources
./en/Project1.hogehoge.resources
./en/Project1.hogehoge.en.resources
の4種類を試してみましたが、resgen+al 変換では読み込まれませんでした。
0907デフォルトの名無しさん
2006/06/03(土) 13:35:46・Windows Application プロジェクトを作成(プロジェクト名 WindowsApplication1)
・Form1 の Localizable を true に、Language プロパティを日本語に
・Text プロパティを フォーム1 に
・一旦ビルド(デバッグビルド)
・プロジェクトのフォルダ(WindowsApplication1.csproj のあるフォルダ)を開く
・.NET 2.0 SDK のコマンドプロンプトを開いてカレントディレクトリをプロジェクトのフォルダに移動する
・コマンドプロンプトで以下のコマンドを実行
resgen Form1.ja.resx WindowsApplication1.Form1.ja.resources
al /out:bin/Debug/ja/WindowsApplication1.resources.dll /c:ja /embed:WindowsApplication1.Form1.ja.resources
・bin/Debug の WindowsApplication1.exe を(日本語環境で)起動するとフォームのタイトルが フォーム1 になる
・bin/Debug/ja/WindowsApplication1.resources.dll を削除してから exe を起動するとタイトルは Form1 のまま
ということなんだが……。
0908894
2006/06/03(土) 13:46:46>ある型が既にあってそのインスタンスを動的に作成するのか、
>どっち?
型はすでにあって、 object GetNullObject(Type baseClassType, Type[] interfaceTypes);
ってなってるのが理想かな
0909デフォルトの名無しさん
2006/06/03(土) 14:17:45わざわざありがとうございます。同じようにして実行してみました。
違いはこちらはデバイスアプリケーション .NETCF1.0 というところです。
907さんのようにしてみると、907さんが掛かれたように再現しますが。
resgen+al をした DLL だけはやっぱりだめです。
違いは DLL のサイズ。
VSで生成した DLL のプロパティをみるとバージョン番号などが入っていますが、
resgen+al にはバージョン番号などは入っていませんでした。
もちろんファイルサイズも違っています。
0910デフォルトの名無しさん
2006/06/03(土) 14:20:09c:\Program files\Visual Studio 8\SmartDevices\SDK\SDKTools\regen.exe
c:\Windows\Microsoft.NET\Framework\v1.1〜\al.exe
c:\Windows\Microsoft.NET\Framework\v2.0〜\al.exe
などを使いました。
0911デフォルトの名無しさん
2006/06/03(土) 14:29:31> 907さんのようにしてみると、907さんが掛かれたように再現しますが。
> resgen+al をした DLL だけはやっぱりだめです。
結局、907 で書いたのは問題なかったの? これも resgen + al した DLL なんだが。
0912デフォルトの名無しさん
2006/06/03(土) 14:50:15どうもです。
で、結局のところ 907 で書いた方法ですが、resgen+al すると駄目でした。
VSビルドの DLL なら OK でしたが。
どうしてこういうことになってしまうのか不明ですが、VS2005 のビルドと
resgen+al の変換の過程が違うようです。
( VS2003 の時は .NETCF 用に cfresgen というものがあったようです。)
バージョン情報の件、al のオプションで確認しました。
0913デフォルトの名無しさん
2006/06/03(土) 16:43:54/template オプションなんかどうだろ……。
0914デフォルトの名無しさん
2006/06/03(土) 17:20:160915デフォルトの名無しさん
2006/06/03(土) 20:43:30あ、あ〜〜。できました〜〜!!!
913 さんネ申!俺のネ申!!
al に、/template:bin\Release\Hoge.dll
と指定したら出来ました!
サテライトアセンブリのサイズも VS が変換するのと同じサイズになりました。
ありがとうございました m(__)m
0916最凶VB厨房
2006/06/03(土) 21:31:32実装が空のvirtualメソッドだけのnullオブジェクトクラスを継承させる手はダメか?
(クラス継承)
nullobj<-abstract<-concrete
か
abstractA(or interface)
nullobj
abstractB
concreteA
concreteB
・・・
理想とはほど遠いかもしれんが・・・。
0917894
2006/06/03(土) 23:57:46指定したinterfaceのvirtualメンバを動的に実装する。
IL書くのが一番楽そうでした。(ソースコードアプローチだと明示的実装とか.NetのVersionとかで大変そう)
ILに手を出すと誰も保守できなそうなのがいやなんですけど。
0918デフォルトの名無しさん
2006/06/04(日) 00:06:410919デフォルトの名無しさん
2006/06/04(日) 00:08:40ない。
0920・∀・)っ-○◎● ◆toBASh....
2006/06/04(日) 00:13:22OnTimerで変数値をチェックするとかやればいいと思うよ
0921デフォルトの名無しさん
2006/06/04(日) 00:21:070922デフォルトの名無しさん
2006/06/04(日) 00:25:23INotifyPropertyChanged.PropertyChanged
0923デフォルトの名無しさん
2006/06/04(日) 00:28:52同じ名前だけど引数の違う関数のことだよぉ
0924デフォルトの名無しさん
2006/06/04(日) 00:40:440925デフォルトの名無しさん
2006/06/04(日) 02:13:19死んだっちゅうのはいいすぎだろ。
0926デフォルトの名無しさん
2006/06/04(日) 02:36:020927デフォルトの名無しさん
2006/06/04(日) 02:47:42俺が検索したら4番目はMSDNだけど
1 www.urbanpotato.net/Default.aspx/document/1757
2 weblogs.asp.net/ahoffman/archive/2004/11/25/270189.aspx
3 www.dotnet247.com/247reference/ System/ComponentModel/System.ComponentModel.aspx
4 msdn2.microsoft.com/en-us/system.componentmodel.aspx
0928デフォルトの名無しさん
2006/06/04(日) 03:24:550929デフォルトの名無しさん
2006/06/04(日) 04:59:56・Lua
・Ruby
・C#
など、ある中で、C#を簡単そうなので選んで見ました。
C#でC#のソースを利用できないかと思い知らべたところ、
とりあえずコンパイルはできました。
http://www.atmarkit.co.jp/fdotnet/dotnettips/100compile/compile.html
しかし、そこからの組み込むためのつながりがよくわかりません。
ホスト言語からスクリプト言語へのオブジェクトの提供、
スクリプト言語からの動作トリガー、などがいまいちわかっていません。
その辺のつっこんだ資料はありませんでしょうか。
0930デフォルトの名無しさん
2006/06/04(日) 05:15:19poderosaってマクロ機能で、アプリケーションからJScript.NETを動かしてて
しかもpoderosa自身のオブジェクトを公開してるけど、どうやってるの?
ソース見てもわからんかった。
poderosa見てみる
0931デフォルトの名無しさん
2006/06/04(日) 09:44:59ありませんかね?
VBAとかだとあるようですが、自分読めませんし、できれば.NETでうごかしたいんで
そこらへんでお勧め教えてください。
本でもいいです。英語でもがんばってみます。
0932デフォルトの名無しさん
2006/06/04(日) 11:35:480933デフォルトの名無しさん
2006/06/04(日) 11:43:06コンパイルしたらアセンブリ読み込んでロード
けど、組み込み目的で CodeDom 使うのって、SandBox 無いと危険なような希ガス
0934デフォルトの名無しさん
2006/06/04(日) 15:45:55デザイナで設定する方法しかしらないので、ちょっと戸惑っています。
動的(?)に画像を参照するようにしないといけないっぽいんですが、
exeがあるディレクトリにimageディレクトリのようなものを作ってそこから読み込むようにしないといけないんでしょうか?
0935デフォルトの名無しさん
2006/06/04(日) 15:50:57どこから画像ファイルを読み込むかなんて自分で考えろと
0936デフォルトの名無しさん
2006/06/04(日) 15:54:59imagelistっていうのがありますが、それに使いたい画像を全部設定すると、最初から画像を読み込んでくれるのかな??
0937デフォルトの名無しさん
2006/06/04(日) 15:57:50imagelistでもいいけど、今度はどこからimagelistに画像をもってくるんだよって話
0938デフォルトの名無しさん
2006/06/04(日) 16:05:08ありがとうございます!うまくできそうです。
0939デフォルトの名無しさん
2006/06/05(月) 14:25:44System.Drawing名前空間を引いてみると
「
System.Drawing名前空間内のクラスをWindowsサービス
またはASP.NETサービスで使用することはサポートされて
いません。使用した場合、サービスのパフォーマンス低下
や実行時の例外発生など、予期しない問題が発生する場合
があります。
」
とありました
WindowsサービスってWindowsに起動時から常駐するような
デーモンのようなタイプのものを言っているの?
それとも通常のWindowsApplicationのことなの?
0940デフォルトの名無しさん
2006/06/05(月) 15:07:37シリアライズしてネット上を移動させることは推奨されないってことでそ?(・∀・)
0941デフォルトの名無しさん
2006/06/05(月) 15:25:410942デフォルトの名無しさん
2006/06/05(月) 15:30:59Windows NT/2000/XP/2003 でサービスというと、普通こういう奴。
http://www.google.co.jp/search?hl=ja&q=Windows%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9&lr=
0943939
2006/06/05(月) 16:01:22具体的にはどういう場面で使っているの?
0944デフォルトの名無しさん
2006/06/05(月) 16:04:350945デフォルトの名無しさん
2006/06/05(月) 21:59:06Sizeとかあるしな。
0946デフォルトの名無しさん
2006/06/06(火) 18:41:11Strip関係、例えばContexMenuStripからHMENUを取得する方法ってないんでしょうか。
0947デフォルトの名無しさん
2006/06/06(火) 19:17:330948デフォルトの名無しさん
2006/06/06(火) 21:38:31public static ArrayList OverlapToSingle(ArrayList list)
{
list.Sort();
ArrayList newList = new ArrayList();
object tmpObj = null;
foreach(object obj in list)
{
if(obj.Equals(tmpObj)==false)
{
newList.Add(obj);
tmpObj = obj;
}
}
return newList;
}
これをジェネリック対応にするにはどうしたらいいの?
書き方がわからねぇ・・・orz
0949デフォルトの名無しさん
2006/06/06(火) 21:44:070950949
2006/06/06(火) 21:45:010951デフォルトの名無しさん
2006/06/06(火) 21:47:210952デフォルトの名無しさん
2006/06/06(火) 21:58:44{
List<T> newList = new List<T>;
foreach( T t in list)
{
if( !newList.Contains( t ) )
newList.Add( t );
}
return newList;
}
0953デフォルトの名無しさん
2006/06/06(火) 22:09:07O(N^2) だお
クローンしてからソートしてリストぶち込んだ方がいくね
0954デフォルトの名無しさん
2006/06/06(火) 22:18:100955948
2006/06/06(火) 22:38:31{
List<T> tmpList = new List<T>(list);
tmpList.Sort();
List<T> newList = new List<T>();
T tmpT = default(T);
foreach (T t in tmpList)
{
if (t.Equals(tmpT) == false)
{
newList.Add(t);
tmpT = t;
}
}
return newList;
}
sortを組み込むとこんな感じになるのか。
ソート済みになってしまうことはとりあえず問題にならないので大丈夫ですね。
ジェネリックを使う気力が沸いてきた。THX!
0956デフォルトの名無しさん
2006/06/06(火) 22:44:00入力の list が List<int> で中身が 0,1,2 だとしたら
出力は 1,2 になる予感
0957デフォルトの名無しさん
2006/06/06(火) 23:20:010958948
2006/06/07(水) 12:55:410959デフォルトの名無しさん
2006/06/08(木) 16:47:43Javaで出力したテキストファイルをC#でよみこませたいのですが・・・・
よろしくおねがいします。
0960デフォルトの名無しさん
2006/06/08(木) 16:50:16せいぜいエンコーディングに気を配る程度だ。
0961デフォルトの名無しさん
2006/06/08(木) 16:55:34私書き方が悪かったかもしれません。
一度にそれらの処理をやりたいのですが、バッチ処理しか無いのでしょうか?
JavaとC#のプログラムが常に起動していて、処理に必要な機能をそれぞれの言語で
分担して行うという複雑なものなんですが。
バッチ処理で対応しきれるのかどうか不安です。
0962デフォルトの名無しさん
2006/06/08(木) 17:17:17.net java間だとまともに使えるのはソケットくらいかな。Web Serviceでもいいが互換性がどうだろう。
あとはJ#(笑)を使う。
0963デフォルトの名無しさん
2006/06/08(木) 17:17:400964デフォルトの名無しさん
2006/06/08(木) 17:26:500965デフォルトの名無しさん
2006/06/08(木) 17:27:270966デフォルトの名無しさん
2006/06/08(木) 18:02:590967デフォルトの名無しさん
2006/06/08(木) 18:06:350968デフォルトの名無しさん
2006/06/08(木) 18:34:00ファイル経由でのテキストの受け渡しなんて簡単なこともわからないのに、
そんなに「複雑なもの」がよく設計できたなぁ・・・・
データの受け渡しのとこも設計したんだろうから、ちゃんとそれに従えば?
0969デフォルトの名無しさん
2006/06/08(木) 21:41:43こんな質問しないだろ。
0970デフォルトの名無しさん
2006/06/09(金) 00:32:56Java で使えるかは知らないが
0971デフォルトの名無しさん
2006/06/09(金) 00:43:270972デフォルトの名無しさん
2006/06/09(金) 00:53:14そのうえテキストボックスなどのコントロールがある というリサイズ可能なフォームでの質問です
したいことは
ユーザがフォームを小さくしたとき、グループボックス上のコントロールが
隠れてしまう大きさにされたらパネルにスクロールバーを表示する
ということなんですが、グループボックスのDockプロパティをfillにすると
パネルのAutoScrollがTrueでもスクロールバーが出てこないのですが
コントロールの配置方法等が間違っているのでしょうか?
お願いします
0973デフォルトの名無しさん
2006/06/09(金) 10:49:13HashTable hash = new HashTable();
hash.Add("Key1", 1);
hash.Add("Key1", 1);
・
・
のように書いていますが、 Perlのように
HashTable hash = {
"Key1" -> 1,
"Key2" -> 2,
};
のように、スマートに書けないでしょうか?
0974デフォルトの名無しさん
2006/06/09(金) 10:55:03とかってかけないんだっけ?
0975デフォルトの名無しさん
2006/06/09(金) 10:58:290976デフォルトの名無しさん
2006/06/09(金) 11:12:090977デフォルトの名無しさん
2006/06/09(金) 11:12:59あー、でつか・・・ どうもでした。
0978デフォルトの名無しさん
2006/06/09(金) 11:22:200979デフォルトの名無しさん
2006/06/09(金) 16:12:07今クラスのシェイプアップをしてるんですけれども、
インスタンスにしたときの占有メモリサイズを計る方法って
ありますか?
0980デフォルトの名無しさん
2006/06/09(金) 16:23:16パフォーマンスカウンタ使えば?
0981デフォルトの名無しさん
2006/06/09(金) 19:19:180982デフォルトの名無しさん
2006/06/09(金) 20:38:09string.Replace
と
Regex.Replace
だったらstring.Replaceの方が速くておすすめですか?
それともstring.Replaceは内部でRegexしてたりしますか?
0983デフォルトの名無しさん
2006/06/10(土) 01:57:470984デフォルトの名無しさん
2006/06/10(土) 02:02:270985デフォルトの名無しさん
2006/06/10(土) 07:33:00どうしてもというのならば。
private class HashtablePrivate : Hashtable {
public HashtablePrivate(object[][] values) {
foreach(object[] value in values)this.Add(value[0], value[1]);
}
}
private static Hashtable values = new HashtablePrivate(new object[][] {
new object[]{ "1", "value1" },
...
});
あまりお勧めはしない。
0986デフォルトの名無しさん
2006/06/10(土) 08:53:26インターフェースは何?
Delegate型がもっていないからわけわかんね。
object AsyncResult.AsyncDelegateからEndInvokeを呼びたいんだけど
固有の型でキャストしたくない。リフレクション使うのがベスト?
0987デフォルトの名無しさん
2006/06/10(土) 09:07:470988デフォルトの名無しさん
2006/06/10(土) 09:22:29>ISynchronizedInvoke
0989デフォルトの名無しさん
2006/06/10(土) 10:36:52BeginInvoke/EndInvoke
0990デフォルトの名無しさん
2006/06/10(土) 10:54:27ちがうデリゲート型、ジェネリックの中で実行したいのにこのせいでやりにくいし。
もうあぼかど。
0991デフォルトの名無しさん
2006/06/10(土) 11:02:020992デフォルトの名無しさん
2006/06/10(土) 13:29:46まあ仕方ないんじゃないの?
DynamicInvokeの非同期版があるに越したことはないが。
むしろ普通にリフレクションで実行するときの
糞仕様をなんとかしてほしい。
0993デフォルトの名無しさん
2006/06/10(土) 13:37:12> 糞仕様をなんとかしてほしい。
どんな仕様をお望みだね
0994デフォルトの名無しさん
2006/06/10(土) 17:07:01勝手に例外をラップしたりとか、
要らんことをしなければそれでいい。
0995デフォルトの名無しさん
2006/06/10(土) 17:13:10デバッグやりづれぇ
んで結局、EndInvokeするにはリフレクションしかないってことで
いいでしょか?
0996デフォルトの名無しさん
2006/06/10(土) 17:36:030997デフォルトの名無しさん
2006/06/10(土) 17:38:590998996
2006/06/10(土) 17:51:320999デフォルトの名無しさん
2006/06/10(土) 18:52:27C++とC#の違いって何ですか?
1000デフォルトの名無しさん
2006/06/10(土) 18:54:5810011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。