C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: ClipboardN‰XМbhd


(過去ログ 112 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■66526 / inTopicNo.1)  Clipboardクラスのメソッド処理が重い
  
□投稿者/ こたろー (1回)-(2013/05/01(Wed) 19:20:18)

分類:[C#] 

こんにちは
こたろーと申します。

現在、プログラムの中でコピー&ペースト機能を実現するために、
Clipboard.SetData,Clipboard.GetData,Clipboard.Clearを使用しています。

しかし、この呼び出しを連続で行うと徐々に処理が重くなり最後はフリーズ
に近い状態になり落ちる場合もあります。

なお、Clipboard.SetData,Clipboard.GetDataには、カスタム形式を指定し、
自作クラスが要素に設定されたListクラスを格納しています。

コードは、以下のようなイメージで記載しています。
---------------------------------------------------------------------------
// コピー処理
// 前回クリップボードデータのクリア
Clipboard.Clear();
// クリップボードに転送するデータを生成
List<MyClass>MyClassList = new List<MyClass>();
MyClass my = new MyClass();
MyClassList.Add(my);
// クリップボードにデータを転送
Clipboard.SetData("MyClassData", MyClassList);
---------------------------------------------------------------------------
// ペースト処理
// クリップボードからデータを取得
List<MyClass> MyClassList = Clipboard.GetData("MyClassData") as List<MyClass>;
---------------------------------------------------------------------------

どなたか問題の原因と解決方法がわかりましたら教えてください。

開発環境は以下の通りです。

・VS2012
・Windows7 64bit
・.NET Framework4.5

引用返信 編集キー/
■66528 / inTopicNo.2)  Re[1]: Clipboardクラスのメソッド処理が重い
□投稿者/ Azulean (153回)-(2013/05/01(Wed) 20:34:28)
時間的な感覚がわからないのですが、「連続して」というのはどのような間隔でしょうか?
ビジーループに匹敵するぐらい連続させているのか、数秒おきなのか、ユーザー操作ごとなのか(そうだとしてもその時間間隔・頻度は知りたいです)、そのあたりの情報も出してみませんか。


また、SetData/GetData の第 1 引数は固定の文字列ということで相違ないでしょうか。
(ここがランダムだと、ある程度の回数で頭打ちになってしまうため)
引用返信 編集キー/
■66529 / inTopicNo.3)  Re[2]: Clipboardクラスのメソッド処理が重い
□投稿者/ こたろー (2回)-(2013/05/01(Wed) 20:57:25)
No66528 (Azulean さん) に返信

Azuleanさん
以下に回答します。

> 時間的な感覚がわからないのですが、「連続して」というのはどのような間隔でしょうか?
> ビジーループに匹敵するぐらい連続させているのか、数秒おきなのか、ユーザー操作ごとなのか(そうだとしてもその時間間隔・頻度は知りたいです)、そのあたりの情報も出してみませんか。
>

実際には、ボタンの処理として実装しており、数秒毎の操作となります。



> また、SetData/GetData の第 1 引数は固定の文字列ということで相違ないでしょうか。
> (ここがランダムだと、ある程度の回数で頭打ちになってしまうため)

はい。固定の文字列となります。


引き続きよろしくお願いします。


引用返信 編集キー/
■66533 / inTopicNo.4)  Re[3]: Clipboardクラスのメソッド処理が重い
□投稿者/ Azulean (154回)-(2013/05/02(Thu) 10:01:38)
すみません、あと数点確認させてください。

前述のようなかんたんなサンプルで再現を確認できていますか?
再現できている場合、MyClass の中身も載せてください。
再現できない場合、サンプルと実際のコードの差、性質(頻度、量、List の使い方など)を推測できる材料を提供してください。


前述のようなかんたんなコードではたぶん再現できないのではないかと思っています。
実際のコードでは List<MyClass> に相当する要素がボタンを押す(クリップボードを使う)度に単調増加するとか、MyClass が非常に肥大化するとか、別途要因になるような性質のコードがあるのではないかと思っています。
引用返信 編集キー/
■66534 / inTopicNo.5)  Re[4]: Clipboardクラスのメソッド処理が重い
□投稿者/ こたろー (3回)-(2013/05/02(Thu) 10:35:42)
No66533 (Azulean さん) に返信
> すみません、あと数点確認させてください。
>
> 前述のようなかんたんなサンプルで再現を確認できていますか?
> 再現できている場合、MyClass の中身も載せてください。
> 再現できない場合、サンプルと実際のコードの差、性質(頻度、量、List の使い方など)を推測できる材料を提供してください。
>
>
> 前述のようなかんたんなコードではたぶん再現できないのではないかと思っています。
> 実際のコードでは List<MyClass> に相当する要素がボタンを押す(クリップボードを使う)度に単調増加するとか、MyClass が非常に肥大化するとか、別途要因になるような性質のコードがあるのではないかと思っています。

Azuleanさん
こんにちは
ご回答ありがとうございます。

Azuleanさんがおっしゃられるように、単純なコードでは再現性ありませんでした。
したがいまして、MyClassや関連ロジックに問題の原因可能性ありそうなので、い
まいちどコードを見直して、結果報告をいたします。


引用返信 編集キー/
■66548 / inTopicNo.6)  Re[5]: ClipboardN‰XМbhd
□投稿者/ videogoslim (1回)-(2013/05/04(Sat) 14:26:51)
videogoslim さんの Web サイト
Видео ютуб улётное http://youtu.be/knL93B57iiI
Прикольное видео секс http://youtu.be/X2sdWXysJIc
[youtube]knL93B57iiI[/youtube]
[youtube]X2sdWXysJIc[/youtube]
video youtube http://www.youtube.com/user/aeytovaresch/
Вот ещё прикольное Видео
http://www.youtube.com/watch?v=nk6H449VvEo

video Видео
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -