Announcement

Collapse
No announcement yet.

laden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • laden

    wie bekomme ich das hin, dass wenn mein programm gestartet wird, dass wärend es gelanden wird mein splash-screen kommt und sich dann nach fertigem laden schließt?

  • #2
    2 Programme schreiben

    Das 1. zeigt den Screen und lädt dann das 2.

    Es geht nun mal nicht anders! Erst muß das Programm geladen werden. Beim laden werden alle Speicheradressen angepasst. Mit "Zwischendurch was andres machen" ist da schwer realisierbar.

    Etwas anderes ist es, wenn das Programm schon vollständig geladen ist und noch eine Weile brauch um zu starten (DB-Zugriffe o.a.). Dann kann man natürlich vorher einen Screen anzeigen.

    Andere Programme starten

    Winexec

    Shellexecute

    Christia
    Christian

    Comment


    • #3
      Wie würde ich das machen wenn es so wäre || Etwas anderes ist es, wenn das Programm schon vollständig geladen ist und noch eine Weile brauch um zu starten (DB-Zugriffe o.a.). Dann kann man natürlich vorher einen Screen anzeigen. || <br><br>
      Dank

      Comment


      • #4
        <pre>
        Hallo Maik,

        für Splashscreens gibt es mehrere Ansätze:

        Hier einer davon.

        anwendung.cpp

        WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
        {
        ...

        try
        {
        Application->Initialize();
        SplashScreen = new TSplashScreen(Application);
        SplashScreen->Show();
        SplashScreen->Update();
        ...

        splashscreen.cpp

        Properties BorderStyle = bsNone, Position = poScreenCenter, FormStyle = fsStayOnTop
        In das Formular legst du ein Image, das mit alClient ausgerichtet wird und einen
        Timer den du auf 1000 einstells.

        void __fastcall TSplashScreen::SplashTimerTimer(TObject *Sender)
        {
        if(MainWindow->Visible) {
        SplashTimer->Enabled = false;
        Hide();
        Free();
        }
        }

        Das Formular darf natürlich nicht in der Liste 'Automatisch erzeugen' des Projektes erscheinen.
        Wenn deine 'zeitaufwendigen' Sachen, wie das Öffnen der Datenbank etc. in der MainWindow::OnFormShow
        Funktion erledigt werden, wird der Splashscreen als erstes geöffnet und bleibt über den gesamten Zeitraum
        offen, bis das Hauptfenster in seiner ganzen Pracht erscheint.

        Viel Spass,

        Heiko

        </pre&gt

        Comment

        Working...
        X