O que há de novo no VB6.0


Um Rápido Exame do VB6


Dizer que o Visual Basic 6.0 tem alguns novos recursos interessantes é nada mais nada menos do que uma super simplificação. O Visual Basic 6.0 tem tantos novos recursos em tantas áreas que é quase impossível não cometer este erro. Novos controles permitem que suas aplicações incorporem a aparência e funcionalidade encontradas no Office 97 e no Iternet Explorer. Você não mais precisa ter ao menos uma instância de um controle no seu formulário para criar controles em tempo de execução. Com o VB6, você adiciona controles dinamicamente ao seu projeto apenas com código, e pode criar controles ActiveX mais enxutos e funcionais do que antes. Você pode mesmo criar aplicações server-side que usam HTML dinâmico com DLLs do tipo Internet Information Server.


Trabalhando com os Windows common controls

Muitos dos controles discutidos neste capítulo não são controles ActiveX intrínsecos (padrões) . Portanto, eles precisam ser adicionados ao seu projeto da caixa de diálogo Components (escolha Components do menu Project). Quando você abrir a caixa de diálogo Components, selecione Microsoft Windows Common Controls, Microsoft Windows Common Controls-2, e Microsoft Windows Common Controls-3 da lista.


Obtendo Mais com os Controles Melhorados

Antes de olharmos nas adições completamente novas ao VB6, vamos examinar alguns melhoramentos nos recursos da versão anterior.

O Evento Validate e a Propriedade CausesValidation

O primeiro melhoramento que afeta a todos os controles ActiveX intrínsecos é a adição do evento Validate e da propriedade CausesValidation. Antes do VB6, se você tivesse que verificar se uma palavra havia sido digitada corretamente em um TextBox, muito provavelmente iria programar o evento LostFocus do TextBox para ver se o usuário havia

entrado com os dados pertinentes. Se ele não tivesse entrado com uma informação correta, você poderia chamar o método SetFocus do controle no qual a validação estivesse ocorrendo para impedir que o usuário seguisse adiante. Às vezes a lógica desta programação pode causar problemas ao usuário. Se ele nunca conseguir entrar com um dado pertinente, ele ficará preso àquele controle – nem mesmo poderá clicar em um botão de Ajuda. O novo evento Validate e a propriedade CausesValidation servem para lidar com este tipo de problema.

A Listagem 2.1 mostra como usar o evento Validate para checar os dados de um TextBox. O código se refere à ilustração da Figura 2.1. Se os usuários não digitarem a palavra Cherries no primeiro TextBox, eles não poderão prosseguir para o segundo TextBox. Contudo, porque o valor da propriedade CausesValidation do CommandButton é configurada como False, os usuários podem clicá-lo para obter ajuda sobre qual a palavra correta a ser introduzida.


Usando a propriedade CausesValidation

Note o parâmetro Cancel na Linha 1. O Visual Basic provê este parâmetro com o procedimento de evento Validate do controle. Se você atribui o valor True ao parâmetro Cancel (Linha 7), o foco do programa não poderá ser mudado do controle exceto se for para um controle que tenha a sua propriedade CausesValidation configurada como False.


LISTAGEM 2.1  Permitindo Tratamento de Eventos nos Controles Durante a Validação de Dados

