问题可能很好笑,但是我确实不会!顶的有分!不够再加(COM+方面的)

                            
我想做一件事情:   
  做一个COM+,它有一个方法,返回一个对象,这个对象本身又有一些方法。  
  我是这么写的(当然,不对)  
   
  type  
      TCSDN   =   class(TMtsAutoObject,   ICSDN)  
      protected  
          function   GenerateReturnValue:   ReturnValue;   safecall;   //我想返回一个TReturnValue类型的东西,不知道对不对  
      end;  
   
      TReturnValue   =   class(TMtsAutoObject,   IReturnValue)  
      protected  
          Val:String;  
          procedure   setvalue(const   inputvalue:   WideString);   safecall;  
          function   getvalue:   WideString;   safecall;  
      end;  
   
  implementation  
   
  uses   ComServ;  
   
  function   TCSDN.GenerateReturnValue:   ReturnValue;  
  begin  
      Result:=TReturnValue.create;    
  end;  
   
  procedure   TReturnValue.setvalue(const   inputvalue:   WideString);  
  begin  
      val:=inputvalue;  
  end;  
   
  function   TReturnValue.getvalue:   WideString;  
  begin  
      Result:=val;  
  end;  
   
  现在的问题有几个,第一,我在TypeLibrary里设定GenerateReturnValue的返回值的时候应该怎么设置。我是尝试了很多类型,全说需要指针类型,可是我也是写的指针呀。  
  第二,象我这么些也不知道对还是不对   。我是在ASP里调用的,大概就想做下面的事情  
  <%  
  Set   MyObject   =   Server.CreateObject("CSDN.CSDN")  
  set   M   =   MyObject.GenerateReturnValue()  
  call   M.setvalue(10)  
  Response.Write   M.getvalue()  
  %>  
  真希望最后写出来一个10。可是根本运行不了。  
  我就不明白了,在Delphi里编译没有问题,但是不让保存,一保存就说需要指针类型。可是也能生成dll文件。为什么呢?  
   
  说的可能有点乱,我的基础也不好,现在这不是向大家虚心的请教吗,请各位帮我理理头绪,谢谢。

查看回复