2008-09-09 5 views
3

純粋に管理されていないC++アプリケーションの中でマネージドコントロールをホストして実行する必要があります。これを行う方法?無免許のコントロールを実行するにはアンマネージドC++アプリケーションでライセンスされた.NETコントロールをホストする方法は?

は、一般的に簡単です:

if (SUCCEEDED(ClrCreateManagedInstance(type, iid, &obj))) 
{ 
    // do something with obj 
} 

のライセンスコントロールを使用してしかし、我々は何とかプロジェクト(REF application licensing)に.licxファイルを埋め込む必要があります。アンマネージドC++アプリケーションでは、必要な接着剤が機能していないようです。 lc.exeツールは、ライセンスをアセンブリリソースとして埋め込むことができるはずですが、正しい呼び出しを振っていなかったか、静かに失敗したかのいずれかです。どんな助けもありがとう。

答えて

1

答えは、使用しているコンポーネントによって異なります。コンポーネントヘルプデスクに問い合わせるか、コンポーネントの展開に必要なドキュメントを参照してください。
基本的にコンポーネント開発者は、と思われるので、ライセンスを自由に実装することができます。 .licxファイルでは、開発者がGetKeyとIsValidKey(あなたが投稿したリンクで説明されている)を介して望むものを何でもできるようにする必要があります。 GetKeyがコンポーネントディレクトリ内の.licxファイルをチェックする場合は、そのディレクトリにあることを確認するだけです。
AFAIKクライアントアセンブリは、コントロールのインスタンス化以外は何もする必要はありません。

また、使用しているコンポーネントの名前とlc.exeコマンドを投稿すると、人々は見てみることができます。

関連する問題