LinkLabelで、エラーが起こる – プログラミング – Home

LinkLabelで、エラーが起こる
 
通知
すべてクリア

[解決済] LinkLabelで、エラーが起こる


ヨッシー
 ヨッシー
(@ヨッシー)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

はじめまして。
LinkLabelをクリックすると、特定のURLを開くプログラムを作ってみまたんですが、実行さ
せると、フォームが表示される前にエラーになってしまいます。

実際作ったプログラムコードは、以下のとおりです。
(linkLabel1.Textには、 http://www.yahoo.co.jpが入っています。)
private void linkLabel1_LinkClicked(object sender,
 System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
LinkLabel lbl = (LinkLabel)sender;
process1.StartInfo.FileName = lbl.Text;
process1.Start();
}

エラー内容は、以下のとおりです。
'System.Security.SecurityException' のハンドルされていない例外が Label.exe で発生
しました。
追加情報 : 要求が失敗しました。

分かる方がいましたら、ご教授ください。


引用未解決
トピックタグ
ZEBRA
 ZEBRA
(@ZEBRA)
ゲスト
結合: 22年前
投稿: 10
 

process1って何ですか?

もう少し具体的に状況を教えていただけると、回答する人にとっては答えやすくなると
思いますよ。


返信引用
ヨッシー
 ヨッシー
(@ヨッシー)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

えっと、フォームには、以下のコンポーネントを貼り付けました。
private System.Windows.Forms.LinkLabel linkLabel1;
private System.Diagnostics.Process process1;

linkLabel1のクリックイベントで、上記のようにプログラムコードをいれると、
http://www.yahoo.co.jpのホームページが開くと思うのですが、コンパイルして
実行すると、フォームが表示される前に、エラーになってしまうのです。
ためしに、プログラムコードをコメントにしてみたら、それでもエラーが起こって
しまいました。
つまり、linkLabel1とprocess1をフォームに貼り付けただけで、エラーになってしまうので
す。


返信引用
ZEBRA
 ZEBRA
(@ZEBRA)
ゲスト
結合: 22年前
投稿: 10
 

私も同じコードを試してみましたが、ちゃんと動作して、Yahooのページにジャンプしま
した。
他に原因があるのではないでしょうか?
新しくプロジェクトを作り直してもうまくいかないでしょうか?

とりあえずデバッガでソースを追っかけてみて、例外が発生しているところに、
try{}
catch(System.Security.SecurityException err){}

で例外を捕まえてみてはどうでしょうか?

捕まえたerrのプロパティをチェックすると何かわかるかもしれませんよ。
ちなみにSecurityExceptionのクラス仕様は以下の通りです。

パブリック プロパティ
①HelpLink:例外に関連付けられているヘルプ ファイルへのリンクを取得または設定し
ます。
②InnerException:現在の例外を発生させた Exception インスタンスを取得します。
③Message :現在の例外を説明するメッセージを取得します。
④PermissionState: 例外をスローしたアクセス許可の状態を取得します。
⑤PermissionType :例外をスローしたアクセス許可の種類を取得します。
⑥Source :エラーの原因となったアプリケーションまたはオブジェクトの名前を取得ま
たは設定します。
⑦StackTrace:現在の例外がスローされた時にコール スタックにあったフレームの文字
列形式を取得します。
⑧TargetSite :現在の例外をスローするメソッドを取得します。


返信引用
ヨッシー
 ヨッシー
(@ヨッシー)
ゲスト
結合: 22年前
投稿: 4
Topic starter  

セキュリティーポリシーの設定が間違っていました。
スタート→管理ツール→Microsoft .NET Framework Configurationで、「ランタイムセキュ
リティーポリシー」を右クリックして、「すべてリセット」を選択したら、ちゃんと動きまし
た。

'System.Security.SecurityException' のハンドルされていない例外が Label.exe で発生
しました。
というのは、Label.exeのセキュリティ上の権限を持ってないという意味だったんですね。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました