(Unit1.pas)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,unit2;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure OpenSplash;
procedure ShowProgress;
procedure CloseSplash;
end;
var
Form1: TForm1;
X: Integer;
Total: Integer;
Percent: Integer;
implementation
{$R *.dfm}
procedure TForm1.OpenSplash;
begin
Label1.Caption := '';
Show;
Update;
end;
procedure TForm1.CloseSplash;
begin
Form1.Destroy;
end;
procedure TForm1.ShowProgress;
begin
Label1.caption:='';
Total := 1000;
for X := 1 to Total do
begin
Sleep(5);
Percent := (x * 100) div Total;
Label1.caption := StringOfChar('|', Percent) + IntToStr(Percent) + '%';
Label1.Repaint;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Close;
Release;
Form1 := nil;
end;
end.
(Unit2.pas)
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
memo1: TMemo;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
function Splash: TForm2;
begin
if Form2 = nil then begin
Form2 := TForm2.Create(Application);
end;
result := Form2;
end;
end.
(*.dpr)
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
begin
Application.Initialize;
Form1.OpenSplash;
Form1.ShowProgress;
Application.CreateForm(TForm1, Form1);
Form1.CloseSplash;
Application.Run;
end.
In your *.dpr, try something like this:
You shouldn't need any references to your FormUtama type.
In your project code you are doing like this:
Actually you are using methods from Form1 before creating it. This is dedicated to give problems...
Maybe this is interesting for you.
Add this code after the begin statement of the Project Source code (the .dpr file):
After the final Application.Create() and before Application.Run:
Here are the conclution
Unit 1
Unit 2
Thanks a lot for those who answer my question.