エラーについて

解決


L  2005-12-16 02:57:15  No: 19266

メインのフォームとは別にフォームを作成し、
これをTMainMenuで作成したメニュー項目をクリックしたら、
もう一つのフォームが表示させるという事をしたいのですが、
フォームを作成して実行してみると、メインじゃない方だけが実行されて
メインの方が実行されないのですがどーすればよいか
教えてもらえないでしょうか?

『オブジェクト参照がオブジェクト インスタンスに設定されていません』

というエラーもでているので、原因はこれでしょーか?


是美世菓子  2005-12-16 06:04:05  No: 19267

意味わからんです。

「メインフォームが表示されない」のですか?
実行っていうのは、「画面に出てくる」という意味ですか?
「エラーもでている」のは、どこに出てくるのですか?
コンパイル時に出るエラーですか?
実行したときに、「OK」ボタンも表示されるような画面で表示されるのですか?


L  2005-12-17 00:34:58  No: 19268

すみませんでした。

で、そうです。
実行したときに、メインフレームが表示されず、
もう一つのフレームだけが
表示されてる状態になるという事が伝えたかったんですけれど。
ちなみにエラーは、コンパイルエラーではなく、
もう一つのフレームを編集しようとプロジェクトインスペクタを
ダブルクリックして選択したら、
『オブジェクト参照がオブジェクト インスタンスに設定されていません』
というメッセージダイアログが出てくるのですが。

>>実行したときに、「OK」ボタンも表示されるような画面で表示されるのですか?

これはどういう意味なのでしょうか?すみません。


通りすがお  2005-12-17 17:54:45  No: 19269

プロジェクト→プロジェクトオプション→フォームタブのメインフォームを
最初に表示させたいフォームにしてみてはいかがでしょうか。
外していたらごめんなさい_(._.)_


是美世菓子  2005-12-17 21:00:11  No: 19270

ん?フォームという表現がフレームに変わってますが?
フォームとフレームでは、話がまた違ってきますよ・・・と、つっこんでみる。

さて、メインフォームで表示されるフォームが違う件は、通りすがお さんのレスで回答の通りです。

また、プロジェクトオプションで、いずれのフォームも自動生成の対象にしておけば、
(通常は、フォームを作った時点で、自動生成の対象です)
Form1(Unit1.pas,メインフォーム), Form2(Unit2.pas) があり、Form1からForm2を表示するには、
Unit1のUses にUnit2を追加し、メニューのクリックイベントで
Form2.Show ないし Form2.ShowModal で表示できます。

Form2を自動生成しないのであれば、以下のように、動的に生成することも可能です。

var
  frm2: TForm2;
begin
  frm2:=TForm2.Create(Self);
  frm2.ShowModal;
  frm2.Free;
end;

フォームを自動生成にしておくと、上記のようなインスタンスの作成と破棄を自動でやってくれます。

> もう一つのフレームを編集しようとプロジェクトインスペクタを
> ダブルクリックして選択したら、
> 『オブジェクト参照がオブジェクト インスタンスに設定されていません』
「プロジェクトインスペクタ」がわかりません?
「オブジェクトインスペクタ」のことでしょうか?
また、再現させることもできません。
「オブジェクトインスペクタ」であれば、プロパティタブ側でしょうか?
それともイベントタブ側でしょうか?

> >>実行したときに、「OK」ボタンも表示されるような画面で表示されるのですか?
> ↑
> これはどういう意味なのでしょうか?すみません。
いわゆるエラーメッセージの意味です。
勝手にLさんのボキャブラリーレベルを推し量り、専門用語を削ったあげく、わかりにくくなってしまいました。
すいません。


L  2005-12-21 23:51:31  No: 19271

皆さんのおかげで出来ました!!
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加