一般情况下,添加了gif图片是可以动的,但是我做了一个登陆界面以后,就只显示静态了,求指导。下面是登陆界面的程序program Project1;uses
  Forms,
  Windows,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};{$R *.res}begin
  Application.Initialize;
  Form1:=TForm1.Create(Form1);
  Form1.Show;
  Form1.Update;  Application.CreateForm(TForm2, Form2);
  Sleep(3000);
  Form1.Hide;
  Form1.Free;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

解决方案 »

  1.   

    是不是启动界面的sleep导致的啊?
    可是启动界面必须要停留一段时间啊、、、
    肿么办?
      

  2.   


    uses
      Forms,Windows,  Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2};{$R *.res}procedure MySleep(dwMilliseconds: DWORD);
    var
      i: Integer;
      dwMsSplit: Dword;
    begin
      dwMsSplit := dwMilliseconds div 50;
      for i := 0 to dwMsSplit do
      begin
        Sleep(50);
        Application.ProcessMessages;
      end;
    end;begin
      Application.Initialize;
      Form1:=TForm1.Create(Form1);
      Form1.Show;
      Form1.Update;  Application.CreateForm(TForm2, Form2);
      MySleep(3000);
      Form1.Hide;
      Form1.Free;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.
    方法笨了点,希望能帮到你。
      

  3.   

    O(∩_∩)O谢谢,不过可不可以跟我解释一下
    procedure MySleep(dwMilliseconds: DWORD);
    var
      i: Integer;
      dwMsSplit: Dword;
    begin
      dwMsSplit := dwMilliseconds div 50;
      for i := 0 to dwMsSplit do
      begin
        Sleep(50);
        Application.ProcessMessages;
      end;
    end;这段是什么意思啊?????
    我不是编程专业的,还是个菜鸟、、、
    求指导。
    还有,如果我用timer的话,该怎么做呢?
      

  4.   

    procedure MySleep(dwMilliseconds: DWORD);
    var
      i: Integer;
      dwMsSplit: Dword;
    begin
      dwMsSplit := dwMilliseconds div 50;
      for i := 0 to dwMsSplit do
      begin
      Sleep(50);
      Application.ProcessMessages;
      end;
    end;响应消息而已Application.ProcessMessages;
      

  5.   

    用rxlib控件的RxGIFAnimator加载后应该可以的。
      

  6.   

    前面的MySleep那种方法很好的,timer方法比这个要麻烦,如果你一定要用timer的话,可以在登陆界面中放一个timer控件,把时间定为你需要等待的时间,在ontimer事件中写this.close;然后显示的那里不能用show来显示窗口而要用 Form1.ShowModel,大致就像下面的代码:
    begin
       Application.Initialize;
       Form1:=TForm1.Create(Form1);
       Form1.ShowModel;
     
       Application.CreateForm(TForm2, Form2);
       Sleep(3000);
       Form1.Hide;
       Form1.Free;
       Application.CreateForm(TForm1, Form1);
       Application.Run;
     end.
      

  7.   

    晕,写错了,把Sleep(3000);这行删掉。应该是这样
     begin
       Application.Initialize;
       Form1:=TForm1.Create(Form1);
       Form1.ShowModel;
       
       Application.CreateForm(TForm2, Form2);
       Form1.Hide;
       Form1.Free;
       Application.CreateForm(TForm1, Form1);
       Application.Run;
      end.