データベースを定期的にバックアップするアプリを作りたいのですが、なかなかうまくいかないので教えてください。
・起動はスタートアップにショートカットを置いて起動する。
・デフォルトでフォームは存在しないか不可視で作っておく。
・タスクトレイにフォームを呼び出す記述を置く。
というものを作りたいのです。
タスクトレイにアイコンを置く方法は分かったのですが、フォームのCreateに依存していて、生成しないとタスクトレイに表示できません。
できればデータモジュールのような不可視状態をデフォルトにしておきたいのです。
普通のプロジェクトでいいのか、サービスアプリで作った方がいいのかも分からないので、設計の方向性だけでも教えて貰えないでしょうか。
おねがいします。
こんな感じでしょうか。
◆ プロジェクトソースを編集して
Application.Initialize; の後に
Application.ShowMainForm := False; を挿入する
プロジェクトソースは次のようになります。
begin
Application.Initialize;
Application.ShowMainForm := False;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
◆ メインフォーム(Form1)の Visible が False になっていることを
確認しておく
これで、TrayIconを配置してみてください。
タスクトレイからFormを呼び出すことが必要な場合は
Form2を作成して、開くと、コードが楽だと思いますよ
ありがとうございます。
起動についてはうまくいきました。
ただ、フォームの終了でアプリも終了するので、この解決方法を探していたんですが、わからなかったのでもう少し教えてください。
メインフォームの終了≠アプリの終了にするにはどうすればいいのでしょうか?
Fusaさんのおっしゃっているように、
メインフォーム(Form1)は不可視の状態のままにしておいて、
設計時に作成しておいたサブフォーム(Form2)を表示する方法はいかがですか?
var
frm: TForm2;
begin
frm :=TForm2.Create(Self);
try
frm.Show;
finally
frm.Release;
end;
end;
どうもデータモジュールで起動することにこだわっていたのが悪かったみたいです。
(;´д`)
フォーム2個を使うことで対応できるようになりました。
ツイート | ![]() |