|
Conjuntos de Ferramentas de Terceiros
Os conjuntos de ferramentas de terceiros são criados do mesmo modo que os conjuntos de ferramentas de empresa, exceto pelo fato de eles já terem a solicitação adicional de instalação direta na tabela de conteúdo do desenvolvedor. Ao invés de o desenvolvedor alternar entre as tabelas de conteúdo da Caixa de Ferramentas a partir da página Toolbox Options, os conjuntos de ferramentas devem estar disponíveis a partir da Caixa de Ferramentas do desenvolvedor junto com o conteúdo personalizado. Essa também pode ser uma solicitação para um conjunto de ferramentas de empresa. Ela envolve adicionar e, talvez, atualizar registros na tabela de dados da Caixa de Ferramentas.
Criando Conjuntos de Ferramentas
Quando você cria itens de ferramenta, categoria e filtro na Caixa de Ferramentas, os registros são adicionados à tabela de conteúdo da Caixa de Ferramentas. Por padrão, os IDs únicos para esses itens possuem o formato de User.Sys(2015). A função SYS do Visual FoxPro (2015) retorna um único nome de 10 caracteres. Se você adicionar um item à Caixa de Ferramentas, o ID único é semelhante a User._0VC0UV6D2. Isso é importante ao criar conjuntos de ferramentas de terceiros. Após criar seu conjunto de ferramentas, você precisa renomear os itens para que sejam exclusivos de sua empresa ou de seu produto, por exemplo, CompanyName.Sys(2015). Dessa maneira, você pode criar scripts de instalação e atualização que afetam apenas esses itens.
Para criar um conjunto simples de ferramentas de terceiros, primeiro restaure a tabela de conteúdo da Caixa de Ferramentas clicando no botão Reset Toolbox to Default na página Customize Toolbox > Options. Quando for solicitado para manter os itens adicionados pelo usuário, clique em No. Isso faz o backup de sua tabela de conteúdo e remove todas as personalizações. Agora adicione uma categoria à Caixa de Ferramentas. Você pode fazer isso diretamente a partir do menu de atalho da Caixa de Ferramentas ou selecionando uma categoria na exibição de árvore no formulário Customize Toolbox e então selecionando o botão Add Category na barra de ferramentas da categoria. Para esse exemplo, crie uma categoria geral chamada "Cool Tools".
Agora adicione uma biblioteca de classe selecionando o botão Add Item e Class na caixa de diálogo Add Item e, então, escolhendo uma biblioteca de classe. Vamos supor que você tenha uma biblioteca de classe chamada CoolTools.vcx em uma subpasta do diretório inicial do Visual FoxPro chamada CoolTools\ que apresenta três classes: CoolBaseControl, CoolControl, e CoolForm. Após selecionar essa biblioteca de classe, os itens de ferramenta são exibidos na grade do item e são selecionados por padrão. Os desenvolvedores não deverão usar o CoolBaseControl diretamente pois essa é uma classe abstrata, de modo que você precisa limpar o item na grade (Figura 2). Você também pode editar os nomes das ferramentas diretamente na grade. Se você for distribuir um arquivo de Ajuda para suas ferramentas, esse arquivo pode ser inserido na folha de propriedades do item clicando no botão Item Properties na barra de ferramentas do item.

Figura
2 A Caixa de Ferramentas pode ser definida para exibir somente as classes que
você deseja expor.
Veja, agora, os registros que foram criados na tabela de conteúdo. Feche a Caixa de Ferramentas e vá à tabela da Caixa de Ferramentas:
USE HOME(7)+"Toolbox" EXCLUSIVE GO BOTTOM BROWSE
Isso pressupõe que sua tabela da Caixa de Ferramentas está instalada no local padrão. Você verá um registro para a categoria que você adicionou e um registro para cada item na biblioteca de classe. Nesse caso, há apenas três classes, e uma delas está inativa. Portanto, talvez você veja algo semelhante na Tabela 1.
Tabela 1 Tabela da Caixa de Ferramentas para Cool Tools
|
UniqueID
|
Showtype
|
ToolTypeID
|
ParentID
|
ToolName
|
Inactive
|
|
user._0VK0ZMPDL
|
C
|
CATEGORY.GENERAL
|
|
Cool
Tools
|
.F.
|
|
user._0VK0ZQV7H
|
T
|
CLASS
|
user._0VK0ZMPDL
|
coolbasecontrol
(COOLTOOLS)
|
.T.
|
|
user._0VK0ZQV8V
|
T
|
CLASS
|
user._0VK0ZMPDL
|
Cool
Control
|
.F.
|
|
user._0VK0ZQVAJ
|
T
|
CLASS
|
user._0VK0ZMPDL
|
Cool
Form
|
.F.
|
A estrutura da tabela da Caixa de Ferramentas é explicada detalhadamente na próxima seção, mas por enquanto observe os campos UniqueID, ToolTypeID, ShowType e ParentID. Os campos ShowType e ToolTypeID indicam qual tipo de item da Caixa de Ferramentas será exibido. Você também irá notar que ParentID no item da ferramenta está definido para a categoria UniqueID. Esses quatro registros formam os dados do conjunto de ferramenta. Antes de começar a formular o script da instalação, renomeie os IDs únicos para que incluam o nome da sua empresa. Isso será facilitado se o conjunto de ferramentas precisar ser redistribuído devido a uma atualização. Você pode gravar um código para que isso seja feito automaticamente. No entanto, para esse exemplo, é fácil fazer isso manualmente na janela do navegador. Os registros do conjunto de ferramentas devem estar semelhantes à Tabela 2.
Tabela 2 A tabela da Caixa de Ferramentas uma vez que você renomeia os IDs
únicos
|
UniqueID
|
Showtype
|
ToolTypeID
|
ParentID
|
ToolName
|
Inactive
|
|
MASSI.COOLCAT
|
C
|
CATEGORY.GENERAL
|
|
Cool
Tools
|
.F.
|
|
MASSI.COOLBASE
|
T
|
CLASS
|
MASSI.COOLCATxxxxx
|
coolbasecontrol
(COOLTOOLS)
|
.T.
|
|
MASSI.COOLCTRL
|
T
|
CLASS
|
MASSI.COOLCAT
|
Cool
Control
|
.F.
|
|
MASSI.COOLFORM
|
T
|
CLASS
|
MASSI.COOLCAT
|
Cool
Form
|
.F.
|
O próximo passo é obter esses registros e colocá-los em uma tabela de modo que você possa incluí-los no pacote de instalação. Para esse exemplo, crie uma tabela chamada CoolToolbox.dbf e anexe apenas esses registros a ela.
CD HOME()+"CoolTools" USE HOME(7)+"toolbox.dbf" IN 0 ALIAS Toolbox SELECT Toolbox COPY TO CoolToolbox FOR LEFT(uniqueid,6) = "MASSI." AND NOT DELETED()
Criando
Scripts de Instalação
Agora que seus registros do conjunto de ferramentas foram definidos corretamente nas próprias tabelas, você está pronto para formular um script de instalação que é anexado a esses registros na tabela de conteúdo da Caixa de Ferramentas e copiar a biblioteca de classe CoolTools para a pasta apropriada. Este exemplo instala o conjunto de ferramentas somente se ele ainda não existir na Caixa de Ferramentas. Geralmente, você lida com a atualização de seu conjunto de ferramenta e com a criação de outros. No entanto, isso envolve apenas a manipulação de dados padrão do FoxPro do conteúdo da Caixa de Ferramentas.
Crie um programa chamado Setup.prg e coloque-o na mesma pasta dos arquivos do conjunto de ferramentas e da biblioteca de classe—nesse caso, \Microsoft Visual FoxPro 8\CoolTools\. O código é muito básico e não possui uma interface de usuário, mas você pode facilmente fazer com que sua configuração seja um formulário e não um programa. O truque nesse código de configuração é o fato de usar a variável global _oToolbox para chegar ao local da tabela da Caixa de Ferramentas e fechar essa Caixa antes do início da instalação. A biblioteca de classe é, então, copiada da pasta atual para a pasta de destino, e os registros do conjunto de ferramentas são anexados à tabela de conteúdo da Caixa de Ferramentas. Certamente há várias maneiras para formular scripts de configuração, mas esse código desempenha um bom trabalho para este exemplo.
LOCAL lQuit, cToolboxTable, cSourceFolder, ; cTargetFolder, oExc, cSetDeleted, nPrevArea
lQuit = .F. cSourceFolder = ADDBS(JUSTPATH(SYS(16))) cTargetFolder = HOME()+"CoolTools\" cSetDeleted = SET("Deleted") nPrevArea = SELECT() SET DELETED ON
*-- Get the location of the Toolbox table, then close the Toolbox. TRY IF VARTYPE(_oToolbox)<>"O" DO (_TOOLBOX) ENDIF cToolboxTable = _oToolbox.ToolboxTable _oToolbox.Release CATCH TO oExc MESSAGEBOX(oExc.Message) lQuit = .T. ENDTRY IF lQuit RETURN ENDIF TRY *-- Open the user's Toolbox content table and see if *-- your tools are already there
USE (cToolboxTable) IN 0 ALIAS ToolboxTable SELECT ToolboxTable LOCATE FOR LEFT(UniqueID,10)=="MASSI.COOL"
*-- If our tool set is not found, create the library folder, *-- copy the class library, and append this tool set *-- records into the Toolbox content table. IF NOT FOUND() TRY MD (cTargetFolder) CATCH ENDTRY
COPY FILE cSourceFolder+"CoolTools.vc*" TO cTargetFolder+"CoolTools.vc*" APPEND FROM (cSourceFolder+"CoolToolbox.DBF") ENDIF
CATCH TO oExc MESSAGEBOX(oExc.Message) lQuit = .T. FINALLY IF USED("ToolboxTable") USE IN ToolboxTable ENDIF ENDTRY IF lQuit RETURN ENDIF
*-- Re-open the Toolbox with the installed tool set displayed. DO (_TOOLBOX) WITH "MASSI.COOLCAT" MESSAGEBOX("Your Cool Tools are now installed.") SET DELETED &cSetDeleted SELECT (nPrevArea)
Agora seu conjunto de ferramentas Cool Tools está pronto para ser distribuído. Os arquivos que você precisa distribuir estão na pasta Microsoft Visual FoxPro 8\CoolTools e estão listados na Tabela 3.
Tabela 3 Arquivos necessários para a distribuição de seu conjunto de
ferramentas Cool Tools
|
Nome
do Arquivo
|
Descrição
|
|
CoolToolbox.dbf CoolToolbox.fpt
|
Esses
arquivos apresentam os dados do conjunto de ferramentas
a serem carregados para a Caixa de
Ferramentas.
|
|
CoolTools.vcx CoolTools.vct
|
Esses
arquivos apresentam as classes cool atuais para que os
desenvolvedores usem.
|
|
Setup.prg
|
Este
é o script de instalação.
|
Empacotamento
e Distribuição dos Conjuntos de Ferramentas
Há várias maneiras para você criar seu pacote de distribuição, de arquivos ZIP simples ao Microsoft Installer package (MSI). No entanto, há um modo ainda melhor para distribuir e instalar esses conjuntos de ferramentas de terceiros por meio da criação de um painel de tarefas no Task Pane Manager. O Task Pane Manager é um outro novo recurso do IDE do Visual FoxPro 8.0. Ele é usado para criar painéis de tarefas que os usuários podem instalar. Quando o usuário instalar o painel, você pode fornecer um link para acessar o script de instalação para seu conjunto de ferramentas. Criando um painel de tarefas, você também pode fornecer o conteúdo dinâmico para transmitir quaisquer atualizações, Ajuda ou outras informações relacionadas ao conjunto de ferramentas Cool Tools. Os painéis podem conter XML/XSLT, HTML, exibir páginas da Web inteiras na Internet, chamar XML Web services ou apresentar controles Visual FoxPro. A melhor parte é o fato de o Task Pane Manager empacotar automaticamente todos os arquivos dependentes em um arquivo para distribuição.
Para este exemplo, você pode criar um painel em HTML que obtém o conteúdo dinâmico de um arquivo XML em seu computador local. Na verdade, o conteúdo no painel deve vir do servidor Web da sua empresa em uma intranet ou na Internet. Além de HTML, XML, e XSLT, os painéis de tarefa também executam código rich do Visual FoxPro a partir de uma biblioteca de classe ou de um arquivo de programa. Se você não está acostumado com as linguagens mark-up, é possível criar painéis gravados no Visual FoxPro.
Criando um Painel de Tarefa
Primeiro abra o Task Pane Manager e clique no botão Options para abrir a caixa de diálogo Task Pane Options. Na exibição de árvore à esquerda, selecione Task Pane Manager – Customize, e então clique no botão Customize Panes. Isso abre o formulário Pane Customization. Clique no botão New (ALT+N) para criar um novo painel. Serão solicitados o nome do fornecedor e um ID único. Você deverá seguir a mesma convenção de nome descrita anteriormente ao criar um conjunto de ferramentas. Na caixa Name, digite Cool Tools e selecione HTML como no Painel Type (Figura 3).

Figura
3 Define um painel de tarefas em HTML especificando o nome do Fornecedor e ID
Único.
É criado um nó de Cool Tools na exibição de árvore do conteúdo do painel à direita, e a guia General é exibida. Esse nó é referenciado como conteúdo raiz. Você pode selecionar uma imagem a ser exibida no Task Pane Manager clicando no botão Select Image (Figura 4); caso contrário, você receberá uma imagem padrão.
Figura
4 As seções de conteúdo que você cria são exibidas na árvore de conteúdo do
painel no formulário Pane Customization.
Adicionando Conteúdo do Painel
Clique no botão Add (ALT+D) para adicionar uma subseção do conteúdo. Por padrão, é criada uma seção chamada New Content. Na guia General, digite o nome Install. Essa seção será um link estático que executa alguns códigos manipuladores que solicitam um script de instalação (Setup.prg). Abra a guia Data, selecione Static Text for Source e digite o seguinte HTML:
< a href="vfps:runinstaller" class="button">Install Tool Set
A sintaxe especial href vfps: chama o código manipulador, passando a ação runinstaller. Abra a guia Handler Code e digite o seguinte código Visual FoxPro:
LPARAMETERS cAction, oParameters, oBrowser, oContent TRY DO CASE CASE cAction == "runinstaller" DO (oContent.CacheDir+"setup.prg") ENDCASE ENDTRY
A propriedade CacheDir do objeto do conteúdo retorna o caminho completo para a pasta em que o painel de tarefas está instalado. Esse é o lugar em que os arquivos do conjunto de ferramentas também serão instalados (saiba mais sobre isso posteriormente). Quando você clica no link Install Tool Set no painel de tarefas, esse código executa o Setup.prg.
Em seguida, crie a seção de conteúdo dinâmico. Se você não quiser transmitir o conteúdo dinâmico no painel de tarefas, você pode ir à próxima seção.
Adicionando Conteúdo do Painel Dinâmico
Para definir uma subseção do conteúdo dinâmico, clique no botão Add (ALT+D) e digite What's New na caixa Name. O conteúdo dessa subseção exibe dados a partir de um arquivo XML. Como essa seção aparece na parte superior, clique na seta para cima localizada acima da árvore de conteúdo do painel. Abra a guia Data e selecione URL para Source e digite o seguinte na caixa de texto:
file://c:/coolinfo.xml
Na verdade, esse deveria ser um endereço http: para um arquivo localizado na Internet. No entanto, para esse exemplo, ele será obtido a partir de um arquivo local. Lembre-se de que esse arquivo não é distribuído com o painel de tarefas, de modo que especificar um arquivo local aqui não funcionaria em outro computador. No entanto, essa técnica é ótima para teste.
Agora você cria o arquivo Coolinfo.xml e coloque-o em sua unidade C. O esquema do XML depende totalmente de você. Em um momento, você irá especificar uma folha de estilo, de modo que você tenha total flexibilidade no modo como estruturar seus dados. Há várias maneiras de se criar painéis de tarefas em que o arquivo do conteúdo não precisa ser XML. Para este exemplo, o conteúdo XML é muito simples.
< ?xml version='1.0' encoding='windows-1252' standalone='no'?> < VFPData> < content> < name>Cool Tools Home Page< /name> < link> < ![CDATA[vfps:linkto?url=http://www.massitools.com/default.htm]]> < /link> < desc>Take a tour of all the Cool Tool products!< /desc> < /content> < content> < name>Cool Tools Reference< /name> < link> < ![CDATA[vfps:linkto?url=http://www.massitools.com/help.htm]]> < /link> < desc>Access the Cool Tools Help file.< /desc> < /content> < content> < name>Cool Tools News< /name> < link> < ![CDATA[vfps:linkto?url=http://www.massitools.com/news.htm]]> < /link> < desc>Get the most up-to-date information on Cool Tools.< /desc> < /content> < /VFPData>
Há três nós de conteúdo definidos no arquivo XML que apresentam descrições breves e URLs para páginas da Web na Internet (embora os URLs neste exemplo não existam de verdade). Agora você especifica a transformação desse dado. Clique na guia Transform Data, selecione XSL como Type, Static Text como Source e digite a seguinte transformação do XSL:
< xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> < xsl:template match="VFPData"> < table border="0" width="100%" cellpadding="2" cellspacing="0" > < xsl:apply-templates /> < /table> < /xsl:template>
< xsl:template match="content" name="contents"> < xsl:variable name="linkvar" select="link"/> < tr> < td> < a href="{$linkvar}">< xsl:value-of select="name"/>< /a> < /td> < /tr> < tr> < td class="description"> < xsl:text>- < /xsl:text>< xsl:value-of select="desc"/> < /td> < /tr> < /xsl:template> < /xsl:stylesheet>
Isso transforma seu XML em uma tabela em HTML que será usada na transformação final do conteúdo raiz. Agora é possível fazer o download do conteúdo XML contido no arquivo Coolinfo.xml a partir do local especificado e armazenar em cache de acordo com as configurações de Task Pane Manager. Se não for possível estabelecer a conexão posteriormente, a cópia em cache é usada. Se o URL não foi atingido na primeira vez em que você abrir o painel, você poderá especificar os dados XML padrão para serem exibidos na guia Default Data.
Mesclando Subseções do Conteúdo
Agora que você criou o conteúdo da subseção, é necessário colocá-los na seção do conteúdo raiz, que é a informação exibida no painel de tarefas. Selecione o Cool Tools do conteúdo raiz a partir da árvore de conteúdo Pane. Clique na guia Data e selecione Static Text como Source. Digite o seguinte na caixa de edição:
< VFPData> < !-- XMLCONTENT --> < /VFPData>
O comentário XML especifica que o conteúdo XML interno será a fonte de dados para esse painel. Quando o Task Pane Manager apresentar esse painel, ele substitui o comentário com os dados de conteúdo a partir de todas as subseções antes de fazer a transformação final. Você especifica a transformação final em um documento HTML na guia Transform Data. Nessa guia, selecione XSL como Type e Static Text como Source. Digite a seguinte transformação do XSL:
< xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> < xsl:output method="html" /> < xsl:template match="VFPData"> < html> < head> < title>Cool Tools< /title> < style> BODY { font-family:verdana; font-size:9pt; margin-top:0px; margin-left:2px; margin-right:2px; margin-bottom:2px; } H3 {margin-bottom:0px; margin-top:0px; font-weight: bold} A:link {color: #0033CC;text-decoration: none} A:visited {text-decoration: none} A:hover {color: #CC0000;text-decoration: underline} A {text-decoration: underline; color: #0066FF} TD {font-size:9pt} TD.TableTitle { padding:2px;background-color:#0000FF;color:#FFFFFF; } H3 {margin-bottom:0px;margin-top:0px; font-weight: bold} TD.Description {font-size:8pt; } A.button { background:#E0DFE3; font-weight:bold; padding:2px; margin-left:0px; margin-right:2px; border-top:1px solid #E5E4E8; border-left:1px solid #E5E4E8; border-bottom:1px solid #6699CC; border-right:1px solid #6699CC; color: #0033CC font-size:10pt; line-height:2em; text-align:center; } < /style> < /head> < body> < table cellSpacing="0" cellPadding="0" width="100%"> < tr> < td class="TableTitle" width="100%" nowrap="nowrap"> < h3>Cool Tools< /h3> < /td> < /tr> < tr> < td>< /td> < /tr> < xsl:for-each select="PaneContent"> < tr> < td height="10">< /td> < /tr> < tr> < td > < xsl:value-of select="HTMLText" disable-output-escaping="yes"/> < /td> < /tr> < /xsl:for-each> < /table> < /body> < /html> < /xsl:template> < /xsl:stylesheet>
Essa folha de estilos converte XML no documento HTML final que é exibido no painel. Primeiro ela primeiro especifica os estilos para formatar o HTML em sintaxe padronizada da folha de estilos. O código importante, no entanto, está localizado entre as tags < body>
< /body>. Ele especifica isso para cada subseção do conteúdo do painel, saída dos dados contidos no nó < HTMLText>. Conforme mencionado anteriormente, o Task Pane Manager cria XML internamente que contém todos os dados transformados do conteúdo da subseção. Ele possui um nó para cada subseção que você cria que contém informações sobre o conteúdo da subseção. Os dados transformados a partir da subseção estão no nó < HTMLText>. No XSLT anterior, tudo o que você está fazendo é retirar o conteúdo em todas as subseções e formatá-lo em um documento HTML. Você pode observar alguns painéis de tarefas existentes, como Start e XML Web Services, para ver mais exemplos dessa técnica.
Quando você clica no botão Apply no final do formulário Pane Customization, o Task Pane Manager exibe o painel Cool Tools (Figura 5).

Figura
5 Você pode facilmente criar um painel de tarefas para distribuir seu conjunto
de ferramentas e exibir o conteúdo dinâmico a partir da Internet.
Você verá o conteúdo XML exibido na seção superior do painel. Se você modificar o arquivo Coolinfo.xml e clicar no botão Refresh no Task Pane Manager, a seção do conteúdo é atualizada. Essa é uma maneira de você colocar o conteúdo dinâmico nas áreas de trabalho dos usuários.
Empacotando Arquivos Dependentes
Agora que você definiu o painel de tarefas de Cool Tools, é hora de adicionar o script de instalação e os arquivos do conjunto de ferramentas no pacote do painel de tarefas. Selecione View Files na parte superior à direita do formulário Pane Customization. Isso altera a exibição de modo que você possa gerenciar os arquivos no pacote de distribuição. Clique no botão Add (ALT+A) e selecione Setup.prg, CoolTools.vcx e CoolToolbox.dbf. (Selecionando os arquivos VCX e DBF também faz com que os arquivos VCT e FPT sejam obtidos automaticamente). Clique em Apply no final do formulário para salvar suas alterações. O Task Pane Manager pode agora empacotar esses arquivos em um arquivo de distribuição XML. Ele será instalado no cache do painel em computadores dos usuários quando eles instalam o painel de tarefas. Quando o Setup.prg for executado, o conjunto de ferramentas é instalado, e a biblioteca CoolTools é copiada para uma pasta no diretório base do Visual FoxPro.
Criando, Distribuindo e Instalando o Pacote
Para criar o pacote de instalação do painel de tarefas, selecione Cool Tools no formulário Pane Customization e clique em Publish (ALT+P). Será solicitado o tipo de pacote a ser criado. Selecione Publish all content in pane, certifique-se de que os arquivos Publish associados ao painel estejam selecionados e clique em OK. Selecione o diretório, digite um nome para o arquivo de pacote XML (ele é padronizado para cool_tools.xml), e então clique em Save. Esse processo transfere todas as informações do painel e quaisquer arquivos que você adicionou ao pacote na seção Files. Tudo o que você deve distribuir é um único arquivo XML. Quando o painel estiver instalado, o Task Pane Manager desfaz a transferência de todos os arquivos e coloca-os no cache do painel.
Você pode testar a instalação do seu painel de tarefas e do conjunto de ferramentas primeiro excluindo o painel Cool Tools. Selecione o painel, clique em Delete e então em Save no formulário Pane Customization. Na caixa de diálogo Task Pane Manager Options, selecione Task Pane Manager > Customize a partir da exibição de árvore e clique no botão Install Pane. Vá ao pacote do painel cool_tools.xml e clique em OK. O painel Cool Tools aparece no final da lista. Para testar a instalação do conjunto de ferramentas corretamente, certifique-se de ter excluído a categoria Cool Tools a partir de sua Caixa de Ferramentas se ainda estiver lá. Em seguida, renomeie a pasta \CoolTools no diretório base do Visual FoxPro. O programa de instalação cria esse diretório e copia a biblioteca de classe CoolTools a partir de sua pasta do cache do painel. Clique no link Install Tool Set para executar a instalação e então veja na Caixa de Ferramentas se a categoria Cool Tools aparece.
Ao instalar os pacotes do painel XML de que você fez o download da Internet, tenha confiança total no provedor. Quando o painel de tarefas estiver instalado, ele poderá executar o código do Visual FoxPro em seu contexto de segurança. Portanto, tenha cuidado! No entanto, caso você seja um fornecedor de ferramentas, provavelmente já possua um site confiável e assina digitalmente seus downloads. A distribuição de painel dentro da comunidade do desenvolvedor é algo mais ou menos perigoso do que a troca de qualquer outro código – apenas fique atento com relação a quem o dá a você.
Agora que você compreendeu como criar conjuntos simples de ferramentas e como distribuí-las em um painel de tarefas dinâmico, você também deverá saber como estender os comportamentos dos itens na Caixa de Ferramentas. Você pode criar comportamentos personalizados simples chamados suplementos sem precisar saber muito sobre a arquitetura da Caixa de Ferramentas. No entanto, para criar suplementos realmente úteis, você precisa ficar atento à arquitetura, às tabelas de dados e classes de item de modo que você possa tirar uma vantagem completa do poder que a caixa de Ferramentas fornece.
Voltar para o menu
|
|