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


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

Microsoft Silverlight その4



1 名前:デフォルトの名無しさん [2009/06/12(金) 22:12:36 ]
Microsoft Silverlight
www.microsoft.com/japan/silverlight/
MSDN Silverlight デベロッパー センター
msdn.microsoft.com/ja-jp/silverlight/
The Official Microsoft Silverlight Site
silverlight.net/

MSDN Silverlight ダウンロード (SDK, Silverlight Tools)
msdn.microsoft.com/ja-jp/silverlight/bb187452.aspx
CodePlex Silverlight Toolkit
www.codeplex.com/silverlight/

前スレ
pc12.2ch.net/test/read.cgi/tech/1227324813/
pc11.2ch.net/test/read.cgi/tech/1210491703/
pc11.2ch.net/test/read.cgi/tech/1203891514/

481 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 09:33:28 ]
Print Supportはランタイムサイズがでかくなりそうで嫌だな
Silverlightの構造上,XmlSerializerみたいにDLL配ればOKなのとはわけが違うし

482 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 09:34:45 ]
>>479
お、日本語版かい?

483 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 09:35:58 ]
>>481
そのためのアセンブリーキャッシュでしょ。


484 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 09:37:25 ]
英語サイト見回ってたけどStudio 3ってもう売ってんのね
日本語版マダカナー

485 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 09:44:10 ]
>>483
SilverlightはWPFと違ってXAMLのパースとかコントロールの実装とか
かなり高レベルなところまでネイティブコードで書かれてるのでプラグインに直接組み込むことになる

486 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 10:27:32 ]
印刷関係の対応はドライバーが絡む部分だから、対応厳しいと思うjけどな。

487 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 10:31:27 ]
普通にHTML吐いてブラウザから印刷するのが現実的かな

488 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 10:32:56 ]
XPSが何か言いたげだ

489 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 10:43:31 ]
そう、XPSからの印刷パスだけあればいいよね。
とりあえず、Voteは10票中5票つかったけど、
Text Services Framework (TSF) functionality support とか
Low level glyph access to OpenType fonts とか
適当に項目追加するか。
あと日本人以外あまり要求しなさそうな項目何かあるかなぁ?



490 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 10:53:55 ]
PDF出すって手もあるな。

491 名前:デフォルトの名無しさん [2009/09/10(木) 10:54:09 ]
>>479
おっと日本語が来たのか。最近はMS仕事速いねぇ
インスコしてユーザガイド見て一通りやってみるか。

>>484
日本語版は秋ごろ(10月?)発売予定だったような。


492 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 10:55:05 ]
>>491
Win7、VS2010、ES3で固めてきそうだな
まだ学生なのが救いだが

493 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 10:59:27 ]
ES3日本語版はMSDNに来てるな。

494 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 11:02:59 ]
>>493
明日にでも出てくれりゃ助かるな

495 名前:デフォルトの名無しさん [2009/09/10(木) 11:08:15 ]
>>493
ほんとだ。こっち入れたほうがよさげだね。

www.microsoft.com/downloads/details.aspx?FamilyID=7E2F033B-C6B5-4565-93A5-A6048246CE28&displaylang=ja


496 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 17:35:08 ]
>>488-490
WPFだとオブジェクトツリーをXPSのライターに渡せばXPSファイルが生成できる事を
検証したんだが、従来のSilverlightだとブラウザの箱庭という制約があって解決できなかった。
印刷フォームの生成とXPSの生成&プレビュー&印刷機能は欲しいな。そうするとクラウド環境の
ビジネスアプリも構築できるし。
まあ次期Microsoft Officeで実装される機能と被るから、単体APIとして公開されるのも時間の
問題だと思うけどね。

497 名前:デフォルトの名無しさん [2009/09/10(木) 17:53:48 ]
>>479
英語版使ってたせいか、試用期間が過ぎてBlend使えなかった。
製品版出荷されるまで待つか。。


498 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 20:12:15 ]
そういや、Office Web Applicationsって印刷どうなるんだ?
Azure側でPDF/XPS生成してブラウザでダウンロードさせるのか、
>>496が予想するXPS印刷がSilverlightに追加され、SLありの環境だと
直接印刷ができるのか。

499 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 20:46:40 ]
パッケージ版の発売は 11月らしい。
細かい日にちは不明。



500 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 20:48:40 ]
Expression Mediaが入ってないとは

501 名前:デフォルトの名無しさん [2009/09/10(木) 22:11:06 ]
>>498,496
印刷で思い出したのでURL貼るけど、下記のサイトでは

ちょっとややこしいが。
 WritableBitmap -> PngEncoder -> HTML Hidden格納 -> ASP.NET Print Controller ?で印刷を実現してる。
 画像の貼り付けになっちゃうけど案外これでいいかもと思った。

www.andybeaulieu.com/silverlight/3.0/printablesilverlight/printablesilverlight.aspx


502 名前:501 [2009/09/10(木) 22:31:31 ]
Base64を忘れていた。

Client WritableBitmap -> PngEncode -> Base64Encode -> HTML Hidden格納
Server HTML Hidden取り出し -> Base64Decode -> PngDecode -> Print Controlに画像貼り付けだ。


503 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 22:59:40 ]
まぁ、印刷サポートは入れるでしょうねぇ。
ユーザー層を考えると、LOBアプリをWeb化するのに使えますと
言うのが一番訴求するだろうし。

504 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 18:17:11 ]
どこにこの怒りをぶつけていいのか判らないので、検索で見つけたこのスレに投下。
Silverlightインストール不能。

エラーメッセージID 1622
インストールログファイルに書き込むことができませんでした。Tempフォルダーが存在し、
このフォルダーに書き込むことができることを確認してください。

なんのこっちゃい? 試行錯誤するも解決できず、ついにサポートセンタにTEL。サポートでも
わけわからず、こちらと一緒になって試行錯誤すること、およそ2時間。ようやく原因判明。
Tempフォルダをデフォルトから移動させていると(SSD使ってるとか、高速なドライブにTemp
をおいて高速化しているとか)、インストールできない!!

インストーラにバグがあるようだが、「無論、これは仕様です」
Silverlighとは無縁の人生を送れそうだ。さらば Yahoo, Gyao

ばっきゃろー!!

505 名前:デフォルトの名無しさん [2009/09/11(金) 18:57:48 ]
>>500
ほんとだExpression Mediaが入ってないですね。
まぁ、Mediaって微妙な製品ですよね。
自分的には使い勝手がいまいちな感じと。これ必要なの?みたいな印象だけど


506 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:00:14 ]
・Tempフォルダ関係のエラーが出た
・Tempフォルダを移動している
これだけ情報が揃ってたのに、なぜ真っ先にTempフォルダを元に戻して試さなかった…

507 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:02:23 ]
Designを単体で売り物にできるほど力いれないなら、
BlendにもDesignを同梱して欲しい。

Illustrator使うからイラネって言われそうだがw

508 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:39:59 ]
>>506
もちろんそう考えて、自分で試行錯誤した時にTempをデフォルトに戻し再起動ログインしてみたが、
だめだったのさ。つか普通そんなとこまで考えないだろ? TempがどこにあるかなんてOS任せで、
他のプログラムが関与するなんてありえないだろ?

新規のユーザアカウントを作ったらインストールでけたということで、どうやら最初からTempは
デフォルト固定じゃないとだめみたい。一体どんなプログラムなんだ?

509 名前:デフォルトの名無しさん [2009/09/11(金) 19:57:38 ]
DesignとIllustratorでは勝負にならんだろうね。




510 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 20:27:02 ]
>>508
> Tempをデフォルトに戻し再起動ログインしてみたが、だめだったのさ。
> 新規のユーザアカウントを作ったらインストールでけた

本当にTempフォルダの移動が原因なのか?

とりあえず、情報が曖昧すぎて試すのも面倒だから、

> Tempフォルダをデフォルトから移動

なんて書かずに、

ユーザーの環境変数TEMPをXXXからYYYに変更
システムの環境変数TMPをXXXからYYYに変更

みたいな感じで正確に書いてくれ。

511 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 21:56:53 ]
うちはテンポラリフォルダを変えて使ってるけど、トラブルは起きてないよ。
環境はVistaと2000。(2000はランタイムのみ)

もうちょっと切り分けて調べた方がいいと思う。

