Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Este artigo passo a passo descreve como adicionar manualmente uma licença de tempo de execução a um controlo ActiveX que é criado dinamicamente no Visual Basic .NET ou no Visual Basic 2005. No Visual Basic versão 6, pode adicionar manualmente licenças ao conjunto de licenças utilizando o método Licenses.Add() . Para obter mais informações sobre o que faz License.Add() no Visual Basic 6, consulte a secção "Referências" deste artigo.
No Visual Basic .NET ou no Visual Basic 2005, o conjunto de licenças já não existe. É necessário incorporar as informações de licença no controlo.
Este artigo pressupõe que o controlo requer a licença de tempo de execução está a ser MyProject.OCX e chama MyLicensedControl. MyProject.OCX está localizado na C:\Windows\System32.
Criar um novo Visual Basic .NET ou Visual Basic 2005 Project
Clique em Iniciar , aponte para Todos os programas , aponte para Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005 e, em seguida, clique em Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005 .
No menu ficheiro , aponte para Novo e, em seguida, clique em projecto .
Na caixa de diálogo Novo projecto , clique em Projectos do Visual Basic em Project Types , clique em Windows Application em Templates e, em seguida, clique em OK .
Nota No Visual Studio 2005, clique em Visual Basic em Project Types .
Clique em Iniciar , aponte para Todos os programas , aponte para Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005 , aponte para Ferramentas do Visual Studio .NET ou Visual Studio 2005 Tools e, em seguida, clique em linha de comandos do Visual Studio .NET ou Visual Studio 2005 linha de comandos .
Para criar as assemblagens de interoperabilidade dois tem de ter, escreva o seguinte comando:
Clique em Procurar e, em seguida, seleccione as assemblagens de interoperabilidade de controlo ActiveX que acabou de criar (devem estar em C:\Temp).
Adicionar AxMyProject.dll e MyProject.dll; adicionar estes ficheiros copia-os localmente.
Adicione um controlo de botão ao formulário.
Faça duplo clique no botão para localizar o código para o método de Evento de clique do botão .
No método de Evento de clique do botão , cole o seguinte código:
Dim myControl As New AxMyProject.AxMyLicensedControl()
este cria uma nova instância do controlo através do AxHost.
Nota : não criar uma instância nova controlo através do COM (MyProject.MyLicensedControl novo), porque este não funcionará no formulário e não pode adicionar facilmente a licença.
Determinar e anote a chave de licença de tempo de execução para o controlo. Para MyLicensedControl , a chave de licença é "gnvlslnjskvlmlgnnimh".
No método de Evento de clique do botão , cole o código seguinte abaixo Dim myControl como novo AxMyProject.AxMyLicensedControl() :
Dim f As System.Reflection.FieldInfo
f = GetType(AxHost).GetField("licenseKey", _
Reflection.BindingFlags.NonPublic _
Or Reflection.BindingFlags.Instance)
f.SetValue(myControl, "gnvlslnjskvlmlgnnimh")
este código insere o controlo a licença de tempo de execução. -Cria uma instância de FieldInfo , que faz parte de saco da propriedade OCXState . Este conjunto de propriedades está repleto de informações de controlo de ActiveX específicas. Neste caso, está a obter o campo licenseKey e defini-la para myControl . Terá de o fazer para cada instância de qualquer controlo ActiveX que requer uma licença de tempo de execução.
Adicione o controlo à colecção de controlos do formulário e, em seguida, mostrar o controlo. Para efectuar este procedimento, pode utilizar o seguinte código:
Controls.Add(myControl)
myControl.Show()
colar este código de método de Evento de clique do botão , depois de "f.SetValue (myControl,"gnvlslnjskvlmlgnnimh")" e antes da linha "End Sub".
Nota : Se a licença não é adicionada ao controlo e a licença é necessária, Controls.Add falhará. Controls.Add executa o código que contém esse validação da licença. Quando tentar e executar Controls.Add , verá o seguinte erro no modo de depuração:
Uma excepção não processada do tipo 'System.ComponentModel.LicenseException' Ocorreu no system.windows.forms.dll informações adicionais: não tem uma licença para utilizar este controlo ActiveX.
Ou, no momento da execução, poderá ver a seguinte mensagem de erro semelhante:
Ocorreu uma excepção não processada na aplicação. Não tem uma licença para utilizar este controlo ActiveX.
Prima F5 para executar o projecto.
Clique no botão para adicionar o controlo ActiveX ao formulário.
Tem de adicionar a licença cada ocorrência de cada ActiveX controlo requer uma licença de tempo de execução. Por exemplo, se criar uma segunda instância do MyLicensedControl , terá de adicionar também a licença essa instância.
Certifique-se que tem a chave de licença correcto para o controlo. Determinar a chave de licença correcto é específica para o controlo: Para obter informações adicionais sobre como determinar a chave, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
151771
(http://support.microsoft.com/kb/151771/EN-US/
)
LICREQST.EXE pedir uma chave de licença a partir de um objecto
Em alternativa, pode utilizar Licenses.Add para o controlo no Visual Basic 6 num computador que tem a licença no registo. Licenses.Add devolve a licença de tempo de execução adicioná-lo como uma cadeia; em seguida, pode utilizar Debug.Print para obter a chave de licença.
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 326651
(http://support.microsoft.com/kb/326651/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
O que podemos fazer para melhor estas informações?
Para proteger a sua privacidade, não inclua as informações de contacto nos comentários.
Obrigado! Os seus comentários serão utilizados para nos ajudar a melhorar o conteúdo do suporte. Para obter mais opções de assistência, visite a Home Page da Ajuda e Suporte.