Wahrscheinlich hängt das damit zusammen das ich meinen Code im onPaint des Forms aufrufe. Leider weiß ich nicht wo ich es sonst hinpacken soll. Im onCreate und onShow gehts nicht.
Hier der Code den ich aufrufen möchte:
Delphi-Quellcode:
var
config: Tinifile;
begin
lblInitalize.Caption:='Überprüfe Einstellungenverzeichnis...';
lblInitalize.Update;
sleep(1000);
//checks the config file
if FileExists(GetShellFolder(CSIDL_APPDATA)+'\Web4Dev\config.ini')=false then
//create config directory and copy default config file if it does not exist
begin
ForceDirectories(GetShellFolder(CSIDL_APPDATA)+'\Web4Dev\');
CopyFile(pchar(extractfilepath(application.ExeName)+'config.bak'),pchar(GetShellFolder(CSIDL_APPDATA)+'\Web4Dev\config.ini'), true);
end;
pgbInitalize.Position:=pgbInitalize.Position+20;
lblInitalize.Caption:='Lade Einstellungen...';
lblInitalize.Update;
sleep(1000);
//load configuration
config:=Tinifile.Create(GetShellFolder(CSIDL_APPDATA)+'\Web4Dev\config.ini');
frmManager.language:=config.ReadString('Application','Language','English');
pgbInitalize.Position:=pgbInitalize.Position+20;
lblInitalize.Caption:='Lade Sprache...';
lblInitalize.Update;
sleep(1000);
//load language
if frmManager.LoadLanguage(frmManager.language)=false then
begin
if frmManager.language<>'English' then
begin
//if it does failure, load english language
if frmManager.LoadLanguage('English')=false then
begin
//if english language cannot be loaded display a message and exit the program
if MessageDLG('Die Sprachdatei konnte nicht geladen werden!'+#13#10+'Klicken Sie auf OK um die Anwendung zu beenden!',mtError, [mbOK],0)=mrOK then
begin
config.Free;
Application.Terminate;
end
end
end
else
begin
//if english language cannot be loaded display a message and exit the program
if MessageDLG('Die Sprachdatei konnte nicht geladen werden!'+#13#10+'Klicken Sie auf OK um die Anwendung zu beenden!',mtError, [mbOK],0)=mrOK then
begin
config.Free;
Application.Terminate;
end
end
end
else
begin
pgbInitalize.Position:=pgbInitalize.Position+30;
lblInitalize.caption:='Abschließende Schritte...';
lblInitalize.Update;
sleep(1000);
end;
//free memory
config.Free;
pgbInitalize.Position:=pgbInitalize.Position+10;
lblInitalize.caption:='Fertig!';
lblInitalize.Update;
sleep(1000);
frmManager.Show;
frmSplash.Close;
Wo kann ich das noch hinpacken. Ist für einen Splash-Screen