512 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 05:41:05 ]
俺もRAMディスクにTEMPフォルダ置いてるが特に問題なかったな

513 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 15:03:40 ]
どうせ TEMP=R:\ とかドライブのルートにしてるってオチだろ・・・

514 名前:508 mailto:sage [2009/09/12(土) 19:00:05 ]
意外と関心があるようなので

インスツールできたTempのアドレス
D:\Documents and Settings\1\Local Settings\Temp\
 (因みにSilverlight関係と思われるファイルがいくつか作成されている)

失敗したTempのアドレス
E:\Temp\
D:\Documents and Settings\秘密\Local Settings\Temp\
(環境変数を元に戻した。Silverlight0.logだけが作成されていた)

もう一度アカウントをつくってE:\Temp\にしたらやっぱりだめだった。

515 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 19:10:48 ]
>>514
そんな初心者っぽい書き方じゃなくて、
コマンドプロンプト開いてSET実行してTEMPとTMPをコピペしろよ。

516 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 21:19:31 ]
D:\Documents and Settings\1\Local Settings\Temp\
D:\Documents and Settings\秘密\Local Settings\Temp\
この違いは単純に全角を使ってるか否かだけかな?
"秘密"の部分が日本語だったとして。

E:\Temp\
ここはレスから推察するにSSDになるのかな?
"E:\Temp\"だからダメなのか、想定された記憶媒体でないから弾いたのか、気になるところ。

つか>>508はSilverlightでひどい目に会ったのに意外と協力的だよね。
個人的な見解だけど、このスレにはFlash信者が時々アンチとして湧くので
ネガティブなレスに敏感なってるように感じる。多少トゲのあるレスにはめげず
書き込んでくれると助かる。

517 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 22:16:11 ]
>>516
協力的とか好意的とかそうゆー心情的なものではなくて、技術的な問題には真摯にというポリシー
(これも信条か)なので、まともな質問には答えたくなる。
もちろん「秘密」というのは、「そんなの公開できるか」という意味合いであって単なるボカシだ。
管理人はPIYOPIYOエプロンという固定概念の持主だと知れたら恥ずかしいだろ?

あとDドライブがSSDであって、寿命の点から煩雑に書き換えしたくないという理由でEドライブ
にTempを置いている。(スピ−ド重視ではなく寿命重視ということで)。

しかし>>512のような事例があるとすると、E:\Temp\にナニかが居るからだというセンも考えられるが

518 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 22:21:40 ]
もしこのままSilverlightが順調にシェアを伸ばしたら
Flash使いとの醜い争いが本格化するんだろうな。
そういうのはお腹いっぱい

519 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 00:02:21 ]
口汚く罵るしか能が無い奴は、どちらの案件でも開発なんかやったことない
外野の素人だから放置しておけばいいよ。



520 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 01:03:20 ]
話は超・横にそれるが将来的にこの手のはRIAは
処理負荷の高いアプリ→Native Client
そうでもないアプリ→Silverlight
携帯端末、家電UI→Flash
になるんじゃないかと思う。プラットフォームを切り捨ててる分
Native Client>Silverlight>Flash
という速度の壁は越えられないと思う。逆にFlashはどこかでこの二社と
正面からぶつかるのをやめ、最も多くのハードで動く所を長所とした
差別化をしていくんじゃないかな。

521 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:18:44 ]
Silverlight3でOutOfBrowserできるようになって、
業務で十分使える状況になってきたけど、みなさん
帳票印刷はどーなさるおつもりですか?

ブラウザ上で動いていればWeb帳票のソリューション
で解決しそうなもんだけどOutOfBrowserからだと
厳しそうな気がすんですが。。。

OutOfBrowser状態からWebページ開いたりできる?

522 名前:デフォルトの名無しさん [2009/09/13(日) 19:33:33 ]
印刷はいまのところ、PDFとかをサーバ側で生成するとかしか無いんでないかな。

Out Of Browserってオフライン時にも実行できるから、
分離ストレージにデータ蓄積してネットワークが接続できたら、
サーバと通信するみたいな使い方を想定していると思う。

そうすると分離ストレージにデータを格納できるSQLServer小型版のSilverlight版が欲しいだよな。


523 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 20:52:09 ]
以下の現象で困っています。分かる方がいらっしゃれば教えてください。
VS2008で Silverlight3.0 Webアプリを作成しているのですが、WebClientでファイルを取得するたびに
Tempフォルダに XCP???.tmpという 20MBのファイルが次々追加されてしまいます。
数十秒に一度の頻度で取得するので、大容量になってしまい無視できません。

この XCP???.tmpファイルを作成しないようにする方法、またはすぐに消す方法や情報等がありましたら
教えてください。

これまでに試したこと。
・Webサーバ(geocities)に、作成した zapファイルを配置して実行すると tmpが作成される。(Debug、Release共に)
 (VSからのテスト実行では tmpは作成されない。(Debug、Release共に))
・WebClientの AllowReadStreamBufferingは true、false共に効果なし。
・ボタンClickの処理で毎回 _webClient = new WebClient();を行っても tmpは削除されない。
・_webClientをクラス変数ではなく btnStart_Click()内で作成しても効果なし。

524 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 20:53:27 ]
以下はビハインドコードです。XAMLにはボタンのみあり、btnStart_Clickが呼ばれます。
ボタンを押すごとに tmpが次々増えていきます。
(ブラウザを終了すると自動で削除されます)

namespace SL_Test1 {
public partial class MainPage : UserControl {

WebClient _webClient = new WebClient();

public MainPage() {
InitializeComponent();
_webClient.DownloadStringCompleted +=
new DownloadStringCompletedEventHandler(mWebClient_DownloadStringCompleted); // DL完了イベント登録
_webClient.AllowReadStreamBuffering = false; // インターネット リソースから読み取ったデータをバッファリングするかどうか
}

private void mWebClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) {
if (e.Error != null) return;
if (e.Cancelled) return;
MessageBox.Show(e.Result);
}

private void btnStart_Click(object sender, RoutedEventArgs e) {
_webClient.DownloadStringAsync(new Uri(Application.Current.Host.Source, "hoge.txt"), "hoge.txt");
}
}
}

525 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:45:12 ]
データをロードするSilverlightを表示した状態で
TMPファイル内を"XCP*.tmp"で検索かけてみたけど出てこなかった。
そのtmpファイル内の内容はなんでしょう?実はエラーログ的な何かとか。

526 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 19:31:45 ]
>525 確認ありがとうございます。
> TMPファイル内を"XCP*.tmp"で検索かけてみたけど出てこなかった。
*の部分は2桁以上の16進のようです。
実行するたびに数値が増えていきますが、必ずしも1ずつ増えるわけでもありません。
私は環境変数 TEMPと TMPを C:\Temp に変更しているのですが、このフォルダを見てると、
上で書いているボタンを押すたびに、ファイルが1つずつ増えていってしまいます。

> そのtmpファイル内の内容はなんでしょう?実はエラーログ的な何かとか。
「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」
と出て、メモ帳とかバイナリエディタで確認することができません。作成されたファイル全て。

ログの線だと、どの設定でそうなるのかよくわかりません。
(プロパティはアセンブリ情報くらいしか触ってないはず…)
Debugビルドだけでなく Releaseビルドでも同じ現象でもありますし。

通信時なので、非同期通信のデータを溜めておくバッファではないかとも想像しています。
(データ量が多すぎたときに RAMを圧迫しないようにこのファイルに溜めていく?)
そうだとしても、設定で通信処理後自動削除、もしくはメソッド等で削除ができないと
溜まるばかりですし。(それを一部試したのが AllowReadStreamBuffering)

以下はM$のFileMonで見たログです。
Process Request Path Result Other
iexplore.exe CREATE C:\Temp\XCP23.tmp SUCCESS Options: Create Access: Read
iexplore.exe CLOSE C:\Temp\XCP23.tmp SUCCESS
iexplore.exe CREATE C:\Temp\XCP23.tmp SUCCESS Options: OverwriteIf Access: 0013019F
iexplore.exe DIRECTORY C:\Temp\ SUCCESS FileBothDirectoryInformation: XCP23.tmp
iexplore.exe QUERY INFORMATION C:\Temp\XCP23.tmp SUCCESS Length: 0
iexplore.exe SET INFORMATION C:\Temp\XCP23.tmp SUCCESS Length: 20971520
iexplore.exe READ C:\Temp\XCP23.tmp SUCCESS Offset: 0 Length: 32768
↑ここまでで止まります。
IEを閉じたときには↓
iexplore.exe CLOSE C:\Temp\XCP23.tmp SUCCESS

