2007年10月4日星期四

C#でWindows Controlの作成

目標

  • C#でActiveX Control開発過程の紹介
  • シンプルActiveX Controlの作成

開発環境

  • Microsoft Visual C# 2005 Express Edition

ステップ

クラス ライブラリプロジェクトを新規

  • Microsoft Visual C# 2005 Expression Editionの開発環境でクラス ライブラリプロジェクトを新規します。

    本文には、このプロジェクトの名前は「Greeting」とします。

AssemblyInfo?.csを修正

  • C#で開発したタイプは、COMに使うことができるため、「ComVisible?」の値を「true」にしなければなりません。

    開発環境の右のソリューションエクスプローラに、「/Greeting/Properties/AssemblyInfo?.cs」を下記のように編集します:

    [assembly: ComVisible?(false)] → [assembly: ComVisible?(true)]

Simple Controlの作成

  • HelloWorld?」のクラスを作成します:
    using System;
    using System.Collections.Generic;
    using System.Runtime.InteropServices;
    using System.Text;
    namespace Greeting
    {
    [ClassInterface(ClassInterfaceType.AutoDual)]
    public class HelloWorld
    {
    public String sayHello()
    {
    return "Hello World!";
    }
    }
    }

テストページの作成

  • プロジェクトをビルドして、「Greeting.dll」が生成されます。このGreeting.dllを利用して、簡単なテストページ(test.html)を作られます:







テストと実行

  • test.htmlとGreeting.dllをWEBサーバにDeployします

IISにDeploy

  1. test.htmlとGreeting.dllをIISのルート配下(デフォルトは「C:\Inetpub\wwwroot」)にコピーします。
  2. IEで[http://localhost/test.html]にアクセスします。

    「Hello World」のダイアログを表示すると、おめでとう [smile]

TomcatにDeploy

  1. test.htmlとGreeting.dllを Tomcatの「web_app」の配下にコピーします。
  2. Tomcatのルートweb.xml(デフォルトは「%TOMCAT_HOME%/conf/web.xml」)を編集し、下記の内容を追加します:
       
    dll
    application/x-msdownload

    追加しないと、dllファイルをdownloadできません。追加した後、Tomcatを再起動します。

  3. IEで「http://localhost:8080/web_app/test.html」にアクセスします。

    「Hello World」のダイアログを表示すると、おめでとう [smile]

参照資料

没有评论: