Object Linking and Embedding é uma tecnologia que permite que as aplicações

Associações, as ligações, e OLE-How Can This Get Confuso?

Visão geral

OLE (Object Linking and Embedding) é uma tecnologia que permite que aplicações compartilhem dados e funcionalidade facilmente. I like that. Parece bom. É rápido e fácil de compreender, e é basicamente exato. Usando OLE, os aplicativos podem passar dados de e para trás, e OLE também permite que um servidor e cliente para passar a funcionalidade de programação entre eles. O servidor é capaz de fazer algo que o cliente deseja fazer. OLE trabalha extensivamente com o registro. Mas antes de chegarmos a isso, é importante compreender como OLE evoluiu e como ele funciona.

Entendimento OLE (ou não)

  

Primeiro, vamos começar com algumas regras básicas:

• Não há nenhuma maneira para aprender tudo sobre OLE em um tutorial. (Duvido que você pode aprender tudo sobre OLE em um único tutorial!)

• Mesmo os peritos OLE não são realmente especialistas.

• Há uma série de bons tutoriais sobre OLE, mas a menos que você está programando, evitá-los.

• Se você não entender tudo sobre OLE depois de ler este tutorial, não me sinto mal.

• O autor não assume nenhuma responsabilidade pelo que acontece quando você acorda às 2 da manhã e gritar: "Agora eu entendo!" A maioria dos programadores não constroem suas aplicações OLE a partir do zero. Em vez disso, para as peças difíceis, que utilizam sistemas de desenvolvimento como o Microsoft Developer Studio. Hoje, um programador pode criar um aplicativo OLE quase tão rapidamente quanto qualquer outro tipo de aplicação. A maioria dos aplicativos OLE gerenciar sua configuração inicial, por si mesmos. Algumas aplicações dependem de seus programas de instalação para fazer a configuração OLE. E algumas aplicações utilizam o programa de instalação tanto para configurar OLE e, se a configuração ficar danificado, para reparar o dano, na medida em que pode reconfigurar os componentes OLE. Isso levanta algumas questões. Primeiro, como funciona o OLE? Em segundo lugar, o que faz OLE tem a ver com o registro? Além disso, porque nós temos que se preocupar com isso? Não podemos mencionar DDE? E onde, oh onde, faz o ajuste da área de transferência essa bagunça? OK, fique atento para as respostas a todas estas perguntas.

Introdução ao OLE

Kraig Brockschmidt da Microsoft é provavelmente o mais conhecido especialista em OLE. Eis como ele descreve a sua evolução: o Windows API (Application Program Interface) evoluiu para o Windows Objetos, que eventualmente se tornou o que conhecemos como OLE. Kraig admite que não é tão simples, mas OLE desenvolvido pela evolução, não por revolução. Caminho de volta na boa Antigamente, o Windows era muito mais simples e mais fácil de entender. Em sua primeira encarnação, o Windows permitiu praticamente sem comunicação entre processos. Houve a área de transferência (que ainda sabemos e amor), de que um programa poderia postar dados que outro programa pode (espero) ler. No entanto, esta troca necessária a interação do usuário. O usuário era obrigado a tomar medidas para colocar os dados selecionados na área de transferência e, em seguida, a aplicação beneficiário tomar medidas para recuperar os dados armazenados na área de transferência. Surgiram alguns problemas. Primeiro, a área de transferência básica suportada apenas um conjunto muito limitado de tipos de dados. Programas poderia trocar dados em vários formatos de base (texto e binário, em sua maior parte), mas estes formatos foram duramente a falta de flexibilidade para expressar qualquer objeto que foi composto por dados compostos.

Composto de dados?

Dados é composto de dados que contém informações em diversos formatos. A maneira mais fácil tipo de dados composto de imaginar é um documento de processamento, que inclui algumas imagens. Neste ponto da evolução da área de transferência, o programa de processamento não poderia simplesmente lançar esse documento e suas imagens na área de transferência. Afinal, como seria o programa de identificar o formato desses dados? Se ele disse binário, nenhuma outra aplicação seria capaz de entender ou usar os dados. Se ele disse que o texto, o que aconteceria quando uma aplicação tentou usar os dados e se deparou com as imagens? Será que apagar as imagens? Claro, que iria trabalhar, mas se o usuário

