我是新手,哪个大侠给个DELPHI或VC编写的OCX的源码。
实现功能,能够用过JS调用DELPHI的函数。功能:通过OCX取得IP返回给JS的变量。

解决方案 »

  1.   

    留下你的email,我发给你
    --ocx部分代码
    function LocalIP:string;
    type
        TaPInAddr = array [0..10] of PInAddr;
        PaPInAddr = ^TaPInAddr;
    var
        phe  : PHostEnt;
        pptr : PaPInAddr;
        Buffer : array [0..63] of char;
        I    : Integer;
        GInitData      : TWSADATA;
    begin
        WSAStartup($101, GInitData);
        Result := '';
        GetHostName(Buffer, SizeOf(Buffer));
        phe :=GetHostByName(buffer);
        IF phe = nil THEN Exit;
        pptr := PaPInAddr(Phe^.h_addr_list);
        I := 0;
        while pptr^[I] <> nil do
        begin
          result:=StrPas(inet_ntoa(pptr^[I]^));
          Inc(I);
        end;
        WSACleanup;
    end;function TActiveFormX.Get_ip: WideString;
    begin
      Result:=LocalIp;
    end;
    --c#调用部分代码
    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm1" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>WebForm1</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    <script language="javascript">
    function ip()
    {
    var o;
    o = document.Form1.getip1;
    alert(o.ip);
    }
    </script>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server">
    <OBJECT id="getip1" style="Z-INDEX: 101; LEFT: 192px; POSITION: absolute; TOP: 104px" classid="clsid:B2DC9B66-2A89-4F5F-A482-331AA914D5BB"
    VIEWASTEXT>
    <PARAM NAME="Visible" VALUE="0">
    <PARAM NAME="AutoScroll" VALUE="0">
    <PARAM NAME="AutoSize" VALUE="0">
    <PARAM NAME="AxBorderStyle" VALUE="1">
    <PARAM NAME="Caption" VALUE="ActiveFormX">
    <PARAM NAME="Color" VALUE="4278190095">
    <PARAM NAME="Font" VALUE="MS Sans Serif">
    <PARAM NAME="KeyPreview" VALUE="0">
    <PARAM NAME="PixelsPerInch" VALUE="96">
    <PARAM NAME="PrintScale" VALUE="1">
    <PARAM NAME="Scaled" VALUE="-1">
    <PARAM NAME="DropTarget" VALUE="0">
    <PARAM NAME="HelpFile" VALUE="">
    <PARAM NAME="ScreenSnap" VALUE="0">
    <PARAM NAME="SnapBuffer" VALUE="10">
    <PARAM NAME="DoubleBuffered" VALUE="0">
    <PARAM NAME="Enabled" VALUE="-1">
    </OBJECT>
    <INPUT style="Z-INDEX: 102; LEFT: 296px; POSITION: absolute; TOP: 424px" type="button"
    value="Button" onclick="ip();">
    </form>
    </body>
    </HTML>
      

  2.   

    呵呵,我刚做过,用属性就可以返回给javascript
      

  3.   

    目前正在写WEB控件,现在已经进入测试阶段,建议你用VC写控件,如果需要用DELPHI写的代码,可以通过在控件里面调用DELPHI写的DLL来实现,我自已写的控件和DLL,已经打包成cab文件,可以自动安装和更新.没问题