Artigo: 139154 - Última revisão: segunda-feira, 17 de Novembro de 2003 - Revisão: 2.1

INFO: OLE controlo 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 | Reduzir tudo

Sumário

Visual FoxPro não permite que um controlo OLE seja criado ou instanciados a menos que a licença correcta esteja presente. Os programadores que adquirir e instalar um controlo OLE, bem como respectiva licença não conseguirá adicionar este controlo aos formulários.

Informações de licença são guardadas com o formulário ou classe. Isto permite que formulários distribuídos executar com êxito em estações de trabalho que não tenham uma licença de tempo de estruturação. Os utilizadores não conseguem abrir estes formulários para modificação, a menos que também adquirir uma licença de estrutura do fornecedor do controlo.

Os programadores também poderão distribuir bibliotecas de classe visual que contenham controlos OLE. Podem ser adicionados novos controlos dependendo destas classes visual à execução de formulários. Os utilizadores não pode modificar estas classes visual, adicione novos controlos baseiam nos mesmos para formulários no modo de estrutura ou subclasse-los.

Mais Informação

Controlos OLE podem ser desenvolvidos e distribuídos sem encargos ou requisitos de licenciamento. No entanto, mais irão ser concebido para que estes falharem sem uma licença. Existem actualmente dois tipos de licenças para controlos OLE: estrutura e de tempo de execução.

  • Uma licença de estrutura permite-lhe criar OLE controlos novos.
  • Uma licença de tempo de execução permite que executar um formulário que contém um controlo OLE.
Este artigo descreve o esquema de licenciamento mais utilizado. No entanto, os fornecedores de controlo não são necessárias para seguir este esquema.

Controlos podem requerer a não licenças ou poderão fornecer apenas licenças de estruturação ou run-time.

Controlos podem procurar informações de licença de uma forma diferente do aqui descrita. Consulte a documentação do controlo OLE para obter mais informações.

Uma licença é uma chave ou um valor que um controlo pode verificar procurando no registo ou a aplicação de contentor. Quando tenta adicionar um controlo OLE, tais como o controlo do código hierárquico a um novo formulário, o controlo do código hierárquico verifica o registo para a chave de licença de tempo de estruturação. Se encontrar esta chave, é adicionado o novo controlo.

Quando guardar esse formulário, o Visual FoxPro pede o segundo tipo de chave, a chave de licença de tempo de execução, do controlo. Este segundo valor é armazenado no formulário. Quando o formulário é executado, Visual FoxPro passa a chave run-time para o controlo como-instancia o formulário. Isto impede que o controlo Procurar uma chave de tempo de estruturação. Este formulário será executada em qualquer estação de trabalho onde está instalado o controlo do código hierárquico, independentemente da existência de uma chave de estruturação.

A licença de tempo de design é uma chave no registo da estação de trabalho. Este é geralmente aí colocada pelo programa de instalação instalado o controlo OLE. No entanto, os fornecedores poderão fornecer um ficheiro .reg que pode ser intercalado em vez disso, o registo.

Quatro exemplos passo a passo

Os exemplos seguintes demonstram como controlos OLE podem ser utilizados em aplicações do Visual FoxPro e como estas podem ser com êxito distribuídas. Estes exemplos utilizem o controlo código hierárquico, que é fornecido com a versão profissional do Visual FoxPro 3.0. Os exemplos seguintes estão incluídos:

  • Distribuir um formulário que contém um controlo de destaques.
  • Distribuir uma classe visual que contém um controlo de destaques.
  • Distribuir um programa que tenta criar um novo controlo OLE.
  • Distribuir um programa que cria um novo controlo OLE a partir de uma classe.
