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.
e você criar este aplicativo em um arquivo executável, criar uma distribuição com o Assistente de instalação ou o InstallShield Express edição do Visual FoxPro e instalar o aplicativo em outros computadores, quando você tenta executar um código semelhante ao código anterior, você recebe um erro semelhante à seguinte:
Program Error
OLE error code 0x80040112: Appropriate license for this class not found.
Uma distribuição criada com o Assistente para instalação do Visual FoxPro ou InstallShield Express permite apenas uma licença de tempo de execução, enquanto o método AddObject requer uma licença de tempo de design.
Adicione o controle que deseja usar em uma classe que é salvo em uma biblioteca de classe Visual ou em uma classe criada com o comando Definir CLASS. Em seguida, adicione uma instância da classe em tempo de execução em vez de adicionar o controle. Consulte a seção "Mais informações" para obter detalhes.
No Visual FoxPro 7.0 e posterior consulte o tópico da arquivo ? AddObject ? ajuda para solucionar esse problema nesses produtos.
O exemplo a seguir demonstra o uso o comando Definir CLASS para criar uma subclasse OleControl, em seguida adiciona OleControl "subclasse" em tempo de execução.
Cole o seguinte código em um arquivo de programa (.prg):
PUBLIC oform1
oform1=CREATEOBJECT("form1")
oform1.Show
READ EVENTS
RETURN
DEFINE CLASS form1 AS form
AutoCenter = .T.
cNextKey = "1_"
Name = "Form1"
Caption = "Treeview Demo Form"
ADD OBJECT cmdExit AS commandbutton WITH ;
Top = 204, ;
Left = 276, ;
Height = 27, ;
Width = 84, ;
Caption = "E\<xit"
ADD OBJECT cmdAddLV AS commandbutton WITH ;
Top = 204, ;
Left = 10, ;
Height = 27, ;
Width = 106, ;
Caption = "Add Listview"
ADD OBJECT cmdAddLVClass AS commandbutton WITH ;
Top = 204, ;
Left = 130, ;
Height = 27, ;
Width = 136, ;
Caption = "Add Listview Subclass"
PROCEDURE Destroy
CLEAR EVENTS
ENDPROC
PROCEDURE cmdExit.Click
thisform.release()
ENDPROC
PROCEDURE cmdAddLV.Click
* The following AddObject causes the error.
Thisform.AddObject('Lv1','olecontrol','mscomctllib.listviewctrl.2')
Thisform.SetLVProps()
ENDPROC
PROCEDURE cmdAddLVClass.Click
* The following code shows the workaround. The class OC1 is
* defined in the last 3 lines of this program.
* Alternanely, you could use an object stored in a Visual Class
* library (.vcx) file.
Thisform.NewObject('LV1','OC1')
Thisform.SetLVProps()
ENDPROC
PROCEDURE SetLVProps
thisform.setall('enabled', .F.,'commandbutton')
WITH thisform.LV1
.visible = .t.
.height = 190
.left = 75
.width = 250
.view = 2
.listitems.add(,,"List Item 1",,)
.listitems.add(,,"List Item 2",,)
ENDWITH
thisform.cmdExit.enabled = .t.
thisform.cmdExit.setfocus()
ENDPROC
ENDDEFINE
DEFINE class OC1 as olecontrol
OleClass = 'mscomctllib.listviewctrl.2'
ENDDEFINE
Adicione o programa para um projeto e criar o projeto em um executável (.exe) de arquivo. Nome lvtest.exe arquivo.
Crie um diretório chamado TestDir e colocar uma cópia do arquivo executável a partir da etapa 2 anterior no diretório.
Execute o Assistente para configuração de FoxPro Visual.
Na caixa de diálogo Assistente para configuração, o "Step 1 localizar arquivos" é exibido na caixa lista. Na caixa de texto arquivos de distribuição selecione TestDir diretório que você criou na etapa 3, clique em Selecionar e clique em Avançar.
Na caixa de diálogo Assistente para configuração, a "Etapa 2 especificar componentes" é exibido na caixa texto. No grupo de opção de componentes do aplicativo, selecione a caixa de seleção "Visual FoxPro runtime".
Em seguida, selecione a caixa de seleção de controles ActiveX. Adicionar Caixa de controles ActiveX é exibida.
Role pela caixa de listagem "Selecionar controles ActiveX para instalar", selecione "Microsoft ListView Control, versão 6.0", clique no botão Fechar para sair da caixa de diálogo e, em seguida, clique em Avançar.
Na etapa "Etapa 3 Criar disco imagem Directory" do Assistente para configuração de, selecione ou digite o nome do diretório que deseja usar para a criação de suas imagens de disco e, em seguida, clique em Avançar.
Na "Etapa 4 especificar opções de instalação", da caixa de diálogo Assistente para configuração, digite "Aplicativo de teste de ListView" na caixa de texto "Legenda de caixa de diálogo de instalação" e digite "Nenhum" na caixa de texto de informações de copyright e clique em Avançar.
Observação: Cada caso, digite o texto sem as aspas.
Na etapa do Assistente para configuração de "Etapa 5 especificar padrão destino" diálogo caixa, clique em Avançar.
Na caixa de texto "Etapa 6 alterar configurações do arquivo", no Assistente para configuração de caixa de diálogo, selecione a PM item caixa de seleção na grade de ao lado para Lvtest.exe (o nome do arquivo executável).
Na caixa de diálogo 'Item de menu do programa grupo', digite "Aplicativo de teste de ListView" na caixa de texto Descrição e "% s\lvtest.exe" na linha de comando caixa de texto.
Observação Omita as aspas.
Clique em OK para fechar a caixa de diálogo item do programa grupo menu, clique em Avançar e, em seguida, clique em Concluir para concluir executando o Assistente para instalação.
Na caixa de diálogo "Estatísticas de disco de Assistente de instalação", clique em concluído.
Os arquivos de distribuição poderão ser em um subdiretório do diretório listado em "Etapa 3 - Criar disco imagem Directory". O subdiretório é denominado disk144. Você pode instalar a distribuição de que você ter criado por copiar o conteúdo dos diretórios Disco1, Disk2, Disk3 e Disk4 para disquetes e, em seguida, execute o programa Setup.exe a partir o primeiro disquete. Você também pode conectar ao computador que contém a distribuição através de uma rede para executar a instalação. A instalação deve ser em um computador que ainda não tiver o Visual FoxPro 6.0 ou Visual Studio 6.0 instalado.
No computador de instalação, da barra de tarefas do Windows, selecione Iniciar, aponte para programas e, em seguida, aponte para Visual FoxPro Applications. Clique em item de programa aplicativo de teste de ListView.
Quando o aplicativo for iniciado, clique no botão Adicionar ListView. Ocorrerá um erro é semelhante àquele listado na seção "Sintomas".
Selecione ' Cancelar ' e repita a etapa 16. Dessa vez, clique em ListView adicionar Subclass botão e o erro não ocorre.
O exemplo anterior usa uma subclasse da classe OleControl chamada OC1. Este subclasse programaticamente é criado com o comando Definir CLASS contido as três últimas linhas de código no exemplo de programa.
Como alternativa, você pode criar uma subclasse da classe OleControl com o Class Designer Visual. Aqui estão as etapas para realizar essa tarefa:
Digite o seguinte na janela de comando:
CREATE CLASS
Na caixa de diálogo nova classe, digite um nome de classe. Você pode usar OC1 para ser consistente com o exemplo anterior.
Selecione OleControl na caixa de listagem baseadas em.
Na caixa de texto em armazenamento, digite o nome de um arquivo .vcx para armazenar a classe ou selecione um arquivo .vcx existente depois de pressionar elipse botão [...]. Use OCTest para fins deste exemplo.
Clique no botão OK para criar a classe.
Na caixa de diálogo Inserir objeto, selecione o botão de opção criar controle. Na lista Tipo de objeto, selecione o controle ActiveX que você deseja usar. Para ser consistente com o exemplo anterior, selecione o "Microsoft ListView Control, versão 6.0" e, em seguida, clique em OK. Exibe a nova classe no Class Designer. Agora você pode salvar a classe.
O código a seguir seria adicione uma instância do objeto em tempo de execução no exemplo anterior:
Thisform.NewObject('LV1','OC1', 'OCTest.vcx')
Você precisará certificar-se que o arquivo .vcx foi adicionado a seu projeto antes de criar o .exe para que o comando NewObject funcione corretamente.
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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 192693
(http://support.microsoft.com/kb/192693/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 melhorar essa informação?
Para proteger sua privacidade, não inclua informações de contato em seus comentários.
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.