01 Private Sub Text1_Validate(Cancel As Boolean)
02 `Feito de tal modo que se o usuário não
03 `entrar com a palavra "Cherries" no TextBox
04 `o cursor será retornado para este TextBox
05 If Text1.Text <> "Cherries" Then
06 MsgBox "Você não pode ir adiante!"
07 Cancel = True
08 End If
09 End Sub
10 Private Sub Command1_Click()
11 Dim strMsg As String
12 Dim strQuote As String
13 strQuote = """"
14 `Cria uma mensagem instrucional
15 strMsg = "Você deve digitar a palavra " & strQuote
16 strMsg = strMsg & "Cherries" & strQuote & " "
17 strMsg = strMsg & "no primeiro TextBox."
18 MsgBox strMsg, vbInformation, "Instruções"
19 `Você pode clicar neste CommandButton 
20 `mesmo que o parâmetro Cancel 
21 `do evento Validate seja posto em  True,
22 `porque o valor da propriedade CauseValidation
23 `deste CommandButton esta em False.
24 End Sub

Novas e Excitantes Melhorias Gráficas

O Visual Basic, como sempre, lhe permite usar gráficos para dar mais vida aos seus programas, e a Microsoft melhorou as capacidades gráficas de muitos controles. Primeiramente o controle ImageList agora suporta arquivos .gif. Este melhoramento é substancial, porque quase todo controle que usa gráficos tem um controle ImageList associado a ele.

Os controles ListView e TabStrip foram melhorados para permitir que você use imagens e ícones para a decoração e descrição. O controle ListView ao qual você pode adicionar uma imagem de fundo na área de cliente. A figura de fundo pode ser centralizada, espalhada como um padrão ou posicionada em qualquer dos cantos. Você pode adicionar check boxes aos objetos ListItems dentro do controle atribuindo True à propriedade CheckBoxes do ListView . Também é possível fazer com que as barras de rolagem do ListView apareçam no novo estilo flat pela atribuição de True à propriedade FlatScrollBars.

FIGURA 0 Você agora pode ter um gráfico como figura de fundo na área de cliente de um controle ListView.

O novo controle TabStrip, que agora permite a colocação de gráficos em cada tab. O controle também tem uma nova propriedade, HotTracking, que você pode configurar em tempo de projeto. Se você atribuir True à propriedade HotTracking, a tab se destaca quando o mouse é passado sobre ela. Como mencionado anteriormente, como em todos os novos controles, o controle TabStrip tem um procedimento de evento Validate.

FIGURA 1 O controle TabStrip foi melhorado para permitir ícones em cada tab.

O controle Slider tem uma nova propriedade, Text. Quando você atribuir uma string à propriedade Text, essa string aparece dentro de uma janela de ToolTip. A posição da janela ToolTip é determinada pela propriedade TextPosition do controle Slider

FIGURA 2 O controle Slider agora tem uma propriedade Text que exibe uma janela ToolTip.

Muitos melhoramentos foram feitos ao controle ToolBar. Agora é possível adicionar menus drop-down à toolbar usando um ButtonMenu. A propriedade Style suporta um atributo transparente (tbrTransparent) que permite que os botões na toolbar apareçam e comportem-se como os botões da toolbar do Internet Explorer.Veja mostra o efeito do atributo transparente e uma coleção de botões em que cada botão tem seu próprio ButtonMenu.

FIGURA 3 O controle ToolBar foi melhorado para permitir ButtonsMenus e hotspots. A página de propriedades permite-lhe configurar a ToolBar num nível de alto detalhamento.

Trabalhando com os Novos Controles

O Visual Basic é distribuído com vários novos controles ActiveX. Alguns destes controles aplicam-se a programas stand-alone, outros aplicam-se ao desenvolvimento de projetos de acesso a dados em nível empresarial. Nas seções seguintes, você verá os novos controles que se relacionam com os seus esforços de desenvolvimento de projetos para desktop.

Selecionando Datas com os Controles MonthView e DateTimePicker

O VB6 tem dois controles que oferecem um novo modo de ver e selecionar datas: MonthView e DateTimePicker. O que é interessante sobre esses novos controles é que eles permitem que as datas sejam vistas e selecionadas dentro do contexto de um calendário. O controle MonthView apresenta um calendário completo que você pode percorrer de dia a dia ou de mês a mês. O controle DateTimePicker é similar ao MonthView exceto que o calendário é apresentado quando o usuário clica na seta para baixo do controle. A figura 4 mostra todos os novos controles.

FIGURA 4 Todos os novos Windows common controls estão incluídos nos OCXs MSCOMCTRL.OCX, MSCOMCT2.OCX, e COMCT332.OCX.

Criando Barras de Ferramentas Móveis com a CoolBar

O novo controle CoolBar é similar às Coolbars que você tem visto usando o Office 97 e o Internet Explorer. Uma CoolBar é uma toolbar que você pode mover em um formulário, e o controle CoolBar é um container para outros controles ActiveX. Assim você pode oferecer aos seus usuários mais flexibilidade e utilidade pela inclusão de outros controles à sua CoolBar. A figure 2.6 mostra uma CoolBar com três objetos Band . A primeira Band contém dois OptionButtons, a segunda contém um controle ToolBar com três botões, e a terceira contém um controle ComboBox. Em tempo de execução você pode mover as Bands pela área interna da Coolbar do modo que quiser.


Bands da CoolBar

Uma band é uma barra dentro de uma CoolBar. Uma CoolBar pode ter muitas bands que podem ser movidas dentro da área de cliente da CoolBar.


Usando Gráficos com uma ImageCombo


Trabalhando com ImageLists

Uma ImageList é um controle sem janela que você usa para armazenar diferentes tipos de gráficos: bitmaps, gifs, ícones, e assim por diante. Você associa uma ImageList a um controle pelo assinalamento da ImageList em questão à propriedade ImageList do controle. Por exemplo, para assinalar uma ImageList chamada ImageList1 a uma ImageCombo, o código é ImageCombo.ImageList = ImageList1.


O controle ImageCombo, novo com o Visual Basic 6, permite que incluamos gráficos em uma ComboBox. Para realizar isto, o Visual Basic apresenta um novo objeto, o ComboItem, o qual encapsula todas as propriedades de layout e dados que são necessárias para trabalhar com uma ImageCombo. Um ComboItem tem uma propriedade Text para exibição de strings de uma linha dentro da ImageCombo e uma propriedade Image que pode definir o gráfico a ser exibido em uma linha dentro da ImageCombo. Como ocorre com muitos dos novos controles gráficos ActiveX, a ImageCombo tem uma ImageList da qual ela referencia imagens.

Use o código na Listagem 2.2 para adicionar um ComboItem que tem um gráfico a uma ImageCombo.

LISTAGEM 2.2  Criando ComboItems e Adicionando-os a uma ImageCombo

01 Static i% `Um inteiro contador
02 Static imgi% `Um índice para um gráfico
03 `dentro de uma ImageList
04 Dim ci As ComboItem `Variável para um 
05 `ComboItem
06
07 `Obtém uma referência a um objeto ComboItem usando
08 `o método Add da coleção ComboItems.
09 Set ci = ImageCombo1.ComboItems.Add
10 `Assinalando dados
11 `ci.Text = "My Caption " & CStr(i%)
12 `Adiciona uma imagem referenciando um índice na ImageList 
13 `associada
14 ci.Image = imgi% + 1
15 `Esteja certo de que você não excedeu o número de imagens 
16 `na ImageList
17 If imgi% = ImageList1.ListImages.Count - 1 Then
18 imgi% = 0
19 Else
20 imgi% = imgi% + 1
21 End If
22 `Incrementa o contador de strings
23 i% = i% + 1

A figura 2.6 mostra o resultado de um clique sobre o botão cmdAddCbo. Note que a ImageCombo contém uma imagem e uma string.

O Controle FlatScrollBar

O Visual Basic 6 oferece uma nova variação do já conhecido controle scrollbar: o FlatScrollBar. O FlatScrollBar é fundamentalmente o mesmo que o ScrollBar, exceto que o FlatScrollBar tem três estilos de aparência: o estilo standard, um estilo tridimensional (beveled), e um estilo bidimensional que se torna tridimensional quando o ponteiro do mouse passa sobre ele (veja a Figura 2.6).

Trabalhando com Novas Características da Linguagem

Em adição aos melhoramentos e aos novos controles ActiveX, o VB6 também oferece novos recursos dentro da própria linguagem Visual Basic.

File System Objects

Em versões anteriores do Visual Basic, se você quisesse obter uma informação de um arquivo de sistema ou realizar uma tarefa relacionada com arquivos de sistema, tal como escrever para um arquivo ou mudar um diretório, você tinha um número de técnicas disponíveis, muitas das quais eram muito trabalhosas. No Visual Basic 6, todas estas tarefas foram contidas dentro de um novo objeto, o FileSystemObject, que é parte do Visual Basic Scripting Library. Assim, quando você aprender a usar este objeto dentro do VB6, você poderá facilmente transferir seu conhecimento para criar scripts dentro do Internet Explorer ou Internet Information Server para realizar programação a nível do sistema.


Internet Information Server

Internet Information Server (IIS) é um programa complexo, cuja função é distribuir informação e arquivos pela Internet. Um Internet server é um computador físico e um IIS é um software que roda em um Internet server. Você pode usar o Visual Basic para escrever programas que são extensões de IIS, chamados Aplicações IIS. Uma aplicação IIS que roda em um Internet server é chamada uma aplicação server-side.


O FileSystemObject é bastante complexo. É feito de um número de objetos e métodos que encapsulam as funções de arquivos de sistema, as quais você usa para trabalhar com drive e arquivos em uma máquina local ou em uma rede. A Tabela 2.1 descreve os novos objetos do FileSystemObject.


O componente Microsoft Scripting RunTime

Se você planeja programar com o FileSystemObject, certifique-se de incluir uma referência no seu projeto para o componente Microsoft Scripting RunTime ActiveX. Você inclui uma referência ao MS Scripting RunTime através da caixa de diálogo References (escolha References do menu Project). Então selecione o Microsoft Scripting RunTime na lista References.


TABLE 2.1  Objetos do FileSystemObject

Objeto Descrição
Drive Provê propriedades e métodos para descrição e trabalho com drives locais e de rede.
File Provê propriedades e métodos para trabalhar com arquivos
Folder Provê propriedades e métodos para trabalhar com pastas
FileSystemObject Provê propriedades e métodos para a definição e o trabalho com coleções de drives, pastas e arquivos
TextStream Provê propriedades e métodos que permitem a você trabalhar com arquivos texto

FIGURA 5

Novas Funções Para Manipulação de Strings

O Visual Basic 6 provê várias novas funções para trabalhar com strings (veja a Tabela 2.2).

TABELA 2.2  As Novas Funções de Strings

Função Nome
(Tipo Retornado) Descrição
Filter Permite que você filtre uma string para várias
(string array) Substrings
FormatCurrency (string) Permite que você formate uma string como currency
FormatDateTime (string) Permite que você formate uma string como hora ou data
FormatPercent (string) Permite que você formate uma string como um percentual
InStrRev (string) Retorna a posição de uma string dentro de outra; diferentemente de InStr, InStrRev inicia do final da string que está sendo pesquisada
Join (string) Combina os elementos de uma matriz de strings em uma única string
MonthName (string) Retorna o nome do mês quando você tem o número do mês ( por exemplo, 1 retorna janeiro)
Replace (string) Substitui substrings dentro de uma string
Round (string) Retorna um número arredondado conforme especificado
Split (string array) Quebra uma string em uma matriz de strings
StrReverse (string) Reverte a ordem de uma string – por exemplo, "cat" torna-se "tac"
WeekdayByName (string) Retorna o dia da semana

Como você pode ver na Tabela 2.2, algumas das novas funções de strings retornam matrizes de strings. A capacidade de uma função retornar uma matriz também é um novo recurso do VB6.

Cada nova função listada na Tabela 2.2 poderia render uma seção de um capítulo dedicado somente a isto. Claramente, tal descrição vai além do escopo deste capítulo, mas se você necessitar de maiores detalhes sobre como usar uma função específica de strings, leia a documentação que acompanha o VB6.

Criação Dinâmica de Controles


On-the-fly versus runtime

A expressão on-the-fly é usada quando você está criando alguma coisa enquanto o programa está em execução. Uma outra expressão para o estado de um programa em execução é runtime.


Em versões anteriores do VB você criava controles on-the-fly usando matrizes de controles. Um inconveniente para a criação de controles com uma matriz de controles era que ao menos um controle tinha que estar presente no formulário para que você pudesse criar outros dinamicamente. Isto já não é mais verdade no VB6; você pode criar um controle em runtime puramente com código usando o método Add da coleção Controls.

A Listagem 2.3 mostra o código que você deve usar para criar um botão de comando puramente com código, sem ter que arrastar um botão de comando da ToolBox inicialmente.

LISTAGEM 2.3  -- O Novo Método Add Para a Coleção Controls

01 Option Explicit
02 `WithEvents é um modo de dizer ao programa para 
03 `reconhecer todos os eventos associados
04 `ao CommandButton tais como o evento click.
05 Private WithEvents cmdMyButton As CommandButton
06
07 Private Sub Form_Load()
08 Set cmdButton = Controls.Add("VB.CommandButton", _ "Button")
09 With mdButton
10 .Visible = True
11 .Width = 3000
12 .Caption = "Uma real surpresa"
12 .Top = 1000
14 .Left = 1000
15 End With
16 End Sub
17
18 Sub cmdButton _Click()
19 cmdButton.Caption = "Enfim, OOP real!
20 End Sub

Aprendendo Sobre VB e a Internet


Trabalhando com DHTML

Dynamic Hypertext Markup Language é uma extensão da HTML (Hypertext Markup Language), a linguagem da Internet. Todos os navegadores Web, independentemente do fabricante, usa HTML para decodificar a informação passada através da Internet que é apresentada ao usuário final. DHTML dá uma adiante à HTML permitindo que se faça um alto grau de programação. Assim , com DHTML você pode enviar código via Internet que permite aos usuários finais mover coisas com o mouse pelo monitor do computador, esconder outras, ou mesmo excluir itens.


O Visual Basic foi posicionado de uma forma bastante inteligente no desenvolvimento para a Internet. Você pode usar VBScript para escrever aplicações que rodam no seu computador desktop com o Internet Explorer. Também pode usar VBScript no lado servidor para trabalhar com o Internet Explorer. O Visual Basic 6 apurou o foco no desenvolvimento para a Internet; ele estende suas possibilidades de escrever aplicações server-side para o Microsoft Internet Information Server introduzindo um tipo de projeto chamado IIS Applications. Também, o Visual Basic estende e simplifica a DHTML (Dynamic Hypertext Markup Language, a linguagem usada por todos os navegadores Web) pela introdução de um tipo de projeto chamado DHTML Applications.

Uma aplicação IIS é um programa em Visual Basic que reside que reside no lado servidor como uma extensão do Internet Application Server. Uma aplicação IIS é chamada por um computador cliente via Internet. Embora a aplicação IIS envie dados de volta ao cliente requisitante através de HTML, o cálculo real no lado servidor é feito pelo uso de código compilado em Visual Basic. Esta melhoria é significativa; antes disto, aplicações IIS eram escritas em C++ ou, se você quisesse programar IIS, você tinha que faze-lo com VBScript sob Active Server Pages (ASP).


O Ambiente Integrado de Desenvolvimento do VB

IDE abrevia Integrated Development Environment (Ambiente Integrado de Desenvolvimento). O IDE do Visual Basic é sua plataforma de trabalho, onde você escreve e depura o código, bem como manipula suas aplicações.


Uma aplicação DHTML é um projeto que exibe um Designer do Visual Basic, uma ferramenta que automatiza a escrita de código em VB. O Designer de aplicações DHTML permitem-lhe escrever código dentro do IDE do Visual Basic. Você pode obter o real DHTML no servidor Web IIS na forma de uma DLL ActiveX. Isto é significativo por que DHTML é diferente do código em VB em alguns detalhes. Assim, você está se livrando de trabalhos internos do IIS e do VB para traduzir VB em DHTML em tempo de execução.

Um problema com a programação para a Internet é que a programação dinâmica não armazena estados por natureza. A interação é análoga a uma chamada telefônica. Cada vez que você contata um servidor na Internet, é como se você estivesse fazendo uma chamada telefônica para um estranho que não tem nenhum conhecimento prévio da informação passada em uma chamada anterior. Portanto, trabalhar com um corpo de dados que precisam ser transmitidos de sessão a sessão torna-se difícil. O Visual Basic use uma nova característica do Internet Explorer, o Global Property Bag, para permitir que você divida a informação de sessão em sessão.

A Microsoft estendeu o Setup Wizard em um conjunto de novas ferramentas para que a publicação da sua aplicação e sua distribuição de um servidor Web se torne mais fácil. Estas ferramentas – o Web Publishing Wizard e o Package and Deployment Wizard— vêm como parte da sua compra quando você adquire a sua versão do VB6.

Informando-se Sobre as Novas Capacidades de Manipulação de Dados

O Visual Basic 6 oferece suporte para ActiveX Data Objects (ADO). Em versões anteriores do VB, o acesso a dados era manipulado sob o guarda-chuva dos Data Access Objects (DAO) e dos Remote Data Access Objects (RDO). ADO combinou e ampliou essas tecnologias. ADO é mais fácil de usar e tem um escopo maior de implementação. Você pode usar ADO para conectar-se a um banco de dados em um computador local ou a um servidor de banco de dados remoto. Também lhe permite acessar mais tipos de dados – e-mail, por exemplo.

A tecnologia atual de ADO está contida no novo ADO Data Control. O ADO DataControl pode parecer o mesmo que o Data Control de versões anteriores, mas quando você olhar na página de propriedades do controle (veja a figura 2.8) você verá uma significativa diferença. O ADO Data Control permite-lhe conectar um banco de dados desktop ou um servidor ODBC em uma rede, ou você pode criar uma nova conecção a um outro banco de dados.

FIGURA 6 O ADO data control combina a funcionalidade do DAO e RDO, bem como permite o acesso a tipos de dados não tradicionais tais como e-mails ou arquivos dentro do sistema de arquivos.

Em adição ao ADO, o Visual Basic 6 também vem com um novo conjunto de ferramentas e tecnologias que fazem o acesso a dados mais fácil. O Data Environment Designer permite-lhe ver e manipular dados em vários bancos de dados. Porque data environments são objetos no seu pleno direito, você pode usá-los como se fossem um controle Data. Você pode até mesmo ligar outros controles, tais como TextBox ou Labels a um controle Data.

Alguns novos controles de dados permitem que você tire vantagem dos melhoramentos intrínsecos ao ADO Data Control. O DataGrid permite que você veja seus dados em um formato de linhas e colunas. O DataList e o DataCombo são similares ao DBList e ao DBCombo em versões anteriores do VB; você pode usá-los para obter uma lista de dados de um controle ADO na forma de uma ListBox ou ComboBox. Você também pode usar os controles mais avançados FlexGrid e FlexGrid Hierárquico para obter uma clara visão de dados complexos. O Visual Basic também oferece um novo Data Setup Wizard para tornar a distribuição de suas aplicações de banco de dados em larga-escala mais fácil.

O Visual Basic 6 melhorou suas capacidade s de geração de relatórios com o Data Report Designer (veja a Figura 2.9), que lhe permite criar, visualizar e imprimir relatórios no Visual Basic como se fossem feitos no Access (Se você já trabalhou no Access 97, achará o Data Report Designer muito familiar.) Você posiciona controles de relatório da nova Data Reports Toolbox (VB também tem novas características no IDE) sobre o formulário do Data Report. Então invoca o método PrintReport() do Data Report.

FIGURA 7 O Data Report Designer traz as facilidades de geração de relatórios do Access 97 para o Visual Basic.

Novos Recursos Para Programação com Objetos

O Visual Basic 6 tem tornado a criação de classes e controles ActiveX uma atividade mais ampla. Agora você pode salvar os dados das suas classes de uma sessão para outra em uma Property Bag. Você pode também criar dois novos tipos de classes customizadas para trabalhar com dados, Data Sources e Data Consumers. Estes tipos de classes de dados comportam-se de modo parecido com os ADO Data Objects, exceto que elas permitem maior flexibilidade para se ajustarem às suas necessidades particulares.

Com respeito aos controles ActiveX de usuário, você pode agora fazer controles ActiveX de peso leve no Visual Basic 6. Estes tipos de controles são sem janela e assim requerem menos recursos do sistema que os ActiveX completos. Para determinar se um controle ActiveX é sem dúvida sem janela, o Visual Basic provê uma nova propriedade, HasDC.


Usando add-ins

Um add-in é uma ferramenta do Visual Basic que os programadores de VB fazem para outros programadores de VB. Um add-in é escrito em VB e pode rodar somente dentro de IDE do Visual Basic. O Application Wizard é um add-in, como é também o Data Forms Wizard.


Provavelmente as adições mais úteis ao Visual Basic 6 foram os novos assistentes que se somaram a ele. A Tabela 2.3 descreve abreviadamente cada novo assistente e add-in.

TABELA 2.3  Os Assistentes e Add-Ins do Visual Basic 6

Assistente/Add-In Descrição
Todas as Edições  
Package e Deployment Ajuda a preparar e distribuir a sua
Wizard Aplicação para uso em desktop ou rede.
Application Wizard Ajuda a criar uma estrutura para a sua aplicação. Ele automaticamente adiciona menus, toolbars, arquivos de recursos, controles ActiveX intrínsecos e controles data.
Wizard Manager Ajuda-o a organizar os vários assistentes que você acessa no seu IDE.
Edições Profissional e Enterprise  
Data Object Wizard Ajuda a criar data objects ligados a data controls e controles ActiveX customizados.
Class Builder Utility Ajuda a criar classes visualmente.
ToolBar Wizard Ajuda na criação visual de toolbars customizadas para os seus formulários
Data Form Wizard Ajuda na criação de formulários com controles que referenciam dados em um banco de dados.
Add-In Designer Ajuda na criação de add-ins para o VB.
Property Page Wizard Ajuda na criação de diálogos de propriedades para controles ActiveX que você cria no VB.
T-SQL Debugger Ajuda na depuração de código que você escreve para o banco de dados Microsoft SQL Server.
API Viewer Ajuda no trabalho com declarações (funções), constantes e tipos de dados da API do Windows.
ActiveX Control Ajuda a fazer controles ActiveX.
Interface Wizard  

VB5 x VB6 - Uma convivência espinhosa.

A convivência na mesma máquina das versões 5.0 e 6.0 do Visual Basic aparentemente parece ser pacífica a primeira vista. Você pode usar as duas ferramentas para desenvolver as suas aplicações na mesma máquina que aparentemente tudo estará funcionando perfeitamente.

O problema começa quando você gera os discos para distribuição , pois a instalação do seu sistema poderá não ocorrer como você esperava Lembre-se que durante a instalação do Visual Basic 6.0 todos os controles instalados pelo Visual Basic 5.0 são atualizados e isto pode causar problemas quando você for gerar os seus discos de instalação com o Setup Wizard..

Isto pode ser causado pelas novas versões dos componentes presentes agora em sua máquina e pelo fato dos programas que geram os discos de instalação serem incapazes de determinar a informação sobre a dependência dos arquivos ou de registrarem estes componentes.

Se você estiver desenvolvendo um sistema usando a DAO em VB 5.0 numa máquina que tem o VB 6.0 instalado e for gerar os discos de instalação via Setup Wizard , ele não vai incluir um arquivo que agora é necessário para o correto funcionamento do seu sistema, o Expsrv.dll , por que o arquivo Vb5dep.ini não inclui este arquivo na dependência para o JET. Então quando você for instalar o sistema em outra máquina o sistema vai dar a seguinte mensagem de erro:

"The Jet VBA file (VBAJET.dll for 16-bit versions, or VBAJET32.dll for 32-bit versions) failed to initialize when called. Try reinstalling the applications that returned the error. "

Você pode se livrar disto adotando um dos seguintes procedimentos:

  1. Desenvolva suas aplicações com Visual Basic 5.0 em uma máquina sem o Visual Basic 6.0
  2. Faça um upgrade de seu sistema para o Visual Basic 6.0 e use o Package and Deployment Wizard (PDW) para gerar os discos de instalação.

Quando for usar a DAO e for gerar os discos de instalação quer com o Setup Wizard quer com o PDW , você precisa verificar no arquivo SETUP.LST os arquivos incluídos e o número das versões dos mesmos. De acordo com os arquivos VB5dep.ini e VB6dep.ini os arquivos necessários para a DAO e o JET são mostrados abaixo:

Visual Basic 5.0 Arquivos e número da versão:

DAO350.dll     3.50.3602.0
MSJet35.dll    3.50.3602.4
MSJInt35.dll   3.50.3602.5  
MSJtEr35.dll   3.50.3602.0  
MSRD2x35.dll   3.50.3602.0
MSRepl35.dll   3.50.3602.0   
MSVCRT40.dll   4.10.6038 ou superior
VB5DB.dll      5.00.3724
VBAJet32.dll   5.0.7122 

Visual Basic 6.0 Arquivos e número da versão:

DAO350.dll     3.51.1608.0
ExpSrv.dll     6.0.8167
MSJet35.dll    3.51.0623.4
MSJInt35.dll   3.51.0623.0
MSJtEr35.dll   3.51.0623.0
MSRepl35.dll   3.51.0623.0
MSRD2x35.dll   3.51.0623.0
MSVCRT40.dll   4.21.0000 ou superior
VB5DB.dll      6.00.8169
VBAJet32.dll   6.1.8167 
OBS:
Voce pode carregar um programa do Visual Basic 6.0 no Visual Basic 5.0 , desde que ele não use nenhuma das novas características acrescentadas no Visual Basic 6.0 . Para isto basta editar , pode usar o bloco de notas , o arquivo de projeto (VBP ) e remover a linha retained=0 , salvando o projeto. Pronto pode abrí-lo no VB 5.0

Além disto como o VB 5.0 e o VB 6.0 utilizam os mesmos nomes e as mesmas
chaves para licensa de alguns arquivos os dois sistema podem deixar de funcionar
como deveriam.

Se você instalar o VB 6.0 numa máquina que já possua o VB 5.0 , a (APE)
Application Performance Explorer e o T-SQL Debugger no Visual Basic 5.0
não irão funcionar corretamente. No VB 6.0 o ADD-IN manager DialogBox irá
funcionar incorretamente.

Se você desinstalar o Visual Basic 5.0 os seguintes componentes não irão funcionar
adequadamente no VB 6.0 :

1 - APE
2 - Visual Data Manager (Visdata)
3 - T-SQL Debugger
4 - Remote Data Control (MSRDC)

e se você desinstalar o VB 6.0 os componentes

1- APE
2- Visdata
3- API Viewer

não irão funcionar corretamente no Visual Basic 5.0.

Palavra da Microsoft !!! ( ora bolas...):(