こんにちは、以下のコードで ac# dll を作成しています
システムを使用する;
System.Collections.Generic の使用;
System.Text を使用します。
System.Diagnostics を使用します。
System.IO の使用;
System.Runtime.InteropServices を使用します。
名前空間のイメージ エクスポート
{
[ComVisible(真)]
パブリック クラス ExportImage
{
[ComVisible(真)]
public void exportPNG(String pDirectory,String svgFileName,String outputFileName) {
文字列引数= pDirectory+"res\\include\\highcharts-convert.js -infile "+pDirectory+"res\\graphs\\"+svgFileName+" -outfile "+pDirectory+"res\\graphs\\"+outputFileName +" -スケール 2.5 -幅 1088";
/*using (StreamWriter writer = new StreamWriter("c:\\debug.txt", true))
{
writer.WriteLine("pDirectory=" +pDirectory);
writer.WriteLine("引数="+引数);
}*/
プロセス p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = false;
p.StartInfo.FileName = pDirectory+"res\\bin\\phantomjs.exe";
p.StartInfo.Arguments = 引数;
p.Start();
p.WaitForExit();
}
}
}
DLLを作成するために、VS2005で以下のように構成します
応用
アセンブリ名 -> imageexport
デフォルトの名前空間 - > imageexport
outputtype => クラスライブラリ
起動オブジェクト ->(未設定)
アセンブリ情報:
a) アセンブリ バージョン ->1 0 0 0
b) ファイル バージョン ->1 0 0 0
c) アセンブリ Com を表示する -> チェック済み
建てる
構成 -> アクティブ (デバッグ)
プラットフォーム -> アクティブ (任意の CPU)
全般的 :
a) 条件付きコンパイル シンボル -> 空白
b) デバッグ定数を定義 -> チェックあり
c) トレース定数を定義 -> チェック済み
d) プラットフォーム ターゲット -> 任意の CPU
e) 安全でないコードを許可する -> チェックしない
f) コードの最適化 -> チェックなし
g) 警告レベル -> 4
h) スーパーレス警告 -> 空白
i) 警告エラーの処理 -> なし
この後、imageexport.dllを.net 2.0のregasmに登録します
レジストリを見ると、HKEY_CLASSES_ROOT の下に imageexport.ExportImage が見つかりました。
以下の vbscript では、オブジェクトを作成して関数を呼び出すために使用されます
暗いオブジェクト
obj = CreateObject("imageexport.ExportImage") を設定します。
obj.exportPNG rvPAWZDirectoryPath&"\","SVGData_"&Session("export_time")&".svg","Export_" & export_time & ".png"
しかし、これにより、VBSCript の createObject 行で「UnknownException」という名前の例外が発生します。どこが問題なのか教えてください