今晩は。
先日はありがとうございました。
自作のプログラムで動きがおかしい点を修正しようしたら、
OnCreateでcloseしようとしても消せないことが分かりました。
消す方法をわかる方がいましたら、教えてください。
よろしくお願いします。
フォームが一瞬表示されても良いなら
postmessage(Self.Handle, WM_CLOSE, 0, 0);
をOnCreateの中で実行すれば良いかと。
一瞬でも表示されるのが嫌なら、そもそもCreate処理が走る前に判定なりなんなりでフォームが作成されないようにした方が良いでしょう
ありがとうございました。
実は、メインフォームでパスワード入力をさせているのですが、
正しいパスワードを入力しないとパスワード入力フォームが2回表示されたり、
パスワード入力をOnActivatedeでさせるとパスワード入力後に実行される文が
OncreateとOnActivateの間に実行されて、エラー表示が出るなどの変な動きが
出て、OnCreate内でフォームを消したかったのです。
これも10年以上続いていた問題で、まあ、パスワードは1回入れたら終わりなので、
無視していました。XE5ではプログラムの変更が全然なくて、このような些細な
疑問点を質問をすることができました。
今回の質問は無理かなと思っていましたが、解答をいただき、感謝しております。
パスワード入力しないとプログラム使用させないというか、終了するとか言う向きだと。
プロジェクトソースのApplication.Initializeの後で、パスワード入力のフォームを表示してそこでOKにならなかったらそのまま終了。OKならメインフォームの表示に持って行くとかすると良いかもですね。
正直なところ、私は若いころアセンブラでプログラムしていまして、
そこを退職後は独学で、BAS3,N88BASIC,VB,Pascal,Delphiとプログラムを作ってきました。
で、何というか、専門用語には疎いのです。
Application.Initializeの後って、なにそれ??状態です。
また、今のところあと2つ質問をさせていただきますが、よろしくお願いします。
あなたが若い頃に何をしていただとか、
あなたが専門用語に疎いかどうかなんてことは
ここで質問に答える人にとってははっきり言ってどうでもいいことです。
少なくともあなたはApplication.Initializeというキーワードを得ました。
それが分からないなら、まずご自身でそれを調べてみるべきでは?
知らないことを何でもオウム返しにするのは文字通り鳥でもできます。
答える人も無限の暇を持て余してるわけではないのですから、
調べれば分かることをいちいち聞くより、
調べても分からないことを聞いたほうがお互いにとって効率が良いはずです。
せっかく目の前にPCとインターネットという道具があるのですから、
これを活用しない手はないでしょう?
それでも分からないことがあれば質問するようにしませんか。
すみません。
一応は調べているのですが、分からないことばかりなんです。
Application.Initializeについてもここで検索かけましたが、
何が何だか??です。
まあ、よろしくお願いします。
Delphiの世界は、このQ&Aだけじゃないんですし、
「Application.Initialize」 「delphi」の二つのキーワードで、Googleさんに
お尋ねするだけで、
ここ http://hp.vector.co.jp/authors/VA015730/delphi/bydelphi.html とか
ここ http://www.ipc.hokusei.ac.jp/~z00206/program/item/soft-prog-struct.htm とか
が、ひっかかりますし、どんな場所に記載されているものかわかると思いますが、
それで、どの辺が、どのようにわからないのでしょうか?
はい、私もあの後検索しまして、見つけています。
わざわざ、ありがとうございました。
今は、次の質問に移ってますので、
richeditの問題のほうも見ていただけませんか??
ツイート | ![]() |