1 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 20:39:06 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
2 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 20:44:00 ] ごめんなさい このスレは放置して下さい
3 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 22:16:01 ] 次スレとして使えばいいんでないの
4 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 22:24:45 ] >>3 じゃぁ責任もってテンプレ貼らせてもらうよ
5 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 22:26:04 ] Visual C# Express Edition (無料)ダウンロード www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ .NET Framework SDK (2.0) msdn2.microsoft.com/ja-jp/library/ms310244.aspx MSDN Visual C# Express Edition フォーラム forums.microsoft.com/msdn-ja/ShowForum.aspx?ForumID=187&SiteID=7 Visual Studio ユーザーグループ vsug.jp/ @IT Insider.NET www.atmarkit.co.jp/fdotnet/index.html Insider.NET 会議室 ディレクトリ www.atmarkit.co.jp/fdotnet/index/bbs/index.html 宇宙仮面の C# プログラミング / C# Programming ukamen.hp.infoseek.co.jp/ WisdomSoft C#入門 wisdom.sakura.ne.jp/programming/cs/index.html WisdomSoft Microsoft .NET入門 black.sakura.ne.jp/~third/system/msnet/msnet.html どっとねっとふぁん dotnetfan.org/ 緑のバイク 初めてのC# 〜 覚え書き 〜 homepage3.nifty.com/midori_no_bike/CS/ どぼん!の .NET Tips dobon.net/vb/dotnet/ .NET のつぼ park16.wakwak.com/~mimi/dotnet/top.html
6 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 22:27:11 ] Borland C#Builder2006 www.borland.com/jp/products/csharpbuilder/index.html Turbo C# www.turboexplorer.com/csharp .NET Framework 1.1 製品ドキュメント www.microsoft.com/japan/msdn/library/ja/netstart/html/sdkstart.asp --- MSDNライブラリ 2006年6月版 www.microsoft.com/downloads/details.aspx?FamilyID=373930cb-a3d7-4ea5-b421-dd6818dc7c41&DisplayLang=ja MSDNをローカルで見れる。
7 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 22:27:50 ] 11 名前:デフォルトの名無しさん[sage] 投稿日:2007/01/18(木) 19:19:37 質問するときに 〜したいのですが、上手くいきません。 〜したときにエラーが出ます。 という書き方はイクナイ。 何も書いてないのと同じ☆ 〜したいのですが、〜で〜が失敗します。 〜したときに〜エラーが出ます。 隠さずくわしくかきましょう
8 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 01:48:33 ] System.Net.WebClient を非同期で動かすと、 コールバックは呼び出し元のスレッドで発生するわけなんですが、 これってどうやって実現してるんでしょうか? 相手が、Windows.Forms.Control 限定なら、 (Delegate.Target as Control).Invoke でいけると思いますが、Forms.Control 以外でも 呼び出し元のスレッドでイベントを発生させる方法が あれば教えてください。
9 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 07:41:46 ] > コールバックは呼び出し元のスレッドで発生する まじで?
10 名前:7 mailto:sage [2007/03/01(木) 08:34:17 ] >>9 コールバックされたメソッド内で、Control.InvokeRequired=false なので 呼び出し元のスレッドで動いてると思います。
11 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 17:47:03 ] >>10 msdn2.microsoft.com/ja-jp/library/hkasytyf (VS.80).aspx このあたりに書いてあるはず
12 名前:8 mailto:sage [2007/03/03(土) 01:26:09 ] >>11 ありがとうございました
13 名前:デフォルトの名無しさん [2007/03/03(土) 20:46:15 ] キャプチャーボードからデータを取り込み,Bitmapクラスを用いてBMPデータとしたいのですが, キャプチャボード上メモリのデータををメインメモリにコピーする方法でつまづいています. 具体的にはカレントフレームのバッファ アドレスを返す関数 byte *fdmpciGetBuffer(void) があり(これはキャプチャーボードの仕様), ここからMarshal.Copyを用いてコピーしようとしています・・・が,以下のようなエラーが発生します. -------エラー エラー 1 'System.Runtime.InteropServices.Marshal.Copy(int[], int, System.IntPtr, int)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。 C:\files\vcs\LaserPointer\LaserPointer\Form1.cs 200 13 LaserPointer エラー 2 引数 '1': 'byte*' から 'int[]' に変換できません。 C:\files\vcs\LaserPointer\LaserPointer\Form1.cs 200 26 LaserPointer ------- -------ソース unsafe private void CaptureBMP(){ int BMP_WIDTH=640; int BMP_HEIGHT=480; Bitmap bmp = new Bitmap(BMP_WIDTH, BMP_HEIGHT, PixelFormat.Format8bppIndexed); BitmapData bmp_data = bmp.LockBits(new Rectangle(0, 0, BMP_WIDTH - 1, BMP_HEIGHT - 1), ImageLockMode.ReadWrite, PixelFormat.Format8bppIndexed); Marshal.Copy(fdmpciGetBuffer(), 0, bmp_data.Scan0, BMP_WIDTH * BMP_HEIGHT); bmp.UnlockBits(bmp_data); pictureBox1.Image = bmp; } ------- C++でいうMemCpyみたいな奴があれば解決するのか?とも思うのですが, やり方が分かりません. どなたかご教授下さい.
14 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 20:58:44 ] unmanagedからmanagedにコピーするならMarshal.Copy(IntPtr source, Byte[] destination, Int32 startIndex, Int32 length)だ
15 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 21:17:26 ] >>13 Bitmapデータは行末に詰め物があるからStrideから計算して一行ごとにコピーしないとダメだよ
16 名前:デフォルトの名無しさん [2007/03/03(土) 21:39:27 ] こんばんわ、お世話になります。 socketが相手から切断された場合に検地したいのですが、ReadLineの 返値から判断する事は出来るのでしょうか?。
17 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 21:39:59 ] できません。
18 名前:デフォルトの名無しさん [2007/03/03(土) 21:49:24 ] >>17 やはり・・色々と試しているのですがエラーもでませんよね みなさん、どうやって検出されているのですか?
19 名前:デフォルトの名無しさん mailto:sage [2007/03/03(土) 21:52:54 ] Connected
20 名前:デフォルトの名無しさん [2007/03/03(土) 22:03:57 ] クライアント側で切断してもループしたままでした TcpClient tcp = server.AcceptTcpClient(); while (tcp.Connected) { }
21 名前:13 [2007/03/04(日) 00:33:55 ] >>15 一度バッファにコピーしてから〜という感じでしょうか? >>13 Marshal.Copy(fdmpciGetBuffer(), bmp_data.Scan0, 0,BMP_WIDTH * BMP_HEIGHT); としても ----- エラー 2 引数 '1': 'byte*' から 'int[]' に変換できません。 エラー 3 引数 '2': 'System.IntPtr' から 'int' に変換できません。 エラー 4 引数 '3': 'int' から 'System.IntPtr' に変換できません。 ----- といった感じです.IntPtrってのがそもそも理解できてないので,手のつけようが・・・. ttp://msdn2.microsoft.com/ja-jp/library/system.intptr(VS.80).aspx を読んでも,「何のために」「いつ」使うべきものなのかが分かりません.
22 名前:13 mailto:sage [2007/03/04(日) 00:35:20 ] ----- Public Declare Sub RtlMemtoArrMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, ByVal Source As Any, ByVal Length As Long) ----- Private Sub Timer1_Timer() Dim num As Integer Dim i As Long, j As Long Dim ptr As Long Dim oldBMP1 As Long, DIBS1 As Long Dim oldBMP2 As Long, DIBS2 As Long Dim imgbuff As Long Dim color As Long num = fdmpciGetFrameNum Call fdmpciSingleCapture window_clear DIBS1 = CreateDIBSection(window1.hDC, bmpinfo, 0, hMem1, 0, 0) oldBMP1 = SelectObject(window1.hDC, DIBS1) DIBS2 = CreateDIBSection(window2.hDC, bmpinfo, 0, hMem2, 0, 0) oldBMP2 = SelectObject(window2.hDC, DIBS2)
23 名前:13 mailto:sage [2007/03/04(日) 00:36:50 ] imgbuff = fdmpciGetBuffer Call RtlMemtoArrMemory(buff(0), imgbuff, bmpinfo.bmiHeader.biSizeImage * 2) ptr = 0 For j = (bmpinfo.bmiHeader.biHeight - 1) To 0 Step -1 For i = 0 To (bmpinfo.bmiHeader.biWidth - 1) Call RtlMoveMemory(buffTemp1(j * bmpinfo.bmiHeader.biWidth + i), _ buff(ptr + 1), _ 1) Call RtlMoveMemory(buffTemp2(j * bmpinfo.bmiHeader.biWidth + i), _ buff(ptr + 0), _ 1) ptr = ptr + 2 Next i Next j 'バイト配列を操作したものを再びDIBSectionに送る Call RtlArrtoMemMemory(hMem1, buffTemp1(0), bmpinfo.bmiHeader.biSizeImage) Call RtlArrtoMemMemory(hMem2, buffTemp2(0), bmpinfo.bmiHeader.biSizeImage) window1.Refresh window2.Refresh 'DIBSection削除 Call SelectObject(window1.hDC, oldBMP1) Call DeleteObject(DIBS1) Call SelectObject(window2.hDC, oldBMP2) Call DeleteObject(DIBS2) End Sub -------ここまで
24 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 00:38:17 ] かなり長くておじゃまかと思いましたが,製品にくっついてたVB6のサンプルソースを転載いたします. 2ch同時に入力可能なキャプチャーボードなので,各所でそのようなサンプルとなっているようです. (タイマーイベントは33msに一回,つまり30FPSになっている) これをC#で実装しなおすのが一応の目標なのですが・・・
25 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 01:10:55 ] 読まずにレスするけど、 byte *fdmpciGetBuffer(void) の戻り値はbyte配列の先頭アドレスなんだろうから インポートするときにシグネチャを [DllImport( hoge.dll )] IntPtr fdmpciGetBuffer(); ってすりゃいいんでないの?
26 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 01:31:52 ] >>25 要領得ない質問者にまともなレスを返すあんたは偉いな。
27 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 13:28:11 ] フォームのAllowDropプロパティをtrueにしてもイベントが来ない・・・。 かれこれ半日くらい迷っています・・・。 私にはもうお手上げです・・・(´;ω;`)ブワ
28 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 13:46:32 ] >>27 その質問では答えるほうもお手上げだw
29 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 13:52:13 ] 前スレ埋まってないから 質問はこちらで。 ふらっとC♯, C#(初心者用) Part13 pc11.2ch.net/test/read.cgi/tech/1170761729/
30 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 13:54:27 ] >>27 Part13のほうでエスパー回答しといたから。
31 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 14:00:25 ] >>21 IntPtr アドレス Int 整数
32 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 15:37:59 ] >>30 ありがとうございます。 あちらのほうに返事をしておきました。
33 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:19:32 ] BitBltについて教えてください pictureBox1に画像を読み込みForm1にコピーして表示するプログラムです 以下1部省略したその部分です class USER32 {} class GDI32 { public const int SRCCOPY = 0xcc0020; [DllImport("gdi32.dll")] public static extern bool BitBlt(IntPtr hdcDst, int xDst, int yDst, int width, int height, IntPtr hdcSrc, int xSrc, int ySrc, int rasterOp); } protected override void OnPaint(PaintEventArgs e) { pictureBox1.Image = Image.FromFile("C:/test.jpg"); Graphics grfx = e.Graphics; Graphics g = Graphics.FromImage(pictureBox1.Image); IntPtr dstHDC = grfx.GetHdc(); IntPtr srcHDC = g.GetHdc(); GDI32.BitBlt(dstHDC, 0, 0, 320, 240,srcHDC, 0, 0,GDI32.SRCCOPY); grfx.ReleaseHdc(dstHDC); g.ReleaseHdc(srcHDC); pictureBox1.Visible = false; } BitBltがうまくいかず黒地だけのコピーになってしまいます ためしにForm1からForm1へのBitBltやるとちゃんと機能していました pictureBox1のアクセスが出来ていないようです(線などは描けます) 何か足りないのでしょうか?
34 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:34:32 ] pictureBox1 じゃなくて pictureBox1.Image だろ SelectObject で srcHDC にコピー元のビットマップを選択してやらにゃならん ……つか PictureBox 使う意味あるのか?
35 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:48:53 ] >>34 アホなんだから黙ってた方がいいと思うよお前さん。 トンチンカンなこと言っちゃってw 純粋にプログラム的に言えば>>33 はどこもおかしくないと思うよ。 いや、BitBltの返り値がboolなのはちょっと違うと思うけど。。
36 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:51:48 ] 回答する前に試しもしない奴に言われたくはないが……。
37 名前:33 mailto:sage [2007/03/04(日) 19:02:51 ] 質問用にちょっとソース変えてあります 実際はOnPaintから呼んだ先で作業しているのですが SelectObjectを具体的にどこにどんな風に入れるといいんでしょうか boolなのはサンプルプログラムの引用なんですが 問題でしょうか?
38 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:06:25 ] boolで全く問題ないよ
39 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:17:43 ] おいおいw Console.WriteLine(sizeof(bool)); Win32のBOOLはlongのエイリアスだから、対応するマネージ型はInt32かUint32 だと思いますよw
40 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:19:38 ] void で全く問題ないよ
41 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:27:00 ] DllImport の場合マーシャラは既定では bool を Win32 の BOOL に変換する。 だから何も問題ない。
42 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:29:43 ] 今度は引数と返り値の区別がつきませんか。 困った君ですねまったくw
43 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:43:01 ] 春だよなあ
44 名前:33 mailto:sage [2007/03/04(日) 19:43:49 ] pictureBox1.ImageをBitmapにしてSelectObjectするといいんでしょうか
45 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:49:13 ] SelectObject 関数は調べれば分かる 画像を選択するには HBITMAP を渡す必要があるわけだが、これは Image クラスの GetHbitmap メソッドで取得できる 使用後は SelectObject で元々選択されていたのを選択しなおして、取得した HBITMAP の方は DeleteObject
46 名前:33 mailto:sage [2007/03/04(日) 20:38:40 ] C#では SelectObjectは現在のコンテキスト内には存在しません エラーが出てしまいます いつでもいいのでどなたか pictureBox1.ImageからForm1へのBitBltでのコピー成功例を示してもらえると嬉しいのですが
47 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:41:00 ] >>39 それを言うならMarshal.SizeOfの値をみなくちゃいけないんじゃないの? msdn2.microsoft.com/ja-jp/library/t2t3725f (VS.80).aspx には規定で4バイトにマーシャリングしてくれるみたいだけど >>42 は何をいってるの? 後学のために教えてちょ。
48 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 22:11:40 ] >>46 BitBltなんて多用してるけど、今までなにも問題出てないけどなあ。 主に裏画面(Bitmap)と実画面の間の相互の転送だけど。 SelectObjectの話はヨタだから真に受けちゃダメよw
49 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 23:41:13 ] 是非とも該当部分のコードを晒してくれ
50 名前:33 mailto:sage [2007/03/05(月) 00:32:21 ] 実行時にフォーム白地に赤で×が描かれエラーが出るようになってしまった コンパイラが壊れてしまったのか それともこれは何か特有の現象?
51 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 00:51:14 ] 描画メモリに不正アクセスしたっぽい挙動だなぁ
52 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 01:12:22 ] e.Graphics を Dispose したとかそんなんじゃね? ま、原因は幾らでも
53 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 01:19:22 ] いやいや、>>50 みたいな現象はフォームとかPictureBoxとかに描画するときに 描画メソッドで例外が発生するとそうなる。 例えばデバッグなしでこんなコード実行すると再現できるよ。 protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Point[] pts = { new Point(0, 0) }; e.Graphics.DrawLines(Pens.Black, pts); }
54 名前:33 mailto:sage [2007/03/05(月) 02:28:20 ] GDIはデリケートですね エラーは戻せたけど なにかプロパティをいじらないといけないのかな
55 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 03:11:40 ] そもそもどうしてBitBltでなければならないのかを説明しておくれ。
56 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 03:15:54 ] e.Graphics.DrawImage() とか、this.BackgroundImage とかではだめなの?
57 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 08:12:12 ] いや、33じゃなくてもBitBlt使いたい場面は少なくないはず。 だって該当する機能がGDI+にはないからね。 そういう問いかけはナンセンスだよ。 今日仕事終わったら33の言ってる問題が再現するか試してみようかな。
58 名前:33 mailto:sage [2007/03/05(月) 10:16:01 ] BitBltしか知らなかったもんで これですか e.Graphics.DrawImage() これはコピー元の座標指定ができないんですかね?
59 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 12:20:10 ] できる。 Graphics.DrawImage()はやたらとオーバーロードが多いので、MSDNライブラリでよく確認して、適切なものを選んで。 なお、俺はOnPaint()で(というか、.NETコントロール全体を通して)BitBltを使うこと自体が間違ってると思うよ。
60 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 12:36:00 ] >BitBltを使うこと自体が間違ってる だからそんなことないって。 例えば描画サーフィスから画像をBitmapに転送することは GDI+では実現できないんだから。
61 名前:13 mailto:sage [2007/03/05(月) 12:45:02 ] >>14 >>15 >>25 >>26 DLLの設定を ----- [DllImport("fdmpci.dll")] extern static IntPtr fdmpciGetBuffer(); ----- とし, Marshal.Copy(fdmpciGetBuffer(), bufArray, 0, BMP_WIDTH * BMP_HEIGHT * 3 * 2); といった感じで一度bufArray(マネージド)にコピー, bufArrayは2ch分混在してるので,これを1ch分だけ取り出しbmpArrayとした後, Marshal.Copy(bmpArray, 0, bmp_data.Scan0, BMP_WIDTH * BMP_HEIGHT * 3); とすることで解決いたしました.(*3はRGB分) エスパーの皆さん,ありがとうございました.
62 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 17:11:45 ] >>61 fdmpciGetBuffer()でとったバッファはこっちで解放しなくていい仕様なの?
63 名前:33 mailto:sage [2007/03/05(月) 20:45:10 ] BitBltを使わないほうが良いというのは.NETの中に全て収めた方が良いということでしょうか BitBltでは意味不明のところで例の赤×エラーが多発してお手上げ状態になります e.Graphics.DrawImageとBitmapを使ってやってみました(速さはどうなのか分かりませんが) ウインドウが隠れても絵が消えないこと 表画面から裏画面への逆コピーが出来ること 裏画面の座標指定が出来ること 表示画面のセーブが出来ること これらの条件を満たせるようにしました どうでしょうか?
64 名前:33 mailto:sage [2007/03/05(月) 20:46:14 ] int d1,x1,y1; Bitmap _bmp = new Bitmap(300, 300); //表面 Bitmap _bmp2 = new Bitmap(@"C:/test.jpg"); //裏面 Rectangle srcRect = new Rectangle(0, 0, 300, 300); GraphicsUnit units = GraphicsUnit.Pixel; protected override void OnPaint(PaintEventArgs e) { if (d1 == 0) init(); x1 = 0; y1 = 0; srcRect.X = 0; srcRect.Y = 0; srcRect.Width = 300; srcRect.Height = 300; //常に表面を表示 e.Graphics.DrawImage(_bmp, x1, y1, srcRect, units); } private void init() { //ここは最初に1度だけやることを書く //試しに裏の横50から100切り取って表へコピー Graphics g = Graphics.FromImage(_bmp); x1 = 0; //表X座標 y1 = 0; //表Y座標 srcRect.X = 50; //裏X座標 srcRect.Y = 0; //裏Y座標 srcRect.Width = 100; //転送X幅 srcRect.Height = 300; //転送Y幅 g.DrawImage(_bmp2, 0, 0, srcRect, units); g.Dispose(); d1 = 1; }
65 名前:33 mailto:sage [2007/03/05(月) 20:50:01 ] インデント失敗^^
66 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 21:01:06 ] どうでしょうか、って言われても 知らんがな、としか答えようがないのでは。。。
67 名前:33 mailto:sage [2007/03/05(月) 21:14:28 ] 一応画像のやり方のコツはつかみました 教えてくれた方々 どうもありがとう。
68 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 21:48:03 ] どうでしょう、っていうか、とりあえずbase.OnPaint()を呼んでないのはよくない。
69 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 21:51:03 ] >>64 のコードって、コンストラクタで Init(); BackgoundImage = _bmp; とやれば、OnPaint()を使う必要ないんじゃね。
70 名前:33 mailto:sage [2007/03/05(月) 22:06:23 ] そうですか もっと調べてみます
71 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 12:45:55 ] http プロトコルで配布されているzipファイルの 日付だけを取得することはできますか? 今は、手動でダウンロードしているんですが、 更新されていたら自動でダウンロードする機能を つけたいもので。
72 名前:13 mailto:sage [2007/03/06(火) 14:36:19 ] >>62 サンプルソース&仕様書を読む限りでは fdmpciSingleCapture() でキャプチャー後, fdmpciGetBuffer() で得られたアドレスからデータを読み出すだけでokなようです. (キャプチャーボードへの接続開始,終了時はそれぞれInit,Exitという処理がありますが)
73 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 14:56:58 ] WebClient.DownloadFileAsync 内で WebException が発生しているようなのですが、 try{ WebClient.DownloadFileAsync(...); }catch(WebException){ .... } と書いても catch できません。DownloadFileAsync 内で発生した例外を catch する にはどう書いたらよいのでしょうか?
74 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 20:24:34 ] >>71 HTTP の仕様、If-Modified-Since を調べなさい
75 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 21:10:54 ] つうか HEAD でいいじゃん
76 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 22:46:59 ] 返してくれるかどうかは相手の鯖次第だけどな
77 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 22:57:39 ] >>73 確認してないが、DownloadFileCompleted のイベント引数に入ってないか?
78 名前:73 mailto:sage [2007/03/06(火) 23:13:32 ] >>77 ばっちりでした。 ありがとうございました。
79 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:20:37 ] さっき C# 触ったばかりですが質問ください int i = 1; string s = (string) i ; と、これでは整数型を文字列型にキャストできないようなのですが、 どうすればできるでしょうか
80 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:23:02 ] string s = i.ToString();
81 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 23:55:19 ] >>80 ありがとうございます できました! ところで、いま VC# 2005 無償版を触っていますが、 プロシージャ(?)を作った際に、 { } は自動で補完してくれないのものなのでしょうかどうでしょうか
82 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:04:58 ] そんなん補完されても全く嬉しくないな
83 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:05:00 ] してくれないものです
84 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:32:10 ] プロシージャて呼ぶのは何やってる人だろう・・・
85 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:42:26 ] >>84 元コボラーもしくはDB/SQLべったりな人とかはそういう呼び方しそう。
86 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:51:25 ] VBじゃないの?
87 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:53:56 ] VBだったらEnd SubなりEnd Functionが補完されるのに、ってことか。
88 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:55:18 ] >>86 ん? VBでプロシージャなんて呼称でてきたっけ?
89 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 01:04:16 ] パルカルあたりが起源の言葉だと思うけど、Cの文化でもプロシージャっていうでしょ。 WndProcのProcじゃん。
90 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 01:10:28 ] >>89 パスカルは知らんけど、Cの用語/文化ではプロシージャってのは聞かんぞ。 そりゃWndProcみたいな一部の関数名としては聞くけど。
91 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 01:15:44 ] >>89 あぁパスカルか。思い出した。d
92 名前:デフォルトの名無しさん [2007/03/07(水) 01:30:13 ] CellValidatingについて教えてください DataGridViewにて同一行に移動した場合はCellValidatingイベントを 発生させたくないのですが、まったくわかりません。 バカな質問かもしてませんが どなたかおねがいします
93 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 01:40:37 ] RowValidating でいいんじゃね?
94 名前:デフォルトの名無しさん [2007/03/07(水) 01:53:21 ] うわ〜〜 RowValidatingてのがあるんだ 本当にありがとうございます もっと勉強します
95 名前:デフォルトの名無しさん [2007/03/07(水) 07:44:17 ] XMLDataSourceを使ってGridViewにバインドしたいと考えており 以下の単純なXMLファイルを作成したところ問題なくGridViewにバインドされます。 <ファイル管理> <ファイル ID="A" ファイル名="AAAファイル" /> <ファイル ID="B" ファイル名="BBBファイル" /> <ファイル ID="C" ファイル名="CCCファイル" /> </ファイル管理> このXMLファイルには他の定義も必要になるため、もう1階層要素を追加しました。 <どっとねっと> <ファイル管理> <ファイル ID="A" ファイル名="AAAファイル" /> <ファイル ID="B" ファイル名="BBBファイル" /> <ファイル ID="C" ファイル名="CCCファイル" /> </ファイル管理> <別の階層> <システム ID="AAA" /> <システム ID="BBB" /> <システム ID="CCC" /> </別の階層> 今回必要なのはファイル管理以下の一覧なのでXPath式を /どっとねっと/ファイル管理 としたところ画面には何も表示されなくなりました。 どのようにしてファイル管理以下の一覧を取得するのでしょうか? プログラムでDataGridにバインドする前にXMLデータの加工をしてしまえば できると思うのですが、デザイナ画面で実装イメージが確認したいので そのようにしたくはありません。
96 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 07:56:59 ] pc11.2ch.net/test/read.cgi/tech/1173061176/22
97 名前:デフォルトの名無しさん [2007/03/07(水) 13:04:54 ] コンパイルした後の、最適化されたソースを見ることはできますか? どこかのページで見たような気がするのですが。。
98 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 13:10:48 ] コンパイルとはCILへのコンパイルのことかJITコンパイルなのか。 前者ならildasmか.NET Reflector、後者ならそのへんのデバッガで
99 名前:デフォルトの名無しさん [2007/03/07(水) 15:02:59 ] VS2005にてビルドを行った時に、中間言語みたいなものを見ることができなかったかなぁと。 よく、解説サイトなんかで、volatileを使った時の結果を見てみましょう みたいな感じで、volatileをつけたときとつけない時の比較を行ったりしている時に 表示しているコードみたいな。。 VS2005、アセンブリにする直前のソースを表示させる事なんかができないのかなぁと。 無ければ.net reflectorを使ってみます。 ありがとうございます。
100 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 15:09:03 ] ILならildasmで見れるだろ