俺是这样生成Form地(大概地):
var AIcon; TIcon;
Begin
   AIcon:= TIcon.Create;
   AIcon.LoadFromFile(.......);//路径和图片名都是对的
   Application.CreateForm(TAboutFrm,AboutFrm);
   AboutFrm.Icon:= AIcon;
   AIcon.Free;
   AboutFrm.ShowModal;End;为什么在运行时不能出现Icon???有其他方法吗?

解决方案 »

  1.   

    AIcon在程序关闭时释放试试!
      

  2.   

    这样试试看.
    procedure TForm1.Button1Click(Sender: TObject);
    var
      AIcon : THandle;
    Begin
      AIcon := LoadIcon(0,IDI_WinLogo);
      Self.Icon.Handle := AIcon;
    end;
      

  3.   

    我用你的程序试过了,可以正常加Icon啊,
    会不会是你的Icon文件有问题?
      

  4.   

    这样也可以, 没事啊!
    procedure TForm1.Button2Click(Sender: TObject);
    var
      AIcon: TIcon;
    Begin
       AIcon:= TIcon.Create;
       AIcon.LoadFromFile('D:\1.ico');
       Application.CreateForm(TForm2,Form2);
       Form2.Icon:= AIcon;
       AIcon.Free;
       Form2.ShowModal;end;
      

  5.   

    agree to Wnyu(创业 -- 第一个目标是开一家软件公司) 
    procedure TForm1.FormCreate(Sender: TObject);
    var
      AIcon : THandle;
    Begin
      AIcon := LoadIcon(0,IDI_WinLogo);
      Self.Icon.Handle := AIcon;
    end;
      

  6.   

    终于明白了.
    把AboutBox的BorderStyle设为bsSizeable.
    图标就出来了.
      

  7.   

    还是不行,在设计状态下,AboutFrm有个Windows旗子。什么意思??
      

  8.   

    To Wnyu: 好了 ,问题解决了,这是什么原因??呵呵,谢谢。。过会俺结分。
      

  9.   

    问题就在于这儿:BorderStyle中有些值好象不能用Icon.呵呵,再次谢谢大家。
    结贴!!!