我想編一個小型廣告表單,讓我可以輕鬆地將其實施到我的其他任何項目中。 廣告表單應顯示在我的真實項目/應用程序啓動之前。在Mainform之前添加表單
有些要求必須得到滿足:
- 易於實施任何項目,沒有任何麻煩 - 添加表單/單位和幾乎所有負責剩下的照顧。
- 我的應用程序的MainForm的(Application.MainForm)應在運行時後,我的廣告形式來創建已成功關閉(或要求已得到滿足)
- 只增加1個單位/形式應該是落實不夠
我迄今取得的進展是:
- 我創造出隱藏在空的主窗體(Application.MainForm)
- 然後,我創建一個MODALFORM,這是實際的廣告表格 - 右側modalresult,免費我的我們lcomescreen並進入「主應用程序」
- 我需要從我的項目中刪除所有自動創建表單
- 我打開一些參數我的項目的源文件中的程序,包括應用程序的主窗口(源)
- 不幸的是我要補充各單位/表格的項目,而不只是一個
這是我到目前爲止(遞歸路徑問題?):
項目來源:
program MyTestProgram;
uses
Vcl.Forms,
Windows,
uMainWindow in 'uMainWindow.pas' {Form1},
uEmptyForm in '..\AdProject\uEmptyForm.pas' {AdEmptyMainForm},
uWelcomeScreen in '..\AdProject\uWelcomeScreen.pas' {WelcomeScreen}; // shouldn't be here
{$R *.res}
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.Run;
LoadAdWindow('Title of my app', uMainWindow.TForm1, uMainWindow.Form1);
end.
EmptyForm單位:
unit uEmptyForm;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
type
TAdEmptyMainForm = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
AdEmptyMainForm: TAdEmptyMainForm;
procedure LoadAdWindow (Appname: string; InstanceClass: TComponentClass; var Reference);
implementation
{$R *.dfm}
uses
uWelcomeScreen; // Has to be added to the project, otherwise it doesn't detect the unit in the same path as this unit
procedure LoadAdWindow (Appname: string; InstanceClass: TComponentClass; var Reference);
begin
Application.MainFormOnTaskbar := True;
Application.ShowMainForm := False;
Application.Title := Appname;
Application.CreateForm(TAdEmptyMainForm, AdEmptyMainForm);
with uWelcomeScreen.TWelcomeScreen.Create(Application.MainForm) do
begin
Caption := Appname;
if ShowModal <> 1337 then ExitProcess(0);
Free;
end;
Application.CreateForm(InstanceClass, Reference);
end;
end.
歡迎屏幕成功後,應用程序關閉。 這是否正確嗎? 任何幫助表示讚賞!
您可以在創建主窗體時調用該廣告窗體。 – William
@William爲什麼我之前沒有想到這個? * facepalm *編輯:附加單位呢?我想保持表格/單元分開,但我需要將所有表格添加到我的項目中,而不是僅爲1 –
爲什麼?您可以在其他項目上添加廣告表單並執行相同的邏輯 – William