queria que o documento completo, incluindo as imagens, ele ou ela seria mais descontente com os resultados. Microsoft percebeu rapidamente que precisava de um pedido direto, aplicação de método de comunicação entre aplicativos que não confiam na área de transferência. Depressa ou devagar, dependendo do seu ponto de vista, o conceito de DDE (Dynamic Data Exchange) nasceu. Realmente "concebido" seria uma descrição melhor, porque DDE não era viável em seu formato original. Como ele cresceu, DDE não permitir que as aplicações de comunicação de dados. No entanto, ainda havia problemas. Com o DDE, não havia maneira de aplicativos para descobrir mais sobre seus parceiros. Desenvolvedores criaram aplicações mais especificamente como DDE pares. Para aplicações a partir de duas fontes independentes, DDE era improvável de ser útil, porque os desenvolvedores terão de cooperar a fim de tirar proveito de DDE. OLE tornou-se o próximo estágio no desenvolvimento das comunicações interapplication e partilha de dados. OLE deferiu um pedido para interagir com o outro sem saber, com antecedência, sobre o outro aplicativo. Magic, realmente. A Área de Transferência A transferência é o método original e mais básicas para transferência de dados entre aplicações. A área de transferência suporta transferências inter-aplicação (entre duas aplicações) e de transferências intraapplication (dentro da mesma aplicação). Existe apenas um objeto em a área de transferência a qualquer momento. (Microsoft Office usa uma interface de transferência múltipla documento, no entanto, esta interface é criado e implementado pelo Instituto, e não o Windows.) Existem algumas regras complexas na área de transferência, tais como as seguintes:

• O pedido não pode presumir que um objeto colocado na área de transferência permanecerá lá depois que o aplicativo libera a transferência. Portanto, não é possível usar a Área de Transferência como um local de armazenamento temporário.

• O formato do objeto na área de transferência deve estar em um dos formatos padrão (listados abaixo), ou a aplicação colocar os dados na área de transferência deve estar preparado para processar ou exibir o conteúdo da Área de Transferência's.

• Alguns objetos na área de transferência está em um formato que não é nativo do Windows. Esses objetos de exigir a aplicação que coloca o objeto a ser disponível para exibir ou processar o objeto, se necessário. Windows XP suporta os seguintes tipos de dados na área de transferência, sem criar formatos personalizados: CF_BITMAP um bitmap (imagem) CF_DIB A DIB (Device Independent Bitmap) CF_DIBV5 Uma versão 5 bitmap (disponível no Windows 2000 e versões posteriores) CF_DIF A DIF (Data Interchange Format) objeto

CF_DSPBITMAP Um bitmap formato privado CF_DSPENHMETAFILE Um formato de exibição metarquivo avançado objeto CF_DSPMETAFILEPICT Um metaficheiro-objeto do formato de exibição CF_DSPTEXT um objeto em formato texto de apresentação, com formato privado CF_ENHMETAFILE Um objeto Enhanced Metafile CF_GDIOBJFIRST CF_GDIOBJLAST através de uma escala de valores inteiros para ApplicationDefined GDI (Graphical Device Interface ) objetos CF_HDROPV Um identificador do tipo HDROP, identificar uma lista de arquivos CF_LOCALE informações Locale CF_METAFILEPICT Um objecto imagem metarquivo CF_OEMTEXT um formato de texto no OEM (original equipment manufacturer) do conjunto de caracteres CF_OWNERDISPLAY Um objeto do formato de exibição proprietário CF_PALETTE Um objeto CF_PENDATA Uma paleta de cores objeto de dados contendo as extensões de caneta para o Microsoft Windows para Pen Computing CF_PRIVATEFIRST através CF_PRIVATELAST Uma gama de valores inteiros para os formatos Área privada CF_RIFF Um objeto de som muito complexo para o formato CF_WAVE CF_SYLK um objeto em Microsoft Symbolic Link (SYLK) formato CF_TEXT Uma planície objeto de formato de texto CF_WAVE Um objeto de áudio, utilizando PCM (Pulse Code Modulation) CF_TIFF Um Tagged Image File Format objeto CF_UNICODETEXT Um texto objeto usando o caractere Unicode de dois bytes definidos como esta lista mostra, o Windows suporta muitos formatos diferentes, sem qualquer intervenção do programador . No entanto, em muitas situações, estes formatos não são adequados. Nestes casos, o pedido de serviço (colocação), os dados sobre a área de transferência pode registrar um novo formato com o Windows. Para habilitar a visualização de dados da Área de Transferência, você também deve ter o código que exibe os dados de transferência.