527 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 19:57:30 ]
>>526
> > そのtmpファイル内の内容はなんでしょう?実はエラーログ的な何かとか。
> 「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」
> と出て、メモ帳とかバイナリエディタで確認することができません。作成されたファイル全て。

開けなくてもエクスプローラでファイルのコピーはできることはあるから、
とりあえずコピーして開くとどうなる。

528 名前:523 mailto:sage [2009/09/14(月) 20:08:21 ]
>527
作成された直後のも、その前のも以下のメッセージでコピーできません。
「XCP30 をコピーできません。ほかの人またはプログラムによって使用されています。」

消されたファイルは、ゴミ箱にも残ってませんし、Nortonゴミ箱の保護ファイルにも残されていません。
何とか中が見えればいいのですが…。

529 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 20:53:38 ]
Debugで作成したものをネット上に置き、DBCon等
デバッグコンソールを表示するソフトを起動してSilverlightを
実行すると、ブラウザ側の警告込みで情報が得られるかもしれません。

後、自分が作成したもの以外のアプリでもされるのでしょうか?



530 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 20:55:31 ]
×後、自分が作成したもの以外のアプリでもされるのでしょうか?
○後、自分が作成したもの以外のアプリでも生成されるのでしょうか?

531 名前:523 mailto:sage [2009/09/14(月) 21:25:08 ]
>529
> Debugで作成したものをネット上に置き、DBCon等…(略)
DBConから分かりませんので、それも含めて調べてみます。

> 後、自分が作成したもの以外のアプリでもされるのでしょうか?
@ITの「Webサービスを利用するSilverlightアプリを作ろう」
ttp://www.atmarkit.co.jp/fdotnet/vblab/silverlight2develop_02/silverlight2develop_02_01.html
にあるガソリン情報取得アプリで、住所を入れて価格取得ボタンを押すと、
しばらく間をおいて作成されます。(同じく XCP*.tmp。16進値は前の値から連続しています)
最初はn個一気に作成されます。住所を変えないで再度ボタンを押すと、1つずつ増えていきます。
住所を変更してボタンを押すと、またn個一気に増えます。
同様の現象は出ますでしょうか?

532 名前:523 mailto:sage [2009/09/14(月) 21:34:59 ]
環境を補足しておきます。
OS:WindowsXP SP3
Silverlight:VS2008 SP1用 Silverlight 3 Toolsをインスト

以下はVSのバージョン情報からの抜粋
VS2008:9.0.30729.1 SP
.NET Framework:3.5 SP1
Silverlight Projects 2008:9.0.30730.126
記述言語はC#。

533 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:24:47 ]
挙動が違いますが、XCP*.tmpファイルは確認できました。
こちらの環境で最大で1つ以上作成されませんでした。
>ttp://www.atmarkit.co.jp/fdotnet/vblab/silverlight2develop_02/silverlight2develop_02_01.html
上記アプリで価格取得ボタンを押した時に作成されますが、しばらくすると消えます。
それ以降、再度ボタンを押しても エクスプローラー上には現れませんでした。(IE8,FF3)

挙動から推察するに、ダウンロードリソースの一時ファイルかと思います。
どこまでも仮説ですが、ハードやウイルスソフトなどの環境要因でダウンロードの終了が
Silverlightに通知されず、次のダウンロードリクエストで更に一時ファイルが‥ということが
繰り返されているのではないでしょうか?
起動中のソフトを1つ1つ終了させていくと、どこかで問題が解決するかもしれません。

534 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 22:38:49 ]
すいません、質問してもいいですか?
シルバーライトのテキストボックスにクリップボードのテキストをVBでPasteできないんですか?

535 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 23:35:22 ]
自己解決、出来ました。

536 名前:523 mailto:sage [2009/09/14(月) 23:50:45 ]
> 533
検証ありがとうございます。
tmpファイルが1つしか作成されないということは、IE7と8の差、もしくはIEのオプション設定が
怪しいのかも。
(スクリプトデバッグのON/OFFでは変化ありませんでした。スクリプトエラー表示をONにしても
何もエラー表示なしです。)
IE8必須にするにはまだ時期尚早と考えてますので、IE7でもう少し粘って調べてみます。

> どこまでも仮説ですが、ハードやウイルスソフトなどの・・・(略)
ダウンロードは mWebClient_DownloadStringCompletedが発生しているので終了通知は受け取っていると
思います。
とすると、随時の削除通知がOSに伝わってないとしたら・・・。
ブラウザ終了時に tmpが消えるのも不自然ということか・・・。
ウイルスソフトだとちょっと困りますね。
(NTT提供の TREND MICRO セキュリティ対策ツールVer16を使用。アップデート済)

> 起動中のソフトを1つ1つ終了させていくと、どこかで問題が解決するかもしれません。
OS起動時の新鮮な時に試してみます。

537 名前:523 mailto:sage [2009/09/15(火) 00:10:19 ]
> 529
DBCon試してみました。
(これすごく役に立ちます。今まで別途テキストボックス作って出してました。ありがとうございます。)
特にエラー等は検知できませんでした。
mWebClient_DownloadStringCompleted() 処理で例外も発生していませんでした。

<DBConメモ>
Debugビルドでは、以下で出力した内容を表示してくれます。
  Debugger.Log()
  Debug.WriteLine()
Releaseビルドでも、以下は取得できます(出力しています?)。(レベル引数は5で試しました)
  Debugger.Log()

(Console.WriteLine()はどちらのビルドでも不可)

538 名前:デフォルトの名無しさん [2009/09/15(火) 15:14:01 ]
黒で塗りつぶされた四角形を作るクラスを作りたいのですが、
どうもうまくいきません。(表示されない)
どこが悪いか教えていただけませんでしょうか?
黒塗りの四角形のクラスは以下のとおりです。

using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;
namespace SilverlightApplication1
{

public class Block : Shape
{
Rectangle colorRectangle = new Rectangle();
SolidColorBrush testBlack = new SolidColorBrush();

public Block()
{
testBlack.Color = Color.FromArgb(0xFF, 0x00, 0x00, 0x00);
colorRectangle.Width = 100;
colorRectangle.Height = 50;
colorRectangle.Fill = testBlack;
}
}
}
このクラスをメインプログラムから、以下の命令で読み出します。
Canvas.SetLeft(testblock, 550);
Canvas.SetTop(testblock, 100);
testblock.Height = 100;
testblock.Width = 50;
canvas.Children.Add(testblock);

539 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:21:15 ]
無理
Shapeの派生クラスは作れない



540 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:29:07 ]
そもそも、クラス内で作っているcolorRectangleがどこにも使われていない件について。

public class Block
{
Rectangle colorRectangle = new Rectangle();
SolidColorBrush testBlack = new SolidColorBrush();

public Block(Panel owner)
{
testBlack.Color = Color.FromArgb(0xFF, 0x00, 0x00, 0x00);
colorRectangle.Width = 100;
colorRectangle.Height = 50;
colorRectangle.Fill = testBlack;
owner.Children.Add(colorRectangle);
}
}
とかにして、
Block block = new Block(canvas);
で出るんでないかな。

541 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 15:56:04 ]
わざわざクラスを作る必要もない
各プロパティを設定するスタイルをXAMLのリソースで宣言して
Rectangleに設定すればいいだけ

542 名前:523 mailto:sage [2009/09/15(火) 19:23:20 ]
試しに会社のPC & ネット環境から見に行くと、私が↑で書いたプログラムだと tmpは1、2個程度で
それ以上増えませんでした。
しかし、@ITのサイトは住所を変更しなくてもボタンを押すたびに次々増えていきました。
現象に統一性がないのがアレですが、IEもしくはPC環境の問題も絡んで面倒なことになりそうな
気がしてきました。;;
(IEの設定は持ち帰りましたので、この後調べます。)

ちなみに自PC起動直後に試してみたところ、両サイトとも tmpが10個前後まで増えたあと、
急に2、3個に減りました。(しばらく待ってもゼロ個になることはありません)
現象が変わってます。ん〜〜、よくわかりません。
コンピュータなんだから、毎回同じ動きしてほしいものです。w

