名前 題名 ▼ Harryさん > はじめまして。 > マスターさんではありませんが、比較的に得意分野ですので私が。 > > >FormShow(nil);は例外クラスEAccessViolationが発生しました。 > これは label1.Caption := Sender.ClassName; のうち、 > Sender.ClassNameの部分が結果としてnil.ClassNameになってしまうからですね。 > つまりnilを渡すこと自体は問題ないですけど、それをどう使うかで例外となります。 > > >「動けば正義」ならどっちでもいいのでしょうか。 > もちろんです。イベントハンドラと言っても、単なるメソッドに過ぎません。 > というか、もっと暴挙に出ても平気です。 > こんなことしてもOK。 > > procedure TForm1.Button1Click(Sender: TObject); > begin > Self.FormShow(TObject(PChar('Button1Clickから来ました!'))); > end; > > procedure TForm1.FormShow(Sender: TObject); > begin > if Sender=Form1 then begin > Label1.Caption:=Sender.ClassName; > end else begin > Label1.Caption:=PChar(Sender); > end; > end; > > > 以上、偉そうに解説してみました。 GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link