度々恐れ入ります。
いくつかフォームがあるのですが、ただ単にフォームを切り替えた状況でフォーム右上の×をクリックすると正常に終了します。(正常に終了と言うのはWindowsタスクマネージャーのプロセスにない状態を言っています)
たまたまテキストファイルとのやり取りを行いその後×をクリックすると見た目は終了しているのですが上記のプロセスを見たらプログラムが裏?で起動しているのを見つけてしまいました。
以前から問題なくコンパイルできるはずなのにexeが作られなかった旨のメッセージが出ていたのはこれが原因でした。
どのような操作をしてもForm1の終了ボタンをクリックすれば正常に終了します。テキストファイルとのアクセスは
var
fn:string;
filelist:tstringlist;
i:integer;
begin
filelist:=tstringlist.Create;
try
fn:='c:\試作2\tenpo.txt';
filelist.LoadFromFile(fn);
for i:= 1 to 9 do
tedit(form2.findcomponent('labelededit'+inttostr(i))).text:=filelist[i-1];
finally
filelist.free;
end;
end;
このようにしております。
長くなって申し訳ありません。この現象の防止に関し分かる方いらっしゃいましたらご指導いただけますでしょうか。宜しくお願い申し上げます。
Halbow です。
> どのような操作をしてもForm1の終了ボタンをクリックすれば正常に終了します。
どのような状況がわかりませんが、デフォルトでは X ボタンを押してアプリが
終了するのは MainForm である Form1 だけです。他のフォームでは、たんに
そのフォームが見えなくなるだけです。ですから、わたしがみるところ正常に
動作しているようですが。ゆきおさんが勘違いしているのではないでしょうか。
Halbowさんこんばんは。
確かにForm1以外を表示する時にForm1を非表示にしていました。
試しにForm1以外を表示する時にForm1を表示させたままにして
最終的にForm1の×をクリックしたら問題なく終了しました。
>ゆきおさんが勘違いしているのではないでしょうか
すみません。完全に勘違いしておりました。
Form1は小さいフォームなので他のフォームを表示しても隠れるので
そのまま表示する事にしました。
どうもすみません。ありがとうございました。
ツイート | ![]() |