取り急ぎ報告まで。

543 名前:523 mailto:sage [2009/09/15(火) 22:49:45 ]
対処療法ですが、tmpの作成個数を抑える方法が見つかりました。
それはガベージコレクション(以下GC)。
通常は自動にまかせて問題ないし、メモリにしか関係しないと思っていました。
(少なくとも私はメモリを食いつぶされた経験はありません。今回もメモリは十分残っていました。)

私の↑のプログラムで言えば、mWebClient_DownloadStringCompleted(…)の処理の最後に以下を記述します。
GC.Collect();
すると、最新の tmpのみ残りそれ以前のは即時削除されました。

元々問題となっていた、ループ中で通信して数十GBも食いつぶすプログラムでは、10〜15個 tmpが溜まった後
最新以外が一気に消えるという繰り返しになりました。
(こちらも GCは通信処理の末尾に記述)
このプログラムの処理をもう少し詳しく書くと、
(1) メインの処理は、0.5秒間隔のTimerで常にある処理をしている。
(2) 上記処理を行いながら、約10秒ごとに非同期でファイルを取得する。← DownloadStringAsync
のようなことをしています。
この場合は、(2)で毎回GCを行っても、必ずしも削除されるわけではないようです。

Bestな解決方法とは言えませんが、とりあえず回避はできるようですので〆ようと思います。
(ここはずっと見てますので、根本解決が見つかれば書き込んでいただければ幸いです。)
協力してくださった皆様、ありがとうございました。m(_ _)m

GCが tmp削除に関連している理由は予想しかできないので書きませんが、この対処方法を見つけた時は、
「何でやねん」と叫んだことを付記しておきます。w

544 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 00:03:33 ]
Dispose関係じゃね

545 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 00:38:23 ]
他のSLアプリでも起きてるので環境だと思う。
めちゃくちゃメモリが乗っかっててGCが発生しにくいとか。

546 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 01:01:05 ]
こういう時は、多少面倒でもWebRequestを使ったほうが良いかもしれないな。

547 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 01:03:13 ]
> 他のSLアプリでも起きてるので環境だと思う。
全く根拠になってねぇ

548 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 03:30:50 ]
>>547
ごめん。言い直すよ。


他のSLアプリでも起きてるので環境だと思う。根拠はない。

549 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 06:43:07 ]
他のSLアプリも馬鹿が作ってたらその理屈は通らないだろw



550 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 10:14:31 ]
GCでアンマネージリソースが廃棄されると言われると、
普通の人はファイナライザで廃棄されてるんだなと考える。
そしてリクエスト毎にwebclientをnewし、不要になったものからDisposeしてみることから試すと思う。





やってみてないけど。

551 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 14:34:47 ]
WebClientがIDisposableを実装していれば、そんな答えはとっくに出てるよ

552 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 14:57:53 ]
そうか?
wc内部のDisposeが怪しいと思っているならなんとかなるんじゃね?と模索してみたり、突然GCで解決してみるわーという解を出すあたり試してなかったんじゃないの?

確かにsl版には無いな

553 名前:523 mailto:sage [2009/09/16(水) 22:45:22 ]
> 545
> めちゃくちゃメモリが乗っかっててGCが発生しにくいとか。
もし tmp1ファイル当たり100Byteメモリ消費するとしたら、20GB分のファイルが溜まるまでに
消費するメモリは 100KBにしかならないので、その可能性もありますね。
(他の消費はムシとする)
メモリは1GB程度は空いている状態で実行してました。
(時間経過によるメモリ消費の増加具合はよく覚えていません。タスクマネージャのグラフを
出してましたが、「メモリ減ったな…」と感じるほどには消費されていなかったはず。)

> 546
行き詰ってしまったときはそれを覚悟してました。
しかし、簡単に使える WebClientを捨てがたく、粘ってみた次第です。w

> 550,552
Disposeの件は、書かれているように Silverlightには無いのです。
無いものは試せません。w
また、リクエスト毎newは試したと最初に書いてあります。

自身でSL版には無いと書かれているのに、552の2行目は何を試すべきだったと書いてあるのか
ちょっとよくわかりません。

554 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 00:30:02 ]
まあ、後出しなら何とでも言えが、それなのに的外れと。w

555 名前:523 mailto:sage [2009/09/17(木) 00:31:34 ]


556 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 00:48:11 ]
>>553
GCに頼るよりかは自作するかcodeplex探索するほうがはるかに適切だろ

557 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 15:07:15 ]
点の数が500ぐらいのpolylineを20本ぐらい表示させてマウスの動きにあわせてPOINTCOLLECTIONを設定し直すだけでもっさもっさなんですが、何かやり方が根本的に違うんでしょうか?
ちなみにcanvasにaddしてます。

558 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 21:21:23 ]
多分限界だと思う。今の所Flashに毛が生えた程度の速度しか出ないと俺は思ってる。
Silverlight4に期待したい。

559 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 21:28:35 ]
WriteableBitmapに描くようにしてみたら



560 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 21:38:31 ]
てか、描画周りはFlash速いよ。
速い書き方を知ってる人が書けばの話だけど。


561 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 21:56:30 ]
PolyLineではなく、PolyLineSegmentを使ってみては?

562 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 22:03:57 ]
WritableBitmapはピクセル操作はできても書けないんじゃなかったっけ?
自前でGraphicsAPI作ればいいのか。




・・・orz

563 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 22:06:24 ]
Renderメソッドで描けるよ

もちろん自前でピクセルで描けるなら一番速いだろうが

564 名前:デフォルトの名無しさん [2009/09/17(木) 22:53:35 ]
MediaElementを使って、wmvやmp3を読み込んで再生したいです。
そもそも読み込みがうまくいっていないようなのですが、どこがおかしいのでしょうか?
どうかよろしくお願いします。

public class Test : Application
{
Canvas canvas = new Canvas();
MediaElement sound = new MediaElement();
private String url = "pattern02.wmv";

public Test()
{
RootVisual = canvas;
init();
}

public void init()
{
sound.Loaded += new RoutedEventHandler(mInit);
}

public void mInit(object sender,RoutedEventArgs e)
{
sound.Source = new Uri(url);
sound.Play();
this.canvas.Children.Add(this.sound);
}
}

565 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 23:02:01 ]
>>554
やっちゃったかw

566 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 23:04:14 ]
>>565
Webサイトのプロジェクト作った?
開発用Webサーバ上で動かしてる?
読み込むファイルはそのWebサイトプロジェクトのClientBinフォルダの中に入れた?

567 名前:デフォルトの名無しさん [2009/09/17(木) 23:07:31 ]
>>566
レスありがとうございます。
wmvは、C#のコードと同じフォルダに入れました。
Webサイトのプロジェクトは作っていませんorz
Web上で動かしても、wmvの読み込みを開始しようとすると、他のコンポーネントが消えて
真っ白になっちゃうんですよね。


568 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 23:31:45 ]
>>564
sound.Loadedの先でSourceを設定してるのが悪いかと。
読み込むファイルの設定を、読み込みが完了したときに呼ばれるとこでしたら駄目でしょ。

569 名前:デフォルトの名無しさん [2009/09/17(木) 23:48:46 ]
>>568さん
レスありがとうございます。ご指摘のとおり、Sourceの設定をsound.Loadedの前に持ってきました。
しかし今度はデバッグ中に、UriFormatException はユーザーコードによってハンドルされませんでした。
「無効なURI: URIの形式を決定できませんでした。」というエラーがでます。
C#と同じディレクトリにwmvファイルを持ってきているのですが、URIの指定がまずいのでしょうか?
ファイルの置き場所が悪いのですか?

public class Test : Application
{
Canvas canvas = new Canvas();
MediaElement sound = new MediaElement();
private String url = "pattern02.wmv";

public Test()
{
RootVisual = canvas;
init();
}

public void init()
{
sound.Source = new Uri(url); //sound.Sourceをこっちに移しました
sound.Loaded += new RoutedEventHandler(mInit);
}

public void mInit(object sender,RoutedEventArgs e)
{
                   //sound.Sourceは、ここにあった
sound.Play();
this.canvas.Children.Add(this.sound);
}
}



