2008-09-09 9 views
3

Je dois héberger et exécuter des contrôles gérés à l'intérieur d'une application C++ purement non gérée. Comment faire ça?Comment héberger des contrôles .Net sous licence dans une application C++ non gérée?

Pour exécuter des commandes sans licence est généralement simple:

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

Lorsque vous utilisez un contrôle cependant sous licence, nous devons intégrer en quelque sorte un fichier .licx dans le projet (réf application licensing). Dans une application C++ non gérée, la colle requise ne semble pas fonctionner. L'outil lc.exe est supposé être capable d'incorporer la licence en tant que ressource d'assembly, mais soit nous n'avançions pas l'invocation correcte, soit elle échouait silencieusement. Toute aide serait appréciée.

Répondre

1

La réponse dépend du composant que vous utilisez. Contactez le service d'assistance de votre composant ou lisez la documentation sur ce qu'il faut pour déployer leur composant.
Fondamentalement, les développeurs de composants sont libres de mettre en œuvre les licences comme ils le jugent. Avec le fichier .licx, le composant doit être capable de faire ce que le développeur souhaite via GetKey et IsValidKey (expliqué dans le lien que vous avez posté). Donc, si GetKey vérifie un fichier .licx dans le répertoire des composants - vous devez juste vous assurer qu'il est là.
AFAIK l'assembly client n'a rien à faire sauf instancier le contrôle.

Aussi, si vous postez le nom du composant et la commande lc.exe que vous utilisez, les gens pourraient jeter un oeil ..

Questions connexes