Einzelnen Beitrag anzeigen

Sillium

Registriert seit: 9. Jul 2005
24 Beiträge
 
#1

Form aus DLL. Problem mit JVWaitGradient!

  Alt 22. Aug 2005, 20:37
Hallo,

nachdem ich jetzt schon den halben Tag in verschiedenen Delphi-Foren nach Lösungen gesucht hab frag ich jetzt hier mal nach ner Lösung.

Also mein Problem:

Ich habe mir eine Dll erstell, in der alle meine standart funktionen untergebracht sind. Die funktionieren alle auch ganz fein!!

Eine dieser Funktionen ist etwas Zeitaufwendiger und um diese Zeit zu überbrücken oder zu zeigen, dass was passiert, erstelle ich in der DLL eine Splash-Form mit der Jedi-Komponete JVWaitGradient (quasi eine ProgressBar in der immer ein Balken hin und her läuft) und nachdem die funktion zuende ist wird auf der vorm ein Panel erzeugt, dass darazf hinweist, dass diese fertig ist (kleine Spielerei!!). Die Form, Komponente und Panel wird auch alles sauber angezeigt. Allerdings sollte wie gesagt ein Balken in meinem JVWaitGradient hin und herlaufen, doch der Balken steht und macht nix!

Erst mal die Frage:

WARUM???

Und jetzt ein bißchen Code:

Code:
  .
  .
  .
  .
Splash2:=TSplash2.Create(Application);
      JvWaitingGradient2:=TJvWaitingGradient.Create(nil);
      with JvWaitingGradient2 do
      begin
        Parent:=Splash2.JvPanel1;
        Left := 1;
        Top := 1;
        Width := 248;
        Height := 18;
        Active := True;
        Align := alClient;
        Color := 4479052;
        GradientWidth := 150;
        EndColor := 7391439;
        ParentColor := False;
        AlwaysRestart := True;
        StartColor := 4958149;
      end;
      Splash2.JVLabel1.Font.Size := 10;
      Splash2.JVLabel1.Caption := 'Installing ' + name + '...';
      Splash2.Show;
      Splash2.Update;
             .
             .
      //Mach was!
             .
             .
      JvPanel:=TJvPanel.Create(nil);
      with JvPanel do
        begin
          Parent:=Splash2;
          Caption:='Installing done!';
          Width:=250;
          Height:=50;
          Left:=25;
          Top:=5;
          Font.Color := clWhite;
          Font.Size :=14;
          Font.Style := [fsBold];
          Flatbordercolor := $00556F60;
          Flatborder:= true;
          Color:= $00556F60;
      end;
      Splash2.Update;
      sleep(1000);
      Splash2.Close;
      Splash2.Release;
Ich hab grad festgestellt, dass ich das auch alles in einer extra prozedur machen kann, aber des ist ja erstmal wurst!

Hoffe mein Problem ist klar geworden!!

Danke soweit!
  Mit Zitat antworten Zitat