570 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 00:35:03 ]
今度はLoadedイベントハンドラの追加より前でSource入れてるし。
Silverlight以前にプログラミングの基礎をしっかりやった方が良いのでは・・・

571 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 00:37:35 ]
>「無効なURI: URIの形式を決定できませんでした。」というエラーがでます。
new Uri(url, UriKind.Relative);

572 名前:571 mailto:sage [2009/09/18(金) 00:39:37 ]
つーかこれ、わざわざCanvasとか作ってるとこみるとxaml無でコードのみでやってんの?

573 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 00:54:56 ]
>>560
まじ?点の数が500ぐらいのpolylineを20本いけちゃう?
そしたら即SilverlightからFlashに乗り換える。

574 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 07:32:52 ]
>561
後で試してみます(=゚ω゚)ノ

575 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 09:02:20 ]
>>573
環境によるだろ

576 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:37:06 ]
それをいったらいけちゃうの定義も曖昧だろw
小さい言葉遊びは置いといて、んじゃあFlashでこれは描画速い!
っていうサイトない?Silverlightでコレはムリだろ、みたいな。

577 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 12:39:34 ]
確かFlashだとポリラインてmoveTo、LineToの繰り返しで引くんだよね?
さすがにCanvasにaddするよりは速いだろうけど、
WritableBitmap.Renderより速いかはわからない。
Flashでも高速描画したいときはBitmapData.drawってやるようだし、
大して変わらない可能性もあるかと。

578 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 15:20:09 ]
つーか、とっととDrawContextとか実装しておくれよ…


579 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 18:16:47 ]
あれ?WriteableBitmap.Pixels でピクセルバッファに直接アクセスできるけど、そういう話じゃない?
SetPixel、GetPixel なんかも簡単に作れるし、DDA で Line するのも難しくない。
つか、「WriteableBitmap SetPixel Line」 でググるとすぐにサンプルが見つかるけど。



580 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 18:31:54 ]
線が毎フレーム動いてるようならWritableBitmap.Renderでは速くならないと思うし、
動かない線をキャッシュするならBitmapCacheだけで十分じゃないかな?

581 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 18:54:41 ]
>>578
WPFのDrawingContextで毎フレーム更新したら糞遅いよ
どっかでMSの中の人が「最も効率の悪い方法」とコメントしてた記憶がある

582 名前:デフォルトの名無しさん [2009/09/18(金) 20:41:14 ]
Json文字列をDataGridに入れるソースなのですが、もうすこしサッパリならないでしょうか?
わざわざjoからjaを取り出さなくてもいい方法とか、わざわざenumを作らなくてもいい方法とか

あれば教えてください。
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
string json = "{'title':'Hello!', 'array':[{'id':1, 'name':'aaa'}, {'id':2, 'name':'bbb'}, {'id':3, 'name':'ccc'}]}";
JsonObject jo = (JsonObject)JsonValue.Parse(json);
JsonArray ja = (JsonArray)jo["array"];
IEnumerable<test> enum = from obj in ja
select new test
{
ID = (int)obj["id"],
NAME = (string)obj["name"]
};

mygrid.ItemsSource = enum;

}
}
public class test
{
public int ID {get; set;}
public string NAME { get; set; }
}


583 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 20:41:52 ]
凄い質問スレな雰囲気。

584 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 21:36:14 ]
まあいいんじゃねえの
有用なドキュメントもないし

俺もSilverlight用アップローダでも作って支援しようかなあ

585 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 22:18:09 ]
>>576
言葉遊びとかそういう問題じゃないだろこれは

586 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 22:25:56 ]
json扱うならDLR系の言語使ったほうが楽だろうなー

587 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 23:58:20 ]
>581
そなのか(´・ω・`)
毎フレームでShapeを削除/追加するよりはましかと思ったんだけど・・・
軽い描画命令が欲しいお(´;ω;`)ウッ…
株式チャートを作りたいんだお・・・

588 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 01:11:52 ]
自作するより持ってきたほうが楽な気が。

589 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 01:17:34 ]
細かい機能で不満が出るかもしれないけど、まずは置いておいて、
全体をまず作りこんでからでもいいと思いますし。

一例
visifire
visifire.com/silverlight_chart_designer.php
下の「Gallery」からサンプルが見れます。



590 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 04:39:47 ]
シルバーライト3で Service参照 を設定しプログラムしたときに
IISのサイトのバインドが2つ以上あるとエラーで実行できないのですが
これの回避方法はありませんか?

Service の endpoint は正しく設定してあります。

例 IISバインド
 www.サイト名.co.jp
 www2.サイト名.co.jp


591 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 07:57:41 ]
>504
ありがとう。
IEじゃヤフ、GYAO見れるんだが火狐で見れないのが不思議だった。
インストールされているらしいのに。

TEMPディレクトリか・・・・
気がつかなかった。
だいたいtmpなんてC:直下に置いておくものだろ。
それも奥の方にいくつもある窓の作法なんかに従うなんて出来ない。

理由が分かって少しすっきりしたw

592 名前:デフォルトの名無しさん [2009/09/24(木) 17:19:55 ]
<Grid x:Name="LayoutRoot">
<Grid.RenderTransform>
<ScaleTransform ScaleX="2"></ScaleTransform>
</Grid.RenderTransform>
<Rectangle Fill="Blue" Stroke="Red" StrokeThickness="3" />
</Grid>

ScaleTransformでRectangleを横方向に拡大しているXAMLです。

拡大後のRectangleの幅を取得したいのですが、ActualWidth や RenderSize.Width では
元々の幅しか取得出来ません、どうにか取得する方法は無いでしょうか?


593 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 01:30:01 ]
2倍すればいいんとちゃうの?

594 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 02:08:58 ]
Layoutの方を使う

595 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 20:06:37 ]
こっちに張っていいのかな?
Microsoft Expression Encoder 3
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=b6c8015b-e5de-46c0-98cd-1be12eef89a8&DisplayLang=ja

596 名前:デフォルトの名無しさん [2009/09/27(日) 04:33:52 ]
初心者ですまん。
WPFってWebアプリも作れるよね?

じゃあSilverLightの違いって何?

SilverLightには4M制限があり、
その為、WPFの機能縮小版であると言うところまでは調べれたんだけど・・・。

597 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 07:01:42 ]
WPFは.NET Frameworkが要るのじゃまいか

598 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 08:59:18 ]
WPFの場合は、WPFで作った画面が一応ブラウザーの画面にひっついて動いてますよレベルで実質ほとんどWPFアプリが動いてるのと変わらないんじゃ?
たとえばクライアントにWPF入ってないといけないとか、サンドボックスも減ったくれもないとか。
ほとんどデプロイの一手段としての役割しかないんじゃ。
アーキテクチャからの適当な予測なのでおお外れしてたらすまん。

599 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 11:09:32 ]
Macで動くとか
動画のストリーミング再生に強いとか



600 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 15:05:08 ]
最もWindows寄りなのが Winアプリ。
最もネット寄りなのが Silverlight。
WPFはその間だと思ってる。

ある意味万能だけど、どちらかに寄った実装をしようとしたときに、
対応が難しい(できない)ので、もっぱら作るのはWinアプリか
Silverlightアプリ。

601 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 15:20:42 ]
winアプリにwpfコントロールを使うってことでいんじゃ。

602 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 15:22:00 ]
WPFは思いっきりWindows寄りというかグラボ寄り
設計がWinFormsとは全然違っててゲームみたいなスタイル

603 名前:596 mailto:sage [2009/09/27(日) 18:21:55 ]
皆さん、ありがとうございました!
クライアントがWinのみを想定した業務用アプリの場合、
どっちを使用したら良いのか悩んでました。

604 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 00:26:41 ]
WPFってsilverlightと違って埋め込めなかったと思う。
ページ丸ごとxbapになるはず


605 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 03:49:40 ]
IntelがLinux OSのMoblinにSilverlightを移植中
www.infoq.com/jp/news/2009/09/Intel-Port-Silverlight-to-Moblin

606 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:11:57 ]
Intelが!?

607 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:32:36 ]
>>605
> Silverlightのアプリケーションが.NETランタイム上で動くのか、
> それともMoblinのネイティブコード上へ移植されるのかもわからないが、
> 後者になる可能性が高い。

原文のほうで、恐らく Silverlight runtimeのことをSilverlight applicationsと書いて
しまっているせいだろうけど、そのせいで変な記事になっちゃってるね。

