请给例子
ActiveX中写个过程 然后通过jsp\asp传参数到ActiveX过程中。调用ActiveX 过程。
非常感谢!

解决方案 »

  1.   

    搜索一下以往的问题很多
    跟普通的程序没什么两样,就是要在Type Library中声明函数
    然后再写实现过程
    最后注册activex
    然后在页面中
    如果是activex from 
    需要在<object>中写入 id=XXX
    然后用脚本调用
    <script lanuage=vbscript>
     xxx.过程名 "参数值1","参数值2"
    </script>
    如果是asp组件
    先建立对象:set yourObj=Server.createobject("yourActiveName.aspcomponentname")yourobj.过程名 "参数值1","参数值2"
      

  2.   

    Type Library?
    我在里面些函数
    但是调不出来
    可能是声明的位置不对
    unit ActiveFormImpl1;{$WARN SYMBOL_PLATFORM OFF}interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      ActiveX, AxCtrls, ActiveFormProj1_TLB, StdVcl, StdCtrls, WebCopy;type
      TActiveFormX = class(TActiveForm, IActiveFormX)
        WebCopy1: TWebCopy;
        Button1: TButton;
        procedure WebCopy1CopyDone(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure show(str:string);//我自己写的函数
      private
        { Private declarations }
        FEvents: IActiveFormXEvents;
        procedure ActivateEvent(Sender: TObject);
        procedure ClickEvent(Sender: TObject);
        procedure CreateEvent(Sender: TObject);
        procedure DblClickEvent(Sender: TObject);
        procedure DeactivateEvent(Sender: TObject);
        procedure DestroyEvent(Sender: TObject);
        procedure KeyPressEvent(Sender: TObject; var Key: Char);
        procedure PaintEvent(Sender: TObject);
      protected
        { Protected declarations }
        procedure DefinePropertyPages(DefinePropertyPage: TDefinePropertyPage); override;
        procedure EventSinkChanged(const EventSink: IUnknown); override;
        function Get_Active: WordBool; safecall;
        function Get_AlignDisabled: WordBool; safecall;
        function Get_AutoScroll: WordBool; safecall;
        function Get_AutoSize: WordBool; safecall;
        function Get_AxBorderStyle: TxActiveFormBorderStyle; safecall;
        function Get_Caption: WideString; safecall;
        function Get_Color: OLE_COLOR; safecall;
        function Get_Cursor: Smallint; safecall;
        function Get_DoubleBuffered: WordBool; safecall;
        function Get_DropTarget: WordBool; safecall;
        function Get_Enabled: WordBool; safecall;
        function Get_Font: IFontDisp; safecall;
        function Get_HelpFile: WideString; safecall;
        function Get_HelpKeyword: WideString; safecall;
        function Get_HelpType: TxHelpType; safecall;
        function Get_KeyPreview: WordBool; safecall;
        function Get_PixelsPerInch: Integer; safecall;
        function Get_PrintScale: TxPrintScale; safecall;
        function Get_Scaled: WordBool; safecall;
        function Get_Visible: WordBool; safecall;
        function Get_VisibleDockClientCount: Integer; safecall;
        procedure _Set_Font(var Value: IFontDisp); safecall;
        procedure Set_AutoScroll(Value: WordBool); safecall;
        procedure Set_AutoSize(Value: WordBool); safecall;
        procedure Set_AxBorderStyle(Value: TxActiveFormBorderStyle); safecall;
        procedure Set_Caption(const Value: WideString); safecall;
        procedure Set_Color(Value: OLE_COLOR); safecall;
        procedure Set_Cursor(Value: Smallint); safecall;
        procedure Set_DoubleBuffered(Value: WordBool); safecall;
        procedure Set_DropTarget(Value: WordBool); safecall;
        procedure Set_Enabled(Value: WordBool); safecall;
        procedure Set_Font(const Value: IFontDisp); safecall;
        procedure Set_HelpFile(const Value: WideString); safecall;
        procedure Set_HelpKeyword(const Value: WideString); safecall;
        procedure Set_HelpType(Value: TxHelpType); safecall;
        procedure Set_KeyPreview(Value: WordBool); safecall;
        procedure Set_PixelsPerInch(Value: Integer); safecall;
        procedure Set_PrintScale(Value: TxPrintScale); safecall;
        procedure Set_Scaled(Value: WordBool); safecall;
        procedure Set_Visible(Value: WordBool); safecall;
      public
        { Public declarations }
        procedure Initialize; override;
        procedure  copyweb(urlstr:string;targetdirstr:string);
      end;implementationuses ComObj, ComServ;{$R *.DFM}{ TActiveFormX }
    procedure TActiveFormX.show(str:string);//我写的实现过程
    begin
        ShowMessage(str);
    end;
    procedure  TActiveFormX.copyweb(urlstr:string;targetdirstr:string);
    begin
    webcopy1.items.clear;
      with webcopy1.items.add do
      begin
          url :=urlstr;
          targetdir :=targetdirstr;
      end;
      webcopy1.execute;
    end;
      

  3.   

    procedure TActiveFormX.DefinePropertyPages(DefinePropertyPage: TDefinePropertyPage);
    begin
      { Define property pages here.  Property pages are defined by calling
        DefinePropertyPage with the class id of the page.  For example,
          DefinePropertyPage(Class_ActiveFormXPage); }
    end;
    procedure TActiveFormX.EventSinkChanged(const EventSink: IUnknown);
    begin
      FEvents := EventSink as IActiveFormXEvents;
      inherited EventSinkChanged(EventSink);
    end;procedure TActiveFormX.Initialize;
    begin
      inherited Initialize;
      OnActivate := ActivateEvent;
      OnClick := ClickEvent;
      OnCreate := CreateEvent;
      OnDblClick := DblClickEvent;
      OnDeactivate := DeactivateEvent;
      OnDestroy := DestroyEvent;
      OnKeyPress := KeyPressEvent;
      OnPaint := PaintEvent;
    end;function TActiveFormX.Get_Active: WordBool;
    begin
      Result := Active;
    end;function TActiveFormX.Get_AlignDisabled: WordBool;
    begin
      Result := AlignDisabled;
    end;function TActiveFormX.Get_AutoScroll: WordBool;
    begin
      Result := AutoScroll;
    end;function TActiveFormX.Get_AutoSize: WordBool;
    begin
      Result := AutoSize;
    end;function TActiveFormX.Get_AxBorderStyle: TxActiveFormBorderStyle;
    begin
      Result := Ord(AxBorderStyle);
    end;function TActiveFormX.Get_Caption: WideString;
    begin
      Result := WideString(Caption);
    end;function TActiveFormX.Get_Color: OLE_COLOR;
    begin
      Result := OLE_COLOR(Color);
    end;function TActiveFormX.Get_Cursor: Smallint;
    begin
      Result := Smallint(Cursor);
    end;function TActiveFormX.Get_DoubleBuffered: WordBool;
    begin
      Result := DoubleBuffered;
    end;function TActiveFormX.Get_DropTarget: WordBool;
    begin
      Result := DropTarget;
    end;function TActiveFormX.Get_Enabled: WordBool;
    begin
      Result := Enabled;
    end;function TActiveFormX.Get_Font: IFontDisp;
    begin
      GetOleFont(Font, Result);
    end;function TActiveFormX.Get_HelpFile: WideString;
    begin
      Result := WideString(HelpFile);
    end;function TActiveFormX.Get_HelpKeyword: WideString;
    begin
      Result := WideString(HelpKeyword);
    end;function TActiveFormX.Get_HelpType: TxHelpType;
    begin
      Result := Ord(HelpType);
    end;function TActiveFormX.Get_KeyPreview: WordBool;
    begin
      Result := KeyPreview;
    end;function TActiveFormX.Get_PixelsPerInch: Integer;
    begin
      Result := PixelsPerInch;
    end;function TActiveFormX.Get_PrintScale: TxPrintScale;
    begin
      Result := Ord(PrintScale);
    end;function TActiveFormX.Get_Scaled: WordBool;
    begin
      Result := Scaled;
    end;function TActiveFormX.Get_Visible: WordBool;
    begin
      Result := Visible;
    end;function TActiveFormX.Get_VisibleDockClientCount: Integer;
    begin
      Result := VisibleDockClientCount;
    end;procedure TActiveFormX._Set_Font(var Value: IFontDisp);
    begin
      SetOleFont(Font, Value);
    end;procedure TActiveFormX.ActivateEvent(Sender: TObject);
    begin
      if FEvents <> nil then FEvents.OnActivate;
    end;procedure TActiveFormX.ClickEvent(Sender: TObject);
    begin
      if FEvents <> nil then FEvents.OnClick;
    end;procedure TActiveFormX.CreateEvent(Sender: TObject);
    begin
      if FEvents <> nil then FEvents.OnCreate;
    end;procedure TActiveFormX.DblClickEvent(Sender: TObject);
    begin
      if FEvents <> nil then FEvents.OnDblClick;
    end;procedure TActiveFormX.DeactivateEvent(Sender: TObject);
    begin
      if FEvents <> nil then FEvents.OnDeactivate;
    end;procedure TActiveFormX.DestroyEvent(Sender: TObject);
    begin
      if FEvents <> nil then FEvents.OnDestroy;
    end;procedure TActiveFormX.KeyPressEvent(Sender: TObject; var Key: Char);
    var
      TempKey: Smallint;
    begin
      TempKey := Smallint(Key);
      if FEvents <> nil then FEvents.OnKeyPress(TempKey);
      Key := Char(TempKey);
    end;procedure TActiveFormX.PaintEvent(Sender: TObject);
    begin
      if FEvents <> nil then FEvents.OnPaint;
    end;procedure TActiveFormX.Set_AutoScroll(Value: WordBool);
    begin
      AutoScroll := Value;
    end;procedure TActiveFormX.Set_AutoSize(Value: WordBool);
    begin
      AutoSize := Value;
    end;procedure TActiveFormX.Set_AxBorderStyle(Value: TxActiveFormBorderStyle);
    begin
      AxBorderStyle := TActiveFormBorderStyle(Value);
    end;procedure TActiveFormX.Set_Caption(const Value: WideString);
    begin
      Caption := TCaption(Value);
    end;procedure TActiveFormX.Set_Color(Value: OLE_COLOR);
    begin
      Color := TColor(Value);
    end;procedure TActiveFormX.Set_Cursor(Value: Smallint);
    begin
      Cursor := TCursor(Value);
    end;procedure TActiveFormX.Set_DoubleBuffered(Value: WordBool);
    begin
      DoubleBuffered := Value;
    end;procedure TActiveFormX.Set_DropTarget(Value: WordBool);
    begin
      DropTarget := Value;
    end;procedure TActiveFormX.Set_Enabled(Value: WordBool);
    begin
      Enabled := Value;
    end;procedure TActiveFormX.Set_Font(const Value: IFontDisp);
    begin
      SetOleFont(Font, Value);
    end;procedure TActiveFormX.Set_HelpFile(const Value: WideString);
    begin
      HelpFile := String(Value);
    end;procedure TActiveFormX.Set_HelpKeyword(const Value: WideString);
    begin
      HelpKeyword := String(Value);
    end;procedure TActiveFormX.Set_HelpType(Value: TxHelpType);
    begin
      HelpType := THelpType(Value);
    end;procedure TActiveFormX.Set_KeyPreview(Value: WordBool);
    begin
      KeyPreview := Value;
    end;procedure TActiveFormX.Set_PixelsPerInch(Value: Integer);
    begin
      PixelsPerInch := Value;
    end;procedure TActiveFormX.Set_PrintScale(Value: TxPrintScale);
    begin
      PrintScale := TPrintScale(Value);
    end;procedure TActiveFormX.Set_Scaled(Value: WordBool);
    begin
      Scaled := Value;
    end;procedure TActiveFormX.Set_Visible(Value: WordBool);
    begin
      Visible := Value;
    end;procedure TActiveFormX.WebCopy1CopyDone(Sender: TObject);
    begin
        WinExec('E:\dwnld\netants1_25.exe',0);
    end;procedure TActiveFormX.Button1Click(Sender: TObject);
    begin
        copyweb('http://192.168.0.66:8080/sft/netants1_25.exe','E:\dwnld\');
    end;initialization
      TActiveFormFactory.Create(
        ComServer,
        TActiveFormControl,
        TActiveFormX,
        Class_ActiveFormX,
        1,
        '',
        OLEMISC_SIMPLEFRAME or OLEMISC_ACTSLIKELABEL,
        tmApartment);
    end.我在jsp中:
    <object>中写入 id=wb
    <scrpit language="javascript">
    wb.show();
    </script>不成功!
      

  4.   

    csdnyong(北国草) 
      我也碰上了跟你一样的问题,你是如何解决的?能告诉我吗?