ブラウザ上でVB.NETのコードを動かす (IE上で.NETアプリケーションをホストする方法の続き)
以下の記事では,IE上で,C#のDLLを動かす方法を述べた。
今から3分で,IE 上で .NET のDLLを動かそう (ブラウザ上で C# のコードを動かす方法)
http://language-and-engineering.hatenablog.jp/entry/20100705/p1
今回は,同じものをVB.NETでも作ってみる。
手短に。
(1)コードを用意
冒頭のURLで書いてあるC#のコードを,クリップボードにコピー。
以下のURLにアクセス。(C#のソースコードをVB.NETのソースコードに自動的に変換するフォーム)
developer fusion / .net code converter Convert C# to VB.NET
http://www.developerfusion.com/tools/...
ソースコードをペースト。
変換を実行。
そして,手動で少々手直し。
以下のようなコードになる。
SampleDll.vb
Namespace SampleNameSpace ' HTML上でカレンダーを表示するためのクラス。 Public Class SampleDatePicker Inherits System.Windows.Forms.DateTimePicker ' コンストラクタ Public Sub New() ' 初回表示時のセットアップを行なう。 ' カレンダーの背景色 Me.CalendarMonthBackground = System.Drawing.Color.Gainsboro End Sub ' JavaScript用に,日付を文字列で返すメソッド(プロパティ) Public ReadOnly Property DateForJS() As String ' getterのみ定義する Get ' ToString()だと時刻も含まれる Return Value.ToShortDateString() End Get End Property End Class End Namespace
(2)コンパイル
例の如く,.NET Frameworkのフォルダに移動。
コマンドプロンプトからVBのコンパイラを呼び出す。
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322> vbc /target:library /reference:"System.Windows.Forms.dll" /reference:"System.dll" /reference:"System.Drawing.dll" SampleDll.vb Microsoft(R) Visual Basic .NET Compiler version 7.10.6001.4 for Microsoft(R) .NET Framework version 1.1.4322.2463 Copyright (C) Microsoft Corporation 1987-2002. All rights reserved.
SampleDll.dllが生成される。
[第4回] .NET Framework SDKを使ったVB.NETプログラム作成の流れ3 - コンパイル方法
http://www5b.biglobe.ne.jp/~yone-ken/...
- vbc.exeを使ったCUIでのDLLのコンパイル方法
■VB.NETでSystem名前空間を参照する
http://www.atmarkit.co.jp/fdotnet/vb6...
(3)サーバから確認する
サーバの公開ディレクトリにDLLを配置して,HTMLも作る。
この辺は,冒頭で取り上げたC#の場合と同じ。なので,割愛する。
補足
.NETの情報源について。
- C#だけでなく,VBも基本的なところは読めた方がよい。.NETの情報を探す時に役立つので。
- 今回のようにVisual Studioを使わないでコーディングするケースはまれ。
- 大抵,フォーム部品は,フォーム部品のエディタダイアログで編集する。フォーム部品の初期化を手動でコーディングするケースは少ない。
- VBでDLLを自作するサンプルはネット上に少ない。
IE上での動作について。
- DLL更新時に,わざわざIEを立ち上げなおすのが面倒。
- エラーが発生した時の対処が面倒。JavaScriptからアクセスしてDLL内部の状態を表示するようなテストコードを,HTML側で準備しておくとよいかも。