608 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:33:30 ]
要するにMoonlightのようなもんだろう?

609 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:45:45 ]
>>607
ちょっとSilverlightを誤解してるんだろうなそれ
ネイティブコードで書かれたCLRの上にマネージコードのレイヤを載せて
その上でマネージコードのアプリケーションを動かす以外にありえない



610 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 19:59:12 ]
tblみたいなもん?

611 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 16:09:59 ]
CanvasにRectangleを500ぐらい追加して、MouseMoveでCanvas.SetLeft等を使って表示位置を動かすとします。
Transformは使わないものとします。
Mouseを動かした時にCPU負荷があがるけれどそれなりのFrameRateで描画出来るんですが、RectangleがCanvasの外に出る時などに固まるような気がします。
これは何故でしょう?
またCanvasで子が矩形に含まれるかどうかの判定を省いたりなど処理速度をあげる方法はありますか?

612 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 17:07:48 ]
もしかして、CaputureMouseやってなかったり?

613 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 17:29:36 ]
いやマウスはCanvasの矩形の中で動かすんだが、中のRectangleが矩形からはみ出そうになった時に引っかかってるっぽい気が。

614 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 17:37:36 ]
なので、RectangleにMouseCaptureしないと。

615 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 18:59:53 ]
Silverlightで作成された業務アプリ?見つけた。
ここの株価チャートがSilverlightで作られてる
オーソドックスなWinアプリみたいな作りだけど

wincity.jp/

616 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:19:59 ]
>614
ん?よくわからん・・・
Rectangleは描画するのに必要なだけでイベント処理は全部Canvasのほうですよ?

617 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:26:22 ]
マウスでRectangleをD&Dして動かすというのではないの?