Estes exemplos utilizam duas estações de exemplo trabalho denominadas DevMachine e UserMachine que tenham sido configuradas utilizando estes passos:

  1. No DevMachine, instalar o controlo do código hierárquico e respectiva licença de tempo de estruturação e registar o controlo de destaques para a caixa de ferramentas controlo de formulário. Para efectuar este procedimento:

    1. No menu Ferramentas, clique em Opções e, em seguida, clique no separador controlo.
    2. Seleccione a caixa de verificação controlos OLE e a caixa de verificação do controlo de destaques. Em seguida, clique em OK.
  2. Se o controlo do código hierárquico não estiver disponível, execute novamente o programa de configuração do Visual FoxPro. Seleccione a opção funcionalidades Professional, seleccione a caixa de verificação controlos OLE, concluir a configuração e, em seguida, repita os passos 1.a. e 1.b.
  3. No UserMachine, certifique-se de que o controlo do código hierárquico 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 controlo de destaques

  1. Crie um novo formulário em DevMachine:

    1. No Menu Ficheiro, clique em novo. Em seguida, clique formulário e clique no botão novo.
    2. Seleccione o botão de atalho ver classes nos controlos de formulário barra de ferramentas.
    3. Seleccione o controlo do código hierárquico e criar um novo controlo no formulário.
    4. Guarde este formulário como uma classe denominada Outltest numa biblioteca de classes Visual denominado Outltest.vcx. Em seguida, feche e guarde este formulário como Outltest.scx.
  2. Execute o formulário no UserMachine:

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

      NOTA: Msoutl32.ocx está localizado no directório \Windows\System ou, no Windows NT, está localizado no directório \Windows\System32.
    2. No menu Programas, clique em fazer. Seleccione o formulário e clique em. Como resultado, verá que o formulário é executado e o controlo está funcional.
    3. Para testar o destaque, introduza o seguinte na janela de comandos:
            OUTLTEST.Olecontrol1.Additem('First Item')
      										
  3. No menu Ficheiro, clique em abrir e defina o tipo de ficheiro para a classe Visual biblioteca. Em seguida, seleccione Outltest.vcx.
  4. Clique em OK para a seguinte mensagem de erro:
    Código de erro OLE 0x80040112: licença adequada para esta classe não foi encontrado. Objecto OLE está a ser ignorado. Número de registo 4.
  5. Quando o formulário é aberto, verifique se o controlo de destaques está já não existe.
  6. Efectue uma alteração ao formulário e feche-lo. Clique em Sim quando lhe for perguntado se pretende guardar.
  7. Abra novamente a classe Outltest de Outltest.vcx e verifique se o formulário que inclui a classe foi guardado sem o controlo do código hierárquico.

Distribuir uma classe visual que contém um controlo de destaques

  1. Crie a classe visual no DevMachine:

    1. No menu Ficheiro, clique em Novo e, em seguida, clique em classe para criar uma nova classe. Nome da nova classe RedOutl.vcx. Basear OLEContainerControl e guarde-uma biblioteca de classes Visual chamado Olelib.vcx.
    2. Seleccione o controlo de contentor OLE na barra de ferramenta formtool de. Quando aparece a caixa de diálogo Inserir objecto, seleccione OLEControl. Em seguida, seleccione o controlo código hierárquico.
    3. Faça duplo clique sobre a propriedade de cor de fundo e seleccione vermelho a partir da caixa de diálogo.
    4. Feche e guarde esta classe.
    5. Crie um novo formulário.
    6. Clique no botão atalho de classes de ver. Em seguida, clique em Adicionar e seleccione o Visual biblioteca Olelib.vcx da classe.
    7. Seleccione RedOutl e criar um novo controlo no formulário.
    8. Feche e guarde 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 fazer e, seleccione Subtest.scx. Como resultado, verá que o formulário é executado sem erros e os destaques controlo está a funcionar.
  3. Criar um novo formulário e adicionar Olelib.vcx a barra de tarefas controlos de formulário.
  4. Crie um novo controlo baseado RedOutl. Ocorre o seguinte erro:
    Erro: Código de erro OLE 0x80040112: licença adequada para esta classe não foi encontrado.
NOTA: A biblioteca de classes visual OLELIB.VCX é utilizada o último exemplo, para não eliminar este ficheiro.

Distribuir um programa tenta criar um novo controlo OLE

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

    1. Copiar Outltest.prg e Msoutl32.ocx para UserMachine
    2. No menu Programas, clique em, seleccione Outltest.prg, anc clique. Como resultado, verá que o formulário é criado e apresentado e, em seguida, ocorre o seguinte erro:
      Código de erro OLE 0x80040112: Licença adequada para esta classe não foi encontrado.

Distribuir um programa que cria um novo controlo OLE a partir de uma classe

NOTA: Este exemplo necessita do ficheiro de Visual classe biblioteca Olelib.vcx criado no passo 1 do exemplo "Distribuir um Visual classe que contém um código hierárquico controlo".

  1. Criar um novo programa DevMachine, adicione o seguinte código e guardar 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. Execute o programa no 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 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: 139154  (http://support.microsoft.com/kb/139154/en-us/ )