Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TAnimate läuft nicht (https://www.delphipraxis.net/30994-tanimate-laeuft-nicht.html)

Jens Schumann 2. Okt 2004 09:43


TAnimate läuft nicht
 
Hallo ,
mit folgendem Code kopiere ich innerhalb einer Schleife Dateien.
Delphi-Quellcode:
 
        Animate1.Active:=True;
        Animate1.Active:=True;
        [...] Ab hier kommt die Schleife
        FillChar(aSHFOS, Sizeof(aSHFOS), #0);
        FillChar(szFrom, Sizeof(szFrom), #0);
        FillChar(szTo, Sizeof(szTo), #0);
        StrPCopy(szFrom, SourceFilename);
        StrPCopy(szTo, DestFilename);
        With aSHFOS do
        begin
          Wnd := 0;
          wFunc := FO_COPY;
          pFrom := @szFrom;
          pTo := @szTo;
          fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
          fAnyOperationsAborted := False;
        end;
        ShFileOperation(aSHFOS);
        [...]
        Animate1.Active:=False;
        Animate1.Active:=False;
Jetz möchte ich während dieser Zeit das aviCopyFiles AVI in TAnimate anzeigen.
Dummerweise läuft das Ding nicht los. Anstatt mit ShFileOperation habe ich es auch schon mit
API Funktion CopyFile versucht. Klappt auch nicht.

In der Hilfe steht, dass wenn die Timer property von TAnimate False ist (und das ist sie)
dass das AVI in einem eigenen Thread abgespielt wird. D.h. aber dass es eigentlich völlig egal sein
dürfte, ob das Form Rechenzeit abgibt oder nicht. Deshalb habe ich ein kleines Testprogramm
geschrieben, dass TAnimate startet und in einer Endlosschleife läuft.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Animate1.Active:=True;
  While True do;
end;
Was soll ich sagen. Hier läuft das aviCopyFiles völlig problemlos.

Hat es etwa etwas mit dem Kopieren von Dateien zu tun?

alcaeus 2. Okt 2004 09:46

Re: TAnimate läuft nicht
 
Hi jens,

Zitat:

Zitat von Jens Schumann
Delphi-Quellcode:
Animate1.Active:=True;
Animate1.Active:=False;

ich weiß ja nicht was du in der Schleife machst, aber wenn du Active der TAnimate auf False setzt, dann ist es kein Wunder dass die Animation nicht dargestellt wird.

Greetz
alcaeus

Jens Schumann 2. Okt 2004 09:49

Re: TAnimate läuft nicht
 
Zitat:

Zitat von alcaeus
Hi jens,

Zitat:

Zitat von Jens Schumann
Delphi-Quellcode:
Animate1.Active:=True;
Animate1.Active:=False;

ich weiß ja nicht was du in der Schleife machst, aber wenn du Active der TAnimate auf False setzt, dann ist es kein Wunder dass die Animation nicht dargestellt wird.

Greetz
alcaeus

Vielen Dank für den Hinweis. Ich habe mich hier im Forum verschrieben.
Natürlich steht im Source:
Delphi-Quellcode:
Animate1.Active:=True;
Animate1.Active:=True;
Schnell oben noch geändert

DP-Maintenance 2. Okt 2004 09:52

DP-Maintenance
 
Dieses Thema wurde von "Luckie" von "Windows API" nach "VCL-Komponenten und Controls" verschoben.
Kein Windows API Problem.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 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