- 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/
- 477 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 23:16:19 ]
- っていうか、XNAと統合してくれ
- 478 名前:デフォルトの名無しさん [2009/09/10(木) 01:30:43 ]
- Print Supportってのが多いんだね。以外な感じがする。
- 479 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 07:42:04 ]
- Microsoft Expression Blend 3 + SketchFlow 試用版
www.microsoft.com/downloads/details.aspx?FamilyID=e82db5e2-7106-419e-80b0-65cce89f06bb&DisplayLang=ja
- 480 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 09:03:38 ]
- >>478
やっぱ使ってる人が、Flash 代替じゃなくて、 業務系の人のブラウザーアプリ進出なんだと思う。
- 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ってやるようだし、 大して変わらない可能性もあるかと。
|

|