独自の C# DLL から Com-Object を作成する方法を知りたいです。
C# で次のクラスを作成しました。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace ProgressNet
{
[Guid("a9b1e34d-3ea3-4e91-a77a-5bcb25875485")]
[ClassInterface(ClassInterfaceType.AutoDual)]
[ComVisible(true)]
[ProgId("ProgressNet.Server")]
public class NetServer
{
public NetServer() {}
[DispId(1)]
public string GetString()
{
return "Some String";
}
}
}
プロパティで、COM Interop に登録するにチェックを入れました。
次に、DLL を regasm に登録しました。
regasm G:\ProgressTestApp\ProgressNet.dll /tlb:G:\ProgressTestApp\ProgressNet.tlb /codebase
次に、進行中の 4GL でこのコードを試しました。
DEFINE VARIABLE NetServer AS COM-HANDLE.
CREATE "ProgressNet.NetServer" NetServer.
MESSAGE NetServer:GetString().
しかし、「ProgressNet.NetServerのオートメーションサーバーが正しく登録されていません」というメッセージが表示されます..
助言がありますか?:)