Bild einfügen



  • Hi,

    ich habe ein Bild mit dem Objectinspector in mein Formular eingefügt bekomme es da auch angezeigt. Doch nach dem übersetzen ist das Bild nicht zu sehen.
    DasProblem liegt daran das das Bild bevor das eigentliche Form gezeigt wird auf einem eigenen Form 2 Sekunden zu sehen sein soll. Ich verwende folgenden Code

    [cpp]
    try
    {
    Application->Initialize();
    Application->CreateForm(__classid(TFormMain), &FormMain);
    Application->CreateForm(__classid(TFStartScreen), &FStartScreen);
    Sleep(2000);
    FStartScreen->Close();
    FormMain->Show();
    Application->Run();
    }

    MfG



  • Hallo

    Offenbar versuchst du einen Splashscreen anzuzeigen. Dazu gibts hier eine Anleitung.

    bis bald
    akari



  • Danke

    hatte das ProcessMessages vergessen

    MfG



  • Hallo,

    Eine Frage meinerseits zum Thema Splashscreen:

    Ich habe versucht, einen Splashscreen nach oben genannter Anleitung in ein bestehendes Project (MDI-Anwendung) einzubinden.

    Der Splashscreen an sich wird angezeigt und nach der Initialisierung aller Forms auch wieder geschlossen.
    Das Problem ist jedoch, das nach dem Beenden der Application zwar der Task (im Taskmanager) beendet ist, jedoch der Prozess (im Taskmanager) weiterhin besteht.

    Wo kann bzw. muß ich in diesem Fall den Fehler suchen ????

    Udo11



  • ich würde sagen beim beenden deines programmes?
    gibst du dynamisch geholten speicher wieder frei?

    kannst ja mal etwas code zeigen?



  • Hallo,

    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    {
    	Application->Initialize();
    
      if(AnsiString(GetCommandLine()).UpperCase().Pos("/NOSPLASH") == 0)
      {
        splash = new Tsplash(NULL);
        splash -> Show();
        Application -> ProcessMessages();
      }
      Application->CreateForm(__classid(TMainForm), &MainForm);
      Application->ShowMainForm = false;
      Application->Run();
      return 0;
    }
    

    Das ist der Code von project.cpp
    Und hier die Freigabe der SplashForm in MainForm->FormActivate():

    if (splash != NULL)
      {
        delete splash;
        splash = NULL;
      }
    

    Ich hatte diesen Code zur Freigabe des Forms auch schon in MainForm->Show() --> der gleiche Fehler

    Udo11


Anmelden zum Antworten