DDE

O processo de DDE usa a área de transferência para transferir grandes blocos de dados, também. Normalmente, o aplicativo de servidor coloca os dados na área de transferência e usa DDE para dizer que o aplicativo cliente sobre os dados. Os aplicativos de servidor são capazes de passar pequenos objetos de dados para o aplicativo cliente como parte da conversa DDE.

O que é OLE?

Embutir

Com a incorporação, um objeto (o que poderia ser um objeto de dados ou funcionalidade do servidor) está incorporado na aplicação do cliente ou dados da aplicação do cliente. Quando você inserir o Word no Outlook, você cria uma janela e, usando OLE, você diz o Word para usar esta janela para interagir com o usuário. Você também dizer o Word como ele deve aparecer para o usuário, por exemplo, o Outlook personaliza as barras de ferramentas do Word. Este incorporação de obras, independentemente de o Word está sendo executado ou não. Se o Word estiver em execução, qualquer coisa que o Word está fazendo atualmente não é afetado por ter incorporado em Word e Outlook do sistema de edição-mail. Na verdade, o servidor OLE trata esses casos como algo separado do programa, e os mantêm separados. Há vantagens, entretanto. Se o servidor estiver em execução, não é necessário para carregar uma segunda cópia do servidor. Em vez disso, a parte dois casos, o código executável. Com objetos incorporados, o cliente possui uma cópia privada do objeto. O servidor pode atualizar o objeto do cliente, que o servidor não irá alterar quaisquer outras instâncias dos dados. Cada vez que um objeto incorporado é utilizado, haverá uma nova cópia do objeto. Para objetos complexos, gráficos, e assim por diante, isso pode consumir recursos do sistema considerável.

Object Linking

Object Linking é uma tecnologia misteriosa, onde um aplicativo cria um objeto usado por outro aplicativo mais tarde. Um objeto vinculado é de propriedade do pedido de criação, e há apenas uma cópia do objeto. O servidor é a aplicação criando. As ligações do servidor para o aplicativo cliente. Quando o servidor atualiza o objeto, o cliente recebe uma mensagem e atualiza o objeto de exibição no cliente quando necessário. Alguns objetos não são visíveis, por isso não há mostrar necessária actualização. A coisa mais próxima a mostrar como funciona ligando é olhar para o próprio Windows. Há uma série de ícones em seu desktop. A maioria são chamados de atalhos, que são indicados por que até engraçado apontando para a imagem de seta no canto inferior esquerdo. Pense destes atalhos como links. Abra as propriedades de um atalho e ir para o separador Atalho. Em Alvo caixa de edição, você vai ver o nome do arquivo que está associado com este atalho (link). Se você tem uma dezena de atalhos para o mesmo arquivo, cada um atalho abrirá a mesma cópia do programa. Não haverá uma dezena de cópias do programa.

OLE controles ActiveX, também conhecido por

Nos exemplos anteriores, a aplicação de servidor era um programa típico do Windows. Aplicativos como este são aplicações nativas do Windows. Por exemplo, o Word para Windows é um aplicativo de servidor. Word tem uma interface de usuário e é executado por conta própria, sem necessidade de qualquer cliente para incorporar o objeto do Word. Às vezes, o aplicativo servidor não tem um nativo, modo stand-alone. Isto é, tal pedido não tem uma interface de usuário, nenhuma janela, nenhuma forma directa para o usuário interagir com o programa. Aplicações como este são controles ActiveX, que costumava ser chamado OLE

controles. Os controles ActiveX são usados em programas como Internet Explorer e outros navegadores da web, no entanto, muitos programas podem usar os controles ActiveX. Observação: Um controle ActiveX deve ser incorporado e não pode nunca ser executado sozinho. Um usuário típico poderia ter um grande número de controles ActiveX instalado e, o usuário nunca poderá saber. É comum que um usuário a baixar controles ActiveX do Internet sem nunca perceber que isso aconteceu.

um artigo submetido por Dessue Mathenes


Isenção de responsabilidade:O nosso site não se responsabiliza pelo conteúdo deste artigo. Webarticles é uma fonte de informação livre.
Importante: Este artigo "Object Linking and Embedding é uma tecnologia que permite que as aplicações" foi traduzida por um software automático. Nós sentimos muito por quaisquer erros de ortografia que pode ter ocorrido. Obrigado pela sua compreensão.


Online: 306 users browsing the articles directory