如以下的过程:
procedure TLoginDlg.ClearCombox(cbBox: TComboBox);
var
  I: Integer;
begin
  for I := 0 to (cbBox.Items.Count - 1) do
    cbBox.Items.Objects[I].Free;
  cbBox.Clear;
end;
在新建方法时输入参数的数据类型,是varaint吗?

解决方案 »

  1.   

    Sender : TObject 或 TComboBox
      

  2.   

    Sender : TObject ,是什么意思?要如何定义,能举个例子吗?
      

  3.   

    用Type Library可以这样?靠,学习一下:)
      

  4.   

    是Type Library中无法实现,还是没有人懂???
      

  5.   

    COM没办法传递类的,我也想传递类,可是做不到,只能传数据,或者接口
      

  6.   

    那不是此类型的控制只能放在前台啦!比如要把combobox中内容与代码进行互转,该如何解决呢?
      

  7.   

    也不是不可能的哈, 找找 IStringList 对像, 这个可能用于传送字符串参数(TComboBox.Items)可以说任何对像都是可以用 COM 传递, 前提是你得写个这种对像的接口和编组反编组接口, 我也不会...尝试过,不太容易(IStringList就是这样一个例子)
      

  8.   

    楼主的想法和在中间层搞个ShowMessage("Hello");
    差不多,中间层出来这些东西是不是很有意思啊。
    首先中间层是用来处理业务的地方,这种
    for I := 0 to (cbBox.Items.Count - 1) do
        cbBox.Items.Objects[I].Free;
      cbBox.Clear;
    东东应该放到客户段(不知道楼主怎么看?)。
    在许多三层的书中都是这样讲的
    尽量使COM+的事物晚一点,能在客户段处理的尽量在客户段处理。中间层的参数可以是对象例如:
     TBillTypeInfo = class(TMtsAutoObject, IBillTypeInfo)
      protected
        procedure Method1(const SS: TBaseBill); safecall;这里的TBaseBill就是一个类,但是TBaseBill是你在同一个COM+组建里的
    另一个接口的实现类。也就是楼主可以利用类工厂建立N个接口,那么在你的
    参数设置的时候下拉框中就可以看到这些接口的实现类可以让你做为参数设置。