解决了立刻给分,指出我的错误 提供正确思路的 也一样给分。下面是部分关键代码 主要是用一个TShockwaveFlash控件来生成略缩图。
第一次做 这种DLL~
没有窗体 我直接在uses 中引入ShockwaveFlashObjects_TLB 
然后
swf1: TShockwaveFlash;
之后的情况是 一加入swf1.xxx 的时候 在ASP也面就会提示:错误 '8000ffff' 
必须加载一个 dll。 /dll.asp,行10 -------------------------
DLL在编译过程中无错误。ASP代码:
<% 
Set D = Server.CreateObject("swftojpg.MakeJpg")
D.Make 120,120,100,"e:\web\cc.swf","e:\web\"
response.Write D.Echo
Set D = nothing 
%>-------------------------
unit Unit1;{$WARN SYMBOL_PLATFORM OFF}interfaceuses
  ComObj, ActiveX, AspTlb, swftojpg_TLB, StdVcl, Windows, Graphics, JPEG, ShockwaveFlashObjects_TLB;type
  TMakeJpg = class(TASPObject, IMakeJpg)
  swf1: TShockwaveFlash;
procedure TMakeJpg.Make(w, h, z: SYSINT; const fp, rp: WideString);
var
 bitmap:tbitmap;
 jpeg: TJPEGImage;
begin
      swf1.Movie:=fp;
      swf1.Width:=w; //定义宽
      swf1.Height:=h;//定义高
      swf1.SetFocus; //载入新的宽高
      swf1.GotoFrame(z);//跳转到指定桢
      swf1.Stop;//暂停播放
   bitmap:=TBitmap.Create;//创建BMP文件并保存
   try
      Bitmap.Width:=swf1.Width;
      Bitmap.Height:=swf1.Height;
      swf1.PaintTo(bitmap.Canvas.handle,0,0);
     jpeg:= TJPEGImage.Create;
     try
     jpeg.Assign(Bitmap);
     jpeg.compress;
     jpeg.SaveToFile(rp+'a.jpg');
     finally
     jpeg.free;
     end;
     //jpg操作完毕.
   finally
      Bitmap.Free;//创建完毕
   end;
      Grp := rp+'a.jpg');;
end;function TMakeJpg.Get_Echo: WideString;
begin
    Get_Echo:=Grp;
end;

解决方案 »

  1.   

    现在只确定了是 swf1 这个控件出了问题
    只要把所有swf1. 相关内容删除就可以了
    但我又必须要用 在DLL里应该怎么用 控件阿。
      

  2.   

    新建了一个窗体 把 swf1 放到那个窗体里
    然后 form2.swf1... 还是还以前一样的错误
      

  3.   

    你的DLL注册了吗?我说的是那个Flash控件比如 regsvr32 Flash控件
      

  4.   

    一般是你相关的文件,没放在 web  那个目录,访问权限造成,就我知道