hibara / MarkDownSharpEditor

Markdown text ediotr for Windows and multi bytes character
http://hibara.org/software/markdownsharpeditor/
141 stars 98 forks source link

終了時のエラー #4

Closed faruru closed 11 years ago

faruru commented 11 years ago

Win8 pro 32bitで使用しています。 MarkDownSharpEditor ver.1.1.3.0 をウィンドウ右上のボタンやメニューから終了させるとき 以下の様なエラーがでて終了させることができません。

値を Null にすることはできません。 パラ―メーター名: value

Just-In-Time (JIT) デバッグを呼び出すための詳細については、 ダイアログ ボックスではなく、このメッセージの最後を参照してください。

\ 例外テキスト ** System.ArgumentNullException: 値を Null にすることはできません。 パラメーター名: value 場所 Microsoft.Win32.RegistryKey.SetValue(String name, Object value, RegistryValueKind valueKind) 場所 Microsoft.Win32.RegistryKey.SetValue(String name, Object value) 場所 MarkDownSharpEditor.Form1.WebBrowserClickSoundON() 場所 MarkDownSharpEditor.Form1.Form1_FormClosing(Object sender, FormClosingEventArgs e) 場所 System.Windows.Forms.Form.OnFormClosing(FormClosingEventArgs e) 場所 System.Windows.Forms.Form.WmClose(Message& m) 場所 System.Windows.Forms.Form.WndProc(Message& m) 場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

\ 読み込まれたアセンブリ ** mscorlib アセンブリ バージョン: 4.0.0.0 Win32 バージョン: 4.0.30319.18010 built by: FX45RTMGDR

コードベース: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

MarkDownSharpEditor アセンブリ バージョン: 1.1.3.0 Win32 バージョン: 1.1.3.0

コードベース: file:///C:/Program%20Files2/MarkDownSharpEditor/MarkDownSharpEditor.exe

System.Windows.Forms アセンブリ バージョン: 4.0.0.0 Win32 バージョン: 4.0.30319.18022 built by: FX45RTMGDR

コードベース: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System.Drawing アセンブリ バージョン: 4.0.0.0 Win32 バージョン: 4.0.30319.18022 built by: FX45RTMGDR

コードベース: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System アセンブリ バージョン: 4.0.0.0 Win32 バージョン: 4.0.30319.18022 built by: FX45RTMGDR

コードベース: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

mscorlib.resources アセンブリ バージョン: 4.0.0.0 Win32 バージョン: 4.0.30319.18010 built by: FX45RTMGDR

コードベース: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ja_b77a5c561934e089/mscorlib.resources.dll

System.Windows.Forms.resources アセンブリ バージョン: 4.0.0.0 Win32 バージョン: 4.0.30319.18010 built by: FX45RTMGDR

コードベース: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll

System.Xml アセンブリ バージョン: 4.0.0.0 Win32 バージョン: 4.0.30319.17929 built by: FX45RTMREL

コードベース: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

System.Configuration アセンブリ バージョン: 4.0.0.0 Win32 バージョン: 4.0.30319.17929 built by: FX45RTMREL

コードベース: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

Microsoft.GeneratedCode アセンブリ バージョン: 1.0.0.0 Win32 バージョン: 4.0.30319.17929 built by: FX45RTMREL

コードベース: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

Accessibility アセンブリ バージョン: 4.0.0.0 Win32 バージョン: 4.0.30319.17929 built by: FX45RTMREL

コードベース: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

System.Core アセンブリ バージョン: 4.0.0.0 Win32 バージョン: 4.0.30319.17929 built by: FX45RTMREL

コードベース: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

alg0002 commented 11 years ago

Form1.cs の 3215行目近辺を以下のように変更したら、とりあえず回避できました。

    key = Microsoft.Win32.Registry.CurrentUser;
    key = key.OpenSubKey(keyCurrent, true);
    key.SetValue(null, data);
    key.Close();

if (data != null)
{
    key = Microsoft.Win32.Registry.CurrentUser;
    key = key.OpenSubKey(keyCurrent, true);
    key.SetValue(null, data);
    key.Close();
}

時間ができたら、もう少し検証の上でpull requestしようかと思います。

hibara commented 11 years ago

ご報告ありがとうございます。 すみません、なかなかごっついエラーを吐いていますね・・・

この箇所はそもそも、ブラウザプレビューウィンドウが更新する度にカチカチ言っていた音を消すために入れたのですが、レジストリを一時的にせよ変更するのもどうかなあ、と思っていました。

少しちがうアプローチで修正しておきたいと思います。 次版で対応いたします。