Domanda

È necessario ospitare ed eseguire controlli gestiti all'interno di un'app C++ puramente non gestita.Come fare questo?

Eseguire controlli senza licenza è in genere semplice:

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

Tuttavia, quando si utilizza un controllo con licenza, è necessario incorporare in qualche modo un file .licx nel progetto (rif licenza dell'applicazione).In un'app C++ non gestita, il collante richiesto non sembra funzionare.Si suppone che lo strumento lc.exe sia in grado di incorporare la licenza come risorsa di assembly, ma o non stavamo agitando l'invocazione corretta oppure ha fallito silenziosamente.Qualsiasi aiuto sarebbe apprezzato.

È stato utile?

Soluzione

La risposta dipende dal particolare componente che stai utilizzando.Contatta l'help desk del componente OPPURE leggi la documentazione su ciò che serve per distribuire il componente.
Fondamentalmente gli sviluppatori di componenti sono liberi di implementare le licenze come ritengono opportuno.Con il file .licx il componente deve essere in grado di fare tutto ciò che lo sviluppatore desidera tramite GetKey e IsValidKey (spiegato nel link che hai pubblicato).Quindi, se GetKey verifica la presenza di un file .licx nella directory del componente, devi solo assicurarti che sia lì.
Per quanto ne so, l'assembly client non deve fare altro che creare un'istanza del controllo.

Inoltre, se pubblichi il nome del componente e il comando lc.exe che stai utilizzando, le persone potrebbero dare un'occhiata..

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top