618 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:39:55 ]
Canvas上でMouseMoveをひろって500個のRectangleの位置を動かしてるだけです(´・ω・`)
つたない日本語ですまん。

619 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:48:45 ]
Rectangle使わないでRenderTargetBitmapに直接書き込んだら?
矩形の描画だけなら簡単だろ



620 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:50:01 ]
WriteableBitmapの間違い

621 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:58:21 ]
>619
矩形だけでない他の描画要素を含むグラフとかチャートコントロール的なカスタムコントロールを作る必要があるんで、自前描画も一瞬考えたんだが出来れば避けたい・・・
最悪その線も考えてるんですが・・・


622 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:00:55 ]
グラフの中身をアニメーションさせたりしないで全体をまとめて動かすだけだったら
WriteableBitmap.Renderでキャッシュしとけばいい

623 名前:611 mailto:sage [2009/09/29(火) 22:29:04 ]
すまん、全体をまとめて動かすだけではないw
条件を後出しみたいになってきたのでまとめてざっくり書くと

・ある程度の頻度で変わるデータを元に矩形や楕円、円、折れ線、Textを含めていろいろな描画要素を使って描画をしたい。操作によっていくつかの描画要素の位置やサイズなどが変更される可能性がある。
・縦軸や横軸のMin,Maxが操作によって変わったりする。単純にScaleTransformやTranslateTransform的なことで対応できない場合が多く存在する。
・各描画要素に対するマウスイベントなどはその上のコンテナなどで処理するため単純に描画が早くできればいい。

超ざっくりいうとGrahics.DrawRectangleとかDrawLine,FillEllipseなどの描画が高速にできればいい。

624 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:57:30 ]
ふと新しいLet's noteの仕様を見ていたら
導入済みソフトウェアのところにSilverlightの文字が。
club.panasonic.jp/mall/mylets/open/s/spec.html

MSが入れさせているのかな?
なにはともあれ、デフォルトで入って普及していくのはうれしいね。

625 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 00:12:48 ]
ようやく秋モデルが発表か。
先週はどこにも情報がなかったわ。

626 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 00:15:45 ]
冬モデルかw

627 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 06:31:50 ]
いまさらレッツって誰が買うの?


628 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 06:53:44 ]
>>627
君は知らないんだろうがLet's NoteはノートPCじゃ売れ線なんだよ。
上から目線がかっこいいと思ってたらそれは間違いだよ。
ただの痛い人w

629 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 06:57:08 ]
前ならいざ知らず、今だとレッツの利点とかもだいぶ薄れてないか?
特に高すぎ。



630 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 07:36:01 ]
液晶がクズすぎる。
Rのファンレスまでが華。昨今のは買う価値ゼロ。

631 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 09:10:57 ]
モノは悪いが売れ筋って何ら矛盾はないだろ

632 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 12:26:31 ]
個人のPC覗くと意外に高い割合でSilverlight入ってるよなあ

633 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:09:35 ]
DataGridの行ヘッダって、
1行目:AAA
2行目:BBB
って出来たりしますか?

めっちゃ悩んでます・・・・。

634 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:14:07 ]
テンプレート作ればどうにでもなる
msdn.microsoft.com/ja-jp/library/cc189093%28VS.95%29.aspx

635 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:16:03 ]
間違えた
>>634も参考になるけどこっち
msdn.microsoft.com/ja-jp/library/cc278066%28VS.95%29.aspx

636 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:35:26 ]
さんくす。
この書き込みが終わったら見てみます。

やー、しかし全然わからんです。
次のプロジェクトでひょっとしたらSilverLight使うかもしれないんで調査してるんですが、
まとまった資料はMSDNぐらいしかネットには転がってないみたいですね。

WPF未経験でSLやろうとしてるんですが、正直しんどい。
SL使わない可能性もあるので、本買うのもシャクだし・・・(しかも2の本しかないし)。
でもXAMLいまいちピンとこないや。
本買うしかないのかー。


637 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 23:58:32 ]
>>636
WPF未経験の俺が3週間くらいで使えたから頑張れ。
英語の資料とサンプルコードは腐るほど落ちてるから楽。
ビデオ解説も分かりやすい。

一応日本語のチュートリアルもある
ttp://silverlight.net/learn/international/

638 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 00:08:17 ]
本ぐらい時給換算したら安いものだろ

639 名前:636 mailto:sage [2009/10/01(木) 02:16:33 ]
>>637
ありがとうございます!
こちらも見てみます!

>>638
何がお勧めですかね?
Amazonではどの本も評価低いみたいなので・・・。
XAMLの構文の基礎が1から詳しく載ってる本があれば良いのですけれど。



640 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 07:32:22 ]
Blend評価版を使って、出てきたXAMLを読めば良い。

641 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 08:57:50 ]
俺的にはEssential.WPF
でももう洋書とかでもっと良いのでてそうだなー

642 名前:デフォルトの名無しさん [2009/10/01(木) 09:06:25 ]
XAMLの理解にはこれっぽちも役に立たないけど「Silverlightで開発するデータ駆動アプリケーション」は良書。
でも翻訳が下手(これはかなり下手な部類じゃないかと思う)で読みづらいのが残念。

643 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:39:51 ]
Winアプリの作成経験が豊富だと、その分頭をやわらかくして挑む必要があると思う。
あまり凝らなければいいけど、ちょっと凝ったことしだすとあっちこっちでゴツンゴツン壁に当たります。

私が一番最初に引っかかったのは、Canvasにコントロール配置するときに、Width、Heightはあるのに、
Left、Topが無かったこと。(Blend未使用)
?が頭の中駆け巡りましたよ。ありえね〜だろと。

今でも何で Canvas.Topと書かないといけないのかは不明です。
Winアプリなら、Top、Leftで親コントロールに対する位置ってことなのに・・・。
同じでいいじゃん。

644 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 00:39:38 ]
Gridに配置する時、Top,Leftなんてプロパティは要りません

645 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:03:26 ]
値が無効になればいいだけです。
例えばテキストボックスの ScrollBarsの設定が Multilineの値によって
有効無効になるように。

646 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:06:44 ]
>>644
特定の条件のときに不要になるプロパティは元から不要?
頭おかしいんじゃねーのか?

647 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:07:59 ]
添付プロパティの話?コンテナによって子に追加されるプロパティ
だからだよ。

>>644 がいっているように「子を座標指定するコンテナ」な Canvas
だから Top, Left が必要なんであって Grid なら Row, Column、
DockPanel なら Dock とコンテナによって子に必要なプロパティが
変わる。つまりコンテナが A だったら子にこのプロパティが必要と
いった子に持たすべきだけどその内容はコンテナの種類に依存する
プロパティ。

から Container.PropertyName で子に指定できるコンテナ依存な
プロパティを作っただけ。

648 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:23:01 ]
新しいPanelを作って、それ専用のプロパティが必要になる場合もあるしね。

649 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:27:12 ]
それって実装はどうなってるん?
文字列キーでのPropertyBagのようなもの?




650 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 02:01:22 ]
文字通り添付プロパティを実装してみれば想像つくだろ。
スニペット(C#)は propa で出るから読んでみれ。

>>646
なんという態度。

651 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 09:17:17 ]
>650
やはりそういう実装か・・・
コンテナ側が持つ方がスマートそうだが。添付プロパティのやり方はどうも好きになれん。

652 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 10:19:14 ]
>コンテナ側が持つ方がスマート
コードで書く場合はね。
多分XAMLで書く都合上の導入なんじゃねぇかなぁ>添付プロパティ

653 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 10:25:41 ]
まぁ、回りくどい感じはするね

654 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 11:44:44 ]
2Dゲームの移動処理を実装する場合、
Canvas.LeftProperty(TopProperty)をSetValueするのと、
オブジェクト毎にTranslateTransform作っておいて、
それのXとYいじるのではどちらがいいんだろう?

655 名前:デフォルトの名無しさん [2009/10/02(金) 12:00:26 ]
Silverlightと通常の.Net製Windowsアプリで画面更新などを伴わない内部処理での
処理速度を比較してみたら4倍も差が出るんだけど、こんなもん?

こんなもんだとしても、なんでこんなに差が出るんだろう?

656 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 13:02:57 ]
内部処理なんていう何とでも取れるあいまいな書き方をしてる時点で
マトモな議論する気無いだろお前。

657 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 22:07:14 ]
>>654
MatrixTransform一本でいいじゃん
平行移動も回転も拡大縮小も統一して扱える

658 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 07:51:29 ]
>>654
オレだったらベンチとってみて、速い方使う。
リアルタイム系&重いゲームなら。
↑はとにかく速度優先で作っていかないと、時間的な壁に
当たったとたんに面倒なことになる。

659 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 09:58:37 ]
>>657
ほう、そんなものもあったのか。
ちょっと試してみる。

>>658
とりあえず400x300のCanvas内で幅、高さ20のEllipse2000個くらい移動を試してみたら、
SetValue 13FPS前後
TranslateTransform 16FPS前後
という結果に。
微妙にTransform使った方が早かった。



660 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 15:18:21 ]
MatrixTransform使ったら10FPS以下に落ちた。
回転とか使わないなら、TranslateTransformでいいかもしらん。

661 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 15:21:31 ]
>>651
遅レスやけど…添付プロパティはことさら複雑っていうわけで
はない。依存プロパティのほんのおまけみたいなものだから。
依存プロパティは同期機構でどうせまとめたほうがいいものやし
もうちょい広い(UI専用とかそんなんではない)概念やしな。

というかコンテナに持たす、コンテナが特化することの中で
よくある「子ごとに属性をつける」のを汎化したのが添付プロパティ
であってやね、概念的にはコンテナが持っているようなもの。
別立て(別Dictionary)にするとまた同期がどうとか階層構造が
破壊される、増えるとか色々複雑化したり切り離せない面が
あるわけでやね・・・。

この辺の話をしだすと System.ComponentModel ではどうだった
とかややこしくなっていくので以下略

662 名前:655 [2009/10/03(土) 20:25:12 ]
DataContractJsonSerializerがSilverlightだと糞遅い。
たかが2万件、500KB程度のデータを逆シリアライズするのに5秒かかるとか
ちょっと使い物にならん。C#だと1秒で返ってくるというのに。

JsonObject使えば倍程度には速くなるけど、それでも遅い。


663 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 20:27:37 ]
ブラウザで差がでないもんなの?

664 名前:655 mailto:sage [2009/10/03(土) 20:46:48 ]
>>662
> C#だと1秒で返ってくるというのに。

この表現変だわw
通常の(.NET Framework for Silverlightでない).NET Frameworkだと1秒で返ってくる。
ややこしい。

665 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 00:25:47 ]
>661
んー歴史は知らんがあの実装は型付きできれいに実装が出来ないんでKeyValueにしてたたっこんじゃいましたっていうことだとしかおもえん。

666 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 10:26:11 ]
バインディングの都合だろ
プロパティのハンドルみたいなものがあったほうが便利だから

667 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 18:13:47 ]
【ネット】検索市場で「Bing」のシェアが初めて減少、Baiduの伸長が影響か[09/10/05]
ttp://anchorage.2ch.net/test/read.cgi/bizplus/1254756679/


668 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 18:19:24 ]
コピペ君って馬鹿だな

669 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 18:24:19 ]
>「Flash vs. HTML5」という構図がはっきりと見え始めたぞ、と
>ttp://satoshi.blogs.com/life/2009/10/flash-vs-html5.html
>そんなこんなで、パソコン側でこれほど有利な立場にありながら、
>スマートフォンの世界では土俵際に追いつめられた感のあるAdobe。
>WebKitという戦略兵器を軸に手をがっちりと手を組んだGoogleとApple。
>思いっきり出遅れてしまったがOS・ブラウザーのシェアと資金力だけは誰にも負けないMicrosoft。
>この戦いは目が離せない。



670 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 18:25:51 ]
>Windows Mobileに「全力投球」を決めたMicrosoftの厳しい戦い
>ttp://satoshi.blogs.com/life/2009/09/windows-mobile.html
1. OSが時代遅れなこと
2. ブラウザーが時代遅れ
3. 何をするのにも時間がかかること
4. ビジネスモデルが違いすぎること
5. Google Android

671 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 20:44:56 ]
他スレで既出。ネタが古すぎだろw

672 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 12:32:41 ]
モバイル用SLってH264のハードウェア再生支援利用できるんかな

673 名前:デフォルトの名無しさん [2009/10/08(木) 17:00:12 ]
つ [参考にドゾ]

>現実に最も使える.NETのバージョンはどれ?
>ttp://www.atmarkit.co.jp/fdotnet/chushin/opinion_dotnetversion/opinion_dotnetversion.html
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
・.NET 1.0 → 絶対使わない方がいい
・.NET 1.1 → 使わない方がいい
・.NET 2.0 → 現時点ではベスト
・.NET 3.0 → 特別な理由があれば使ってもよい
・.NET 3.5 → 使ってもよい
・.NET 4.0 → 数年後にはベストになるかも

・Visual Studio .NET 2002 → 絶対使わない方がいい
・Visual Studio .NET 2003 → 使わない方がいい
・Visual Studio 2005 → 使ってもよい
・Visual Studio 2008 → 現時点ではベスト
・Visual Studio 2010 → 近い将来、ベストになるかも


674 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 01:19:20 ]
今更LINQなしで書いてられねぇ

675 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 01:40:34 ]
3.5がベストだよな

676 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 02:03:56 ]
少なくともラムダ式無しなんてちょっと耐えがたい

677 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 02:32:06 ]
いや、ラムダ式関係ないから

678 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 02:38:44 ]
ラムダ式関係あるだろ

679 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 02:47:48 ]
いや、ラムダ式はC#3.0の機能だから.NET 2.0ターゲットでも使える。つまり関係ない
Func<>やAction<>が使いたかったら自分で用意する必要があるのと、式木(Expression<>)は使えないので、ラムダ式の全ての機能が使えるってわけじゃないけどね。



680 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 06:54:01 ]
関係あるじゃない・・・。
なんでないっていいきるんだ。


681 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 08:10:54 ]
Func相当なもの自前で実装して(というかでる前から相当するもの作ってた)、高階関数としてラムダ式多用してるが3.5はいらんな。
LINQもだれかがWhereとか2.0用に実装してるのあったのでそれつかってる。

682 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 08:44:16 ]
これとSLの関係ってどうよ?

>Google WaveがHTML5ブラウザーへのシフトを加速する
>ttp://satoshi.blogs.com/life/2009/10/end-of-ie-era.html
IEが他のブラウザー(Safari/Firefox/Chrome/Opera)と比べてHTML5やCSS3のサポートに関して大きく遅れている
そもそもIEの進化のスピードが(というかMicrosoftから出る製品すべての進化のスピードが)遅すぎる
にもかかわらずIEのシェアが大きいため、業界全体の足を引っ張っている


683 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 08:49:48 ]
文句あるなら使わなきゃいいんじゃね(´・ω・`)

