Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   progressbar, InitUnits, SplashScreen (https://www.delphipraxis.net/153826-progressbar-initunits-splashscreen.html)

Mschmidt 17. Aug 2010 16:17

progressbar, InitUnits, SplashScreen
 
Hi z'sammen,
Fachfrage an die Fachmänner- und Frauen; wenn man eine Delphi-Anwendung startet wird ja allerhand vor dem eigentlichen Quellcode
durchgeführt. Ich bräuchte ein Denkanstoß wie ich in einem Splashscreen das anzeige,
was die IDE beim starten der App in den Meldungen auch anzeigt. Also welche Lib geladen wird u.s.w.
Hat wer eine Idee? (Lösung nehme ich auch :-) )
Ist da der Ansatz bei _startExe() und InitUnits möglich?

cherio
MSchmidt

Bummi 17. Aug 2010 16:47

AW: progressbar, InitUnits, SplashScreen
 
Delphi-Quellcode:
program Project3;

uses
  Forms,Windows,
  Unit5 in 'Unit5.pas' {Form5},
  Unit6 in 'Unit6.pas' {Splash};

{$R *.res}

begin
  Application.Initialize;
  Splash :=Tsplash.Create(Application);
  Splash.Show;
{nur zur Demo hier, kann auch in Deinem Mainform, Datenmodul oder sonstwo passieren
}
  Sleep(2000);
  Splash.Free;



  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm5, Form5);
  Application.Run;
end.

Mschmidt 17. Aug 2010 17:00

AW: progressbar, InitUnits, SplashScreen
 
Liste der Anhänge anzeigen (Anzahl: 1)
das Splashscreen ist nicht das Problem, vielleicht hab ich mich falch ausgedrückt.
Das Problem ist zu erfahren, was die Anwendung eigentlich beim start tut - das will ich
in der Splashscreen anzeigen.
siehe Anlage - das was dort angezeigt wird soll meine Anwendung auch zeigen.
:-mschmidt

Daniela.S 17. Aug 2010 17:35

AW: progressbar, InitUnits, SplashScreen
 
Du könntest eine Art Log basteln, so dass du zwischen deinen Funktionen immer wieder den aktuellen Fortschritt in den SplashScreen in eine TStringList schreibst. Anders wird das Delphi wohl auch nicht machen.

Delphi-Quellcode:
  // tu irgendwas
  ShowProgress( 'es tut irgendwas' );
  // tut schon wieder was
  ShowProgress( 'und schon wieder' );

Mschmidt 17. Aug 2010 17:56

AW: progressbar, InitUnits, SplashScreen
 
Zitat:

Zitat von Daniela.S (Beitrag 1042860)
Du könntest eine Art Log basteln, so dass du zwischen deinen Funktionen immer wieder den aktuellen Fortschritt in den SplashScreen in eine TStringList schreibst. Anders wird das Delphi wohl auch nicht machen.

Delphi-Quellcode:
  // tu irgendwas
  ShowProgress( 'es tut irgendwas' );
  // tut schon wieder was
  ShowProgress( 'und schon wieder' );

nun ja - da ist das Problem - was tut was? Schau dir mal das Log an, was ich oben als Screen gepostet habe. Woher bekomme ich das?
:-mschmidt

Daniela.S 17. Aug 2010 18:28

AW: progressbar, InitUnits, SplashScreen
 
Also ich sitz jetzt nicht vor 'nem Windows Computer um nachzusehen, aber vielleicht hilft dir die ToolHelp32 weiter.

Im speziellen:
Delphi-Quellcode:
  CreateToolhelp32Snapshot()
  Process32First()
  Process32Next()
  Module32First()
  Module32Next()
  EnumProcesses()
  EnumProcessModules()
  GetModuleFileNameExA()

p80286 18. Aug 2010 17:35

AW: progressbar, InitUnits, SplashScreen
 
Delphi-Quellcode:
begin
  {--- hier werden die Units initialisiert ----------- }
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  {--- hier nach ini-Datei suchen ---------------------}
  Application.Run;
end.
Wenn Du etwas anzeigen willst, dann brauchst Du ein Form, und zu dem Zeitpunkt ist das meiste eigentlich schon gelaufen.
Du könntest natürlich nach einer Ini-Datei suchen,Dich in eine DB einloggen etc.
Das kannst Du dann problemlos ausgeben.

Gruß
K-H

Mschmidt 19. Aug 2010 19:23

AW: progressbar, InitUnits, SplashScreen
 
vielen Dank für die antworten. Leider hilft das alles nicht weiter....
ich werde mich mal mit dem ToolHelp32 Api rumärgern. Leider hat das Teil ja keine Callback Routine in die man sich reinhängen könnte,
und ständig Screenshots machen und vergleichen klingt irgentwie durch die brust ins linke Auge :?.
cherio
Mschmidt


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz