2013年3月11日月曜日

Google Chrome開発版で拡張機能のポップアップが開かなくなる時の対処法

Google Chrome開発版(27.0.1430.3 dev-m)において拡張機能のポップアップウィンドウが表示されなくなるバグが発生しています。

この問題は既に報告されているので近日中には直るかと思いますが、暫定的な対処法として以下の方法をとれば回避可能です。


  1. アドレスバーに[chrome://flags/]と入力
  2. [すべてのページで GPU 合成を行う]を[既定]から[無効]にする
  3. Chromeの再起動
以上です。
このバグが修正されたらGPUを戻した方がいいのかもしれません。

2013年1月19日土曜日

プラグイン実装時にデシリアライズがうまくいかない!!

アセンブリ'Sample,Version=1.0.0.0, Culture=neutral, PublicKeyToken = null"が見つかりません


上記はC#でプラグインを実装しようとしていた際に出くわした例外です。
プラグイン自体はアプリケーションフォルダ内の[plugin]フォルダに格納されています。

そして、そのプラグインはBinaryFormatterを使用してファイルの読み書きを行う機能を持っていますが、Deserializeメソッドを呼ぶときに上記例外でこけてしまいます。

どうやら[Sample.dll]がうまくロードされないらしいんです。
ちゃんとpluginフォルダにあってSerializeメソッドはこけないのに・・・

で、調べてみるとデシリアライズが行われる前に

というイベントを登録しなければならないそうです。
で、CurrentDomain_AssemblyResolveメソッドは以下のようにしました。 メソッドの定義、イベントの登録を行えば問題なくできました。

プラグイン機能を持つアプリケーションを作成する
このページのPluginInfoクラスのコンストラクタにイベント登録、適当な個所にCurrentDomain_AssemblyResolveメソッドを書き足しました。

これで今の所問題ないようです。
何か突っ込みありましたらお待ちしてます。

2012年10月31日水曜日

教えて下さい!シリアライズで勝手に(?)ファイルサイズが増える

とても簡易的な双方向データバインドを使ったC#アプリケーションです。
自力でなんとかできるかと思ったけどギブアップです。どなたか教えて下さい。


以下は一応再現するミニマムなプロジェクト。
http://sdrv.ms/Rs4sEs

まず、D:\testフォルダを用意してもらうか、frmSubのコードにあるpathを書き換えて試してください。テストファイルの書き出し先になります。

使い方
  1. 起動してbutton1をクリックするとfrmSubがでるので適当に入力してOKでファイル保存
  2. もう1度button1をクリックして、今度は何もしないでOKを押すと書き出したファイルが数百バイト増える

どなたか何が原因か教えて下さい。。。

2012年8月18日土曜日

Officeでコントロールが無効になった!

どこまでのコントロールが影響受けているのか分からないのですが
Officeのコントロールがどうやら2012/8/17の更新で機能しなくなる場合もあるらしい。
というか機能しなくなった。

正確にいうと[MSCOMCTL.OCX]こいつの登録が解除されてしまう為に使えなくなるみたい。

命の恩人様「【チラ裏】MS12-060をあてると、MSCOMCTL.OCXの再登録が必要な場合がある
本当にありがたかったです。こんなにも早く情報出していてくれる方がいて。
あとはMSCOMCTL.OCXを再登録すれば直ったのでめでたしめでたし。

Regsvr32での注意
Vista、7使いの方はここを参考に管理者として実行してくださいね。
MSCOMCTL.OCXの場所は
64bit C:\Windows\SysWow64 (64bitOSで32bit版Officeの場合?)
32bit C:\Windows\System32
にあるはずですのでコマンドプロンプトで

regsvr32 "C:\Windows\System32\MSCOMCTL.OCX"
として実行して下さい。
以下のウィンドウが表示されたら成功したので、機能しなくなったものが使えてるはずです!




====== 以下駄文 ======
最近物書きしてないからリハビリも兼ねて


2011年12月6日火曜日

噂のオカルトメール

会社のメールに秘かに噂になってるオカルトメールが来たのでちと色々調べてみた。 
どうやら同じようなメールは結構届いてる人多いみたい。
興味ある方は[dysgo.org]で検索して下さい。
HPもあるけど、真っ白です。踏みたくないので見てないけど。


メールの内容は本文なしの件名に「418042697007」っていう数字のみ。
そして添付画像が32枚。どの画像もオカルト臭い。
全部見たい方はSugarSyncのマイアルバムからどうぞ。

では、全部ではないけど適当に画像貼りながらなんの画像か書いていきますよっと。


2011年11月8日火曜日

MVVMパターン・・・わからない・・・2


前回の記事の続きです!(日にちあいてしまったけど)

ugaya40さんが前回の記事にコメントしようとしてできなかったらしいので(今は誰でもコメントできるはず)Twitterからコピーします。

M-V-VMのMって何?に対してのご返答です。
====================
Mは、ユースケース定義書のようなものがあったとして(画面定義書はまだない)、そこから導出可能なすべてです。
TwitterクライアントでのMは、投稿するでしょうし、更新してイムラインを保持するでしょうし、
検索をするし、アカウントを取得したりするでしょう。

画面のイメージがない状態で、アプリケーションそのものの振る舞いをあらわすものです。見た目によらないアプリそのものっていうイメージですかね。よかったらこちらのスライドも読んでみてください。
「MVVMパターンが必要な理由」啓蒙用資料公開
====================
※↑ちょっとだけ修正しました。

Twitterという文字数が限られた中で教えて頂いてうれしかったです。ありがとうございます。
でも、やっぱりというかイマイチこれだけだとイメージが掴めなかったのでスライドを読みました。

MVVMパターンとは?(public)


で、このスライドを読んで&ugaya40さんに教えてもらって分かったのが
==========================
View => UI
ViewModel => Viewの状態の保持、入力値の保持、ついでに入力値の検証
Model => ビジネスドメイン
==========================
です!
Viewの状態の保持っていうのは上のスライドの25ページ前後にある例えが分かりやすいです。
画面外のチェックボックスはチェック状態を保持しないので、それに対応したプロパティを設けると。ボタンの有効、無効もプロパティにと。
状態の保持がViewModelにおける責務のメインだそうです。納得したっす。

さて、問題のModelです。
ビジネスドメインという言い方に慣れていないのでしっくりこないんですが、
要するに、機能のみを持った部分って認識で大丈夫かな?

で、例えば「(メニューから)編集 → コピー → クリップボードにコピー」という機能があった場合
~・~・~・~・~・~
編集、コピー(メニュー)はView
コピー対象を選択している場合[コピー]を有効にするのはViewModel
クリップボードにコピーをするのがModel
~・~・~・~・~・~
という具合に切り分ければいいのかな?

あれ?「選択している」ってどこで判断するんだ?
TextBoxの何かしらのイベント?・・・なのかな?

2011年11月4日金曜日

MVVMパターン・・・わからない・・・

MVVMパターンの勉強がてら
MVVMパターンの常識 ― 「M」「V」「VM」の役割とは?
↑を読んでいたわけです。

で、疑問。
「Modelって何してるの?」

=== 今の自分の認識 ====
ViewはUI。
ViewModelはUIに入力された値の検証と保持(←保持もViewModelの責務?)
Model・・・・?
======================

疑問に思ってTwitterで嘆いてみたら教えて頂きました。
複数のViewModelで共有される状態保持とか、外部プロセス呼び出し(DB、Web Requestとか)するやつという認識
(@masaru_b_clさんありがとうです。)

でも自分の知識不足なのでいまいちわからない。。。
外部プロセス呼び出しは分かります。
前半の「複数のViewModelで共有される状態保持」ってのがなんとも。。。

VとVMは1対1で、Mは複数対1になるのかな?
そうなった時の状態というと、「変更されたよー」とか??

というか、「状態」って意味を理解していないな。自分。
とりあえずコードレシピのMVVM入門(かずきさんありがとです)見てもMの中身Enumだけなんだよなぁ。。。
となると、Mって場合によってはスッカラカンになる可能性も・・・・うーん、それはないか。

コメントでMVVM教えて頂けたらうれしいです。
ここ読め!ってサイトとか、書籍もあったらあわせて教えて頂けるとうれしいです。