684 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 09:16:46 ]
>>682
なんか、空気的に、
MS技術 VS その他勢 の一環になってる気がする。
MS技術推進派で HTML5 支持してる人見たことない。
HTML+JavaScriptでリッチなウェブページ構築とかマジ勘弁して欲しい。

685 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 09:36:13 ]
>>682
Linuxを筆頭にした勢力って、ノンプロ学生技術者や学者たちの実験台じゃねーかw
人柱と違って民間企業のMSは成熟見込みのある技術だけをだな(ry

686 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 09:48:27 ]
Silverlight VS HTML5 VS Flashだろ。

開発者的にはSilverlightでやりたいな・・・

687 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 09:51:04 ]
>>684
MSとgoogleがyahooに共闘を仕掛ける構図

688 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 10:40:55 ]
>>682
そもそもHTML5ってまだ正式に決まってないものだし、それに対応してないからって
文句を言うのもおかしいと思うけどね。

個人的にはウェブアプリ云々よりも、今は何でもかんでもdivを使っている部分に
articleやnavで明確に意味を持たせられる点に期待しているので、さっさとHTML5が
普及して欲しいが。

689 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 12:17:27 ]
お前ら釣られてスレ違いの話するなよ



690 名前:デフォルトの名無しさん [2009/10/09(金) 12:53:30 ]
質問させて下さい。

<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.25*"/>
<ColumnDefinition Width="0.75*"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Column="0">
<TextBlock x:Name="text_a" Margin="5"/>
<TextBlock x:Name="text_b" Margin="5"/>
</StackPanel>
<TextBlock x:Name="text_c" Margin="5"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>

このXAMLのtext_a, text_b, text_cにコードからアクセスするにはどうしたらいいんでしょうか?

691 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 20:54:49 ]
無理っていうか使い方が間違ってる
バインディングを使う

692 名前:デフォルトの名無しさん [2009/10/10(土) 00:46:36 ]
Linqって微妙じゃね?
どのぐらいまで最適化や柔軟性を求めるというのかな。
やっぱSQLとプログラミング言語は別だよ


693 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 00:54:34 ]
LINQ to Objectsはコレクション操作の手先の道具として普通に使うだろ
特にSilverlightでは配列やリストの機能でLINQと被ってるものは軒並み削られてるから使わざるを得ない

694 名前:デフォルトの名無しさん [2009/10/10(土) 01:04:18 ]
LINQ to Objectsまだ普通ではないだろうよ。
MSは昔からデータアクセス系の技術をいろいろ開発してるけど、
SQL以上の柔軟性のあるものを作れていないと思う。

695 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 01:05:37 ]
まあ、データソースによらず共通のインターフェースでアクセスできるところとか、
言語に組み込まれてるからインテリセンスのサポート受けられるとことか、
LINQ の意義はでかいよ。

696 名前:デフォルトの名無しさん [2009/10/10(土) 01:07:14 ]
生産性を求めるとLinqは良いソリューションなのかもね。
効率を求めるとまだまだな印象ではあるんだよなぁ

697 名前:デフォルトの名無しさん [2009/10/10(土) 01:08:00 ]
あ、効率=実行効率ね

698 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 02:00:51 ]
LINQで書いて遅いならプロファイル取ってみて、実際にボトルネックになってる個所を改善すればいい。
LINQは個別スレがあるんで、続きはそっちへどうぞ

699 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 02:38:54 ]
実行効率でも Expression Tree のポテンシャルが
普通に高いと考えられて色々試されてるし。

生まれて大してたってないのを忘れちゃいけない



700 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 02:40:20 ]
リンクの冒険

701 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 04:08:55 ]
>>700
ちょっとおまえ体育館裏にこい

702 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 10:09:56 ]
1スレに1回は出てるけど、少なくとも LINQ to Object の実行効率は
foreach とか直接書くのに比べて悪くても10%くらいしか効率落ちない。

その程度のロスなら、クリティカルになってるとこ以外は放置でOK。
最初は気にせず LINQ で書いて、プロファイリングしてから1部書きなおすだけ。

703 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 10:22:09 ]
var names = items.Where(item => item.IsEnabled).Select(item => item.Name).ToArray();
クエリ式は大袈裟かもしれないけどこういうのは積極的に使うべきだろ
ループで回すより遥かに短いし一目で意図がわかる

704 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 10:33:14 ]
やっぱりこういうのはインテンショナルプログラミングとかで複数言語をシームレスに共存出来るべきだよな-
LINQよくできてるけど無理にC#に落としてる感も。

705 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 10:36:17 ]
LINQ で重要なのは標準クエリ演算子(メソッド形式の方)を決めたことだと思うし、
ちゃんと C# 以外も意識してるでしょ。


706 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 14:19:20 ]
C# 3.0以降の記述力はかなり素晴らしいと思うね。
書いているときの気分の良さは、日本生まれで流行のRなんとかに全然負けてない。

707 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 15:17:31 ]
別に俺はC++でもActionScriptでも気分いいけどね

708 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 15:29:32 ]
>>707
ないない、それはないw

709 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 17:07:24 ]
>>703
おれにはわからん
だれか解説してください



710 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 17:17:03 ]
>>709
var list = new List<string>();
foreach (var it in items){
if (item.IsEnabled) list.Add(it.Name);
}
var names = list.ToArray();


711 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 17:23:21 ]
>>710
惚れた

item => item.IsEnabled や item => item.Name
って
item.IsEnabled や item.Name
だけじゃだめなもんかね
こんな書き方する理由はなーに?

712 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 17:38:05 ]
駄目
後者の書き方では意味が全く変わってしまう

713 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 17:45:33 ]
>>711
item=>を省略する書き方も用意されている
これをLINQ(リンク)と呼ぶ

var names = from item in items where item.IsEnabled select item.Name;

714 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 17:54:02 ]
クエリ式

715 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 18:07:25 ]
だからLINQは専用スレがあると(ry
pc12.2ch.net/test/read.cgi/tech/1202568694/

>>713
クエリ構文(Query syntax)>>713とメソッド構文(Method syntax)>>703で、どちらもLINQだろ。
"これをLINQ(リンク)と呼ぶ"なんて言うと誤解されるぞw

>>711
ラムダ式について調べるといい

716 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 19:35:39 ]
ダウンロードしようとサイトへ行くと、アドオンがうんたらこんたらって出てIEが強制終了させられてしまいます
どうしたら良いでしょうか?

717 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 19:40:34 ]
>>713
馬鹿かおまえは。
両方ともLINQだ。

718 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 20:04:08 ]
環境も書かずに答えを御所望のようだ
・・・書いたところで必ず答えがでるわけでもないけど。
IEのバージョン古いとか?

719 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 20:16:19 ]
>>717
お前頭がおかしいんじゃないか?



720 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 20:25:15 ]
LINQっていうのはコード中にクエリを書けるようにすることに関連して
周辺のライブラリもクエリ式や拡張メソッドやラムダ式などの言語拡張もひっくるめたコンセプトだ
「これがLINQ」なんてものは存在しない

721 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 20:30:19 ]
スレ違い
LINQスレでやってくれ

722 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 22:59:17 ]
>>682のURLを見て誰かは分かったので、おまえが言うなよな、と思いつつ
そのブログを見に行ったら、1行目から言い訳しててワロタ。

723 名前:655 [2009/10/11(日) 15:40:21 ]
ユーザーコントロールもしくはカスタムコントロールをデータバインディング対応にする方法について
解説してあるサイトって無いでしょうか?

ヘルプではとっかかりが無くてさっぱりです。

724 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 20:42:06 ]
本買え 本

725 名前:デフォルトの名無しさん [2009/10/12(月) 02:01:11 ]
MSは.NETの出始めのころにASP.NETのPetShopのような
模範になるようなアプリを作って配るべきだ。

意外とそういうの作りかたとかは参考にしているんだよな・・・


726 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 02:04:19 ]
データバインディングとか、さっぱりぱり。

727 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 09:08:20 ]
他のプログラム言語に慣れてると、どうもLINQは何か気持ち悪いな






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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