ID do artigo: 139154 - Última revisão: segunda-feira, 17 de novembro de 2003 - Revisão: 2.1

INFO: OLE controle licenciamento no Visual FoxPro

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.

Nesta página

Expandir tudo | Recolher tudo

Sumário

Visual FoxPro não permitirá que um controle OLE a ser criado ou instanciado a menos que a licença correta esteja presente. Os desenvolvedores que adquirir e instalar um controle OLE, bem como sua licença poderão adicionar esse controle a formulários.

Informações sobre a licença é salvo com o formulário ou classe. Isso permite que formulários distribuídos executar com êxito em estações de trabalho que não têm uma licença de tempo de design. Os usuários não serão capazes de abrir esses formulários para modificação, a menos que eles também comprar uma licença de tempo de design de fornecedor do controle.

Os desenvolvedores também podem distribuir bibliotecas de classes visual que contêm controles OLE. Novos controles com base nessas classes visual podem ser adicionados à execução de formulários. Os usuários não podem modificar essas classes visual, adicionar novos controles baseiam-los aos formulários no modo de design ou subclasse-los.

Mais Informações

Controles OLE podem ser desenvolvidos e distribuídos sem encargo ou requisitos de licenciamento. No entanto, a maioria será projetada para que eles falharem sem uma licença. Existem atualmente dois tipos de licenças para controles OLE: tempo de design e tempo de execução.

  • Uma licença de tempo de design permite que você criar novos OLE controles.
  • Uma licença de tempo de execução permite que você executar um formulário que contém um controle OLE.
O restante deste artigo descreve o esquema de licenciamento mais comum usado. No entanto, fornecedores de controle não são necessárias para seguir este esquema.

Os controles não podem exigir nenhuma licença ou podem fornecer apenas licenças de tempo de design ou tempo de execução.

Controles podem procurar informações de licença de maneira diferente descrita aqui. Consulte a documentação do controle OLE para obter mais informações.

Uma licença é uma chave ou um valor que um controle pode verificar examinando o registro ou o aplicativo recipiente. Quando você tenta adicionar um controle OLE, como o controle de estrutura de tópicos a um novo formulário, o controle de estrutura de tópicos verifica o registro para sua chave de licença de tempo de design. Se ele encontrar essa chave, o novo controle é adicionado.

Quando você salva esse formulário, o Visual FoxPro solicita o segundo tipo de chave, a chave de licença de tempo de execução, do controle. Esse segundo valor é armazenado no formulário. Quando o formulário é executado, o Visual FoxPro passa a chave de tempo de execução para o controle como ele instancia o formulário. Isso impede que o controle verificando uma chave de tempo de design. Este formulário será executado em qualquer estação de trabalho onde o controle de estrutura de tópicos está instalado, independentemente da existência de uma chave de tempo de design.

A licença de tempo de design é uma chave no registro da estação de trabalho. Ele é geralmente colocado existe pelo programa de instalação instalado o controle OLE. No entanto, os fornecedores podem fornecer um arquivo .reg que pode ser mesclado no registro em vez disso.

Quatro exemplos passo a passo

Os exemplos a seguintes demonstram como controles OLE podem ser usados em aplicativos do Visual FoxPro e como eles podem ser com êxito distribuídos. Esses exemplos usar o controle da estrutura de tópicos, que é fornecido com a versão profissional do Visual FoxPro 3.0. Os exemplos a seguir estão incluídos:

  • Distribuindo um formulário que contém um controle de estrutura de tópicos.
  • Distribuindo uma classe visual que contém um controle de estrutura de tópicos.
  • Distribuindo um programa que tenta criar um novo controle OLE.
  • Distribuindo um programa que cria um novo controle OLE de uma classe.
Esses exemplos usam duas estações de exemplo trabalho chamadas DevMachine e UserMachine que tenham sido configuradas usando essas etapas:

  1. Em DevMachine, instale o controle de estrutura de tópicos e sua licença de tempo de design e registre o controle de estrutura de tópicos para a caixa de ferramentas controle de formulário. Para fazer isso:

    1. No menu Ferramentas, clique em Opções e, em seguida, clique na guia controle.
    2. Marque a caixa de seleção controles OLE e a caixa de seleção de controle de estrutura de tópicos. Em seguida, clique em OK.
  2. Se o controle de estrutura de tópicos não estiver disponível, execute novamente a instalação do Visual FoxPro. Selecione a opção recursos Professional, selecione a caixa de seleção controles OLE, concluir a instalação e, em seguida, repita as etapas 1.a. e 1.b.
  3. Na UserMachine, verifique se o controle de estrutura de tópicos não está instalado e que o Visual FoxPro 3.0 (padrão ou profissional) está instalado.

Distribuir um formulário que contém um controle de estrutura de tópicos

  1. Crie um novo formulário em DevMachine:

    1. No Menu Arquivo, clique em novo. Em seguida, clique em formulário e clique no botão novo.
    2. Selecione o botão de atalho Exibir Classes nos controles do formulário da barra de ferramentas.
    3. Selecione o controle de estrutura de tópicos e criar um novo controle no formulário.
    4. Salve este formulário como uma classe chamada Outltest em uma biblioteca de classes Visual chamado Outltest.vcx. Em seguida, feche e salve este formulário como Outltest.scx.
  2. Execute o formulário no UserMachine:

    1. Copie Outltest.scx, Outltest.sct, Outltest.vcx, Outltest.vct e Msoutl32.ocx para UserMachine.

      Observação: Msoutl32.ocx está localizado no diretório \Windows\System ou, do Windows NT, ele está localizado no diretório \Windows\System32.
    2. No menu Programas, clique em fazer. Selecione o formulário e clique em. Como resultado, você verá que o formulário é executado e o controle é funcional.
    3. Para testar a estrutura de tópicos, digite o seguinte na janela de comando:
            OUTLTEST.Olecontrol1.Additem('First Item')
      										
  3. No menu Arquivo, clique em Abrir e defina o tipo de arquivo para classe Visual biblioteca. Em seguida, selecione Outltest.vcx.
  4. Clique em OK para a seguinte mensagem de erro:
    Código de erro OLE 0x80040112: licença apropriada para esta classe não encontrado. Objeto OLE está sendo ignorado. Número de registro 4.
  5. Quando o formulário é aberto, verifique se o controle de estrutura de tópicos está não existe.
  6. Faça uma alteração para o formulário e fechá-lo. Clique em Sim quando solicitado a salvar.
  7. Abra a classe Outltest de Outltest.vcx novamente e verifique se o formulário que contém a classe foi salvo sem o controle de estrutura de tópicos.

Distribuição de uma classe Visual que contém um controle de estrutura de tópicos

  1. Crie a classe visual em DevMachine:

    1. No menu Arquivo, clique em Novo e, em seguida, clique em classe para criar uma nova classe. Nomeie a nova classe RedOutl.vcx. Baseá-lo em OLEContainerControl e salve-o em uma biblioteca de classe Visual chamado Olelib.vcx.
    2. Selecione a barra de ferramentas formtool o controlo de contentor OLE. Quando aparece a caixa de diálogo Inserir objeto, selecione OLEControl. Em seguida, selecione o controle da estrutura de tópicos.
    3. Clique duas vezes a propriedade BackColor e selecione vermelho a caixa de diálogo.
    4. Feche e salve essa classe.
    5. Crie um novo formulário.
    6. Clique no botão de atalho Exibir Classes. Em seguida, clique em Adicionar e selecione o Visual Olelib.vcx de biblioteca de classe.
    7. Selecione RedOutl e criar um novo controle no formulário.
    8. Feche e salve o formulário como Subtest.scx
  2. Executar o formulário no UserMachine

    1. Copiar Olelib.vcx, Olelib.vct, Subtest.scx, Subtest.sct E Msoutl32.ocx.
    2. No menu Programas, clique em do not e selecione Subtest.scx. Como resultado, você verá que o formulário seja executado sem erro e a estrutura controle é funcional.
  3. Criar um novo formulário e adicionar Olelib.vcx à barra de ferramentas controles de formulário.
  4. Crie um novo controle com base em RedOutl. Ocorrerá o seguinte erro:
    Código de erro do erro: OLE 0x80040112: licença apropriada para esta classe não encontrado.
Observação: A biblioteca de classe visual OLELIB.VCX é usada no último exemplo, portanto, não exclua esse arquivo.

Distribuição de um programa que tenta criar um novo controle OLE

  1. Crie um novo programa em DevMachine. Adicione o seguinte código e salve-o como Outltest.prg.
       PUBLIC NewForm
       NewForm = CREATE("form")
       NewForm.Show
       NewForm.AddObject("NewOutline","OLEControl","MSOutl.Outline")
       NewForm.NewOutline.visible=.t.
    								
  2. Execute o programa em UserMachine:

    1. Copiar Outltest.prg e Msoutl32.ocx para UserMachine
    2. No menu Programas, clique em, selecione Outltest.prg, e clique em. Como resultado, você verá que o formulário é criado e mostrado e, em seguida, ocorrerá o seguinte erro:
      Código de erro OLE 0x80040112: Licença apropriada para esta classe não encontrado.

Distribuição de um programa que cria um novo controle OLE de uma classe

Observação: Este exemplo requer o arquivo de Visual Olelib.vcx de biblioteca de classe criado na etapa 1 do exemplo "Distribuindo um Visual classe que contém uma estrutura de tópicos controle".

  1. Criar um novo programa em DevMachine, adicione o seguinte código e salve o programa como Subtest.prg:
       PUBLIC NewForm
       NewForm = CREATE("form")
       NewForm.Show
       NewForm.ScaleMode = 3
       SET CLASSLIB to OLELIB.VCX
       NewForm.AddObject("NewOutline","RedOutl")
       NewForm.NewOutline.RedOutl.visible=.t.
    								
  2. Executar o programa em UserMachine

    1. Copie o Subtest.prg, Olelib.vcx, Olelib.vct e Msoutl32.ocx para UserMachine.
    2. Execute o programa. Como resultado, o formulário é executado com êxito.

A informação contida neste artigo aplica-se a:
  • Microsoft Visual FoxPro 3.0 Standard Edition
  • Microsoft Visual FoxPro 5.0 Standard Edition
  • Microsoft Visual FoxPro 6.0 Professional Edition
Palavras-chave: 
kbmt kbautomation kbcode kbinfo kbinterop KB139154 KbMtpt
Tradução automáticaTradução automática
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: 139154  (http://support.microsoft.com/kb/139154/en-us/ )