Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
Vinicius.es

Migração Vb4 For Vb6 ! Por Onde Começar ?

Recommended Posts

Bom Pessoal é o seguinte...

Trabalho com Delphi mas...

Estou com um sistema que foi feito em vb 4, e que é preciso migrar pra vb 6.

encontra-se alguns problemas diga-se de passagem... sera que alguem pode me dar uma luz.. por onde começar ?

Alguns problemas...

Acredito que as ocx

msrdc32.ocx

spin32.ocx

grid32.ocx

threed32.ocx

mscal.ocx

tdbgs32.ocx

não foram carregadas..... ok vou trocar os componentes que fazem referencia a eles.. conforme me disseram devo carregar

- MSCOMCT2.OCX;

- Microsoft DataGrig Control;

Outros Impactos:

- Retirada do acesso nativo ao banco de dados;

- Troca dos Controles SpinButton pelo UpDown(POssui os eventos DownClick e UpClick);

- Troca dos botões do tipo SSCommand por CommandButton;

- Troca do objeto de calendárrio pelo MonthView;

- Troca do Objeto DbGrid pelo DataGrid;

- Troca de Objetos Grid pelo FlexGrid.

Sera que alguem pode ajudar ?

meu :

MSN vinicius_es@hotmail.com

ICQ 94523656

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma pergunta: pra quê migrar?

À não ser que a intenção seja usar as APIs do ADO para acesso à dados, que é exclusividade do VB6 em diante (ao invés do antigo DAO e controle Data, do VB5 e anteriores), acho bobagem essa migração, à não ser que seja exigência do cliente, aí é outra coisa.

Porém, acho que você pode usar normalmente alguns desses OCX com o VB6, basta registrá-los. Só que para alguns deles, o regsvr32 não vai funcionar, alguns tem arquivos REG específicos. Depois, é só "empacotar" e distribuir normalmente.

Acho que o pior aí é o probema do Sheridan 3D Controls (threed32.ocx), que dá um monte de problemas com VB6. E tem essa OCX "tdbgs32.ocx", que realmente eu não sei o que é...

Resumindo: faça um levantamento de quais controles realmente não vão funcionar com o VB6, e troque apenas o que for necessário. Do contrário, talvez seja melhor reescrever o programa inteiro, partindo "do zero"....

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Clemente,

    Sou eu novamente,

    Bom Quanto a migração estou levando.. agora estou em um empasse 2 coisas q observei

    Todo acesso ao bd foi feito atraves de OBDC - RDO ( Remote data Objects ), estou procurando e não encontro muita coisa sobre o assunto, vi que a ocx msrdc32 não foi carregada no vb 6. peguei ela e coloquei como referencia no meu projeto,

    bom.... apos adicionar ela ( Detalhe nunca fiz isso antes ) estou tentando fazer meu projeto ( q roda perfeitamente em vb 4) rodar no vb6 , mas esta dando erro nas funções que fazem referencia ao rdo por exemplo

    rdoErrors.Clear

    Set En = rdoCreateEnvironment("NewHome", (Usuario), (Senha))

    sera que voce pode me dar uma luz ?

    Ao executar o projeto ele verifica um determinado arquivo de configurações, para fazer a comunicação com o obdc abaixo vai as linhas de codigos programaveis ( tipo um config q o usuario deve programar )

    ----------------------------------

    arquivo do tipo CFG cotem as seguintes linhas

    Ip Servidor primeira linha : nome do servidor de banco de dados (pode ser o IP)

    N segunda linha : usa conexao do windows para logar no banco ? (S/N)

    C:/ terceira linha : path da localização das fotos dos imoveis - deve ser lugar comum.

    Imob quarta linha : nome do banco de dados no servidor

    ----------------------------------------------

    InicioLoadMDI:

    On Error GoTo ErroCfg

    Open App.Path & "\Newhome.cfg" For Input As #1

    Input #1, cfg_banco

    Input #1, cfg_logwindows

    Input #1, cfg_path_foto

    On Error Resume Next

    Input #1, cfg_nomebanco

    If Err Then

    cfg_nomebanco = "imob"

    End If

    On Error GoTo 0

    On Error Resume Next

    Input #1, cfg_genericotexto

    If Err Then

    cfg_genericotexto = "N"

    End If

    Close #1

    On Error GoTo 0

    If Trim(cfg_nomebanco) = "" Then

    cfg_nomebanco = "imob"

    End If

    'avisa que não é sistema de vendas

    EhSistemaVendas = False

    ' aciona opções de login via odbc

    If Trim(cfg_logwindows) = "S" Then

    Call FastLogin("Newhome") 'log in via odbc

    Else

    Login.Show 1

    End If

    JaLeuConfig = False

    Exit Sub

    ------------------------

    talvez se voce conseguir me ajudar..

    2 perguntas 2 respostas..

    1º como é feito pra utilizar rdo num projeto ? tem q ter alguma parte de declaração ? ou de configuração ou é so [ adicionar a referencia ] e meter codigo ?

    2º sera que ele não esta conseguindo fazer a conexao com o banco, por não esta lendo os arquivos do NewHome.cfg ? sendo q ele esta configurado corretamente na pasta do projeto.

    Obs Open App.Path & "\Newhome.cfg" For Input As #1

    [ uma pergunta.. onde ele esta procurando o arquivo ? ]

    Clemente .. estou correndo atras dessas soluções se puder me ajudar... vai ser muito bem vindo..

    Atenciosamente

    Vinicius Wilson

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Bom...

    Esqueci de comentar q quando rodo o programa aparece a seguinte mensagem de erro,

    na linha

    rdoErrors.Clear ou na

    Set En = rdoCreateEnvironment("NewHome", (Usuario), (Senha))

    Run-time error '429'

    ActiveX component can´t create object

    verifiquei o codigo desse erro e li algo sobre talvez estar utilizando uma dll sem registra-la,

    ???? qual dll ? a do Rdo ? se sim.. q dll é essa ?

    valeu

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Acho que talvez esteja faltando instalar o MDAC (Microsoft Data Access Components).

    O MDAC é um pacote de objetos para acesso à dados, que já vem com todas as bibliotecas necessárias (RDO, DAO e ADO). Você deve instalar o MDAC tanto no seu ambiente de desenvolvimento, como também nas máquinas dos clientes onde sua aplicação vai rodar.

    À não ser que por questões de compatibilidade com outros bancos de dados seja necessário instalar as versões posteriores, sugiro que instale a versão 2.5, que é a mais estável e completa de todas. Mas pode instalar essa e as posteriores também, não tem problema.

    Link para a versão 2.5

    Instale o MDAC e tente rodar a aplicação: tenho quase que o erro 429 não vai aparecer mais (exceto quanto aos OCX que também podem apresentar esse erro, aí já é outra coisa).

    ...

    Só um pequeno e importante detalhe: se acaso a aplicação for rodar em Windows 95 ou 98, é preciso instalar antes do MDAC um outro pacote preliminar, que é o DCOM (Distributed COM Components). Essas duas versões do Windows (95 e 98) não tem instalado por padrão o pacote DCOM, daí a necessidade de instalar separadamente.

    O DCOM tem uma versão para Windows 95 (arquivo "dcom95.exe") e outra para Windows98 (arquivo "dcom98.exe"), portanto é bom ter cuidado na hora de instalar. Você encontra esses arquivos neste link

    ...

    Mas agora quanto ao RDO (Remote Data Objects), eu acho que já é uma tecnologia um tanto obsoleta.

    Como o código do RDO é mais ou menos parecido com o do ADO (inclusive o ADO incorporou muita coisa do RDO) talvez fosse interessante você migrar isso também. O ADO (ActiveX Data Objects) é uma tecnologia recente, e tem muito mais futuro, ou melhor: é a única que tem futuro, já que o RDO e DAO já são tecnologias sem suporte. Migrando para o ADO, o novo sistema ficaria muito mais estável e confiável, e as futuras manutenções ficariam bem mais fáceis.

    Qual o banco de dados esse sistema que você vai migrar está usando? Se por acaso for o Access, vai ser moleza.

    []'s

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • começei um projeto novo pra testes...

    Coloquei como referencia o Rdo 2.0 ( Alias coloquei todos q tava falando de rdo )

    no form load coloquei

    --------------------------------------------------------

    Private Sub Form_Load()

    Dim en As rdoEnvironment

    Dim cn As rdoConnection

    Dim rs As rdoResultset

    Dim tb As rdoTable

    Dim cl As rdoColumn

    Dim er As rdoError

    Set en = rdoEngine.rdoCreateEnvironment(0)

    Set cn = en.OpenConnection(dsName:="WorkDB", Prompt:=rdDriverNoPrompt, Connect:="Uid=web;pwd=web;database=imob")

    End Sub

    ----------------------------------------------------------

    http://msdn.microsoft.com/library/default..../rdpronamex.asp

    ----------------------------------------------------------

    tem como voce analisar comigo ? a linha acima ?

    levando em consideração que meu banco foi feito em Sql server, e esta com o nome de imob e a senha e pasw para acessar e web web.

    dsName:="WorkDB",

    Prompt:=rdDriverNoPrompt,

    Connect:=

    "Uid=web;

    pwd=web;

    database=imob"

    o que é dsname ?

    o que coloco em connect ?

    database, coloco o nome do banco ?

    no command

    ------------------------------------------------------------------

    private Sub Command1_Click()

    Dim rst As rdoResultset

    cbocd_municipio.Clear

    Screen.MousePointer = vbHourglass

    sql = "Select cd_municipio, ds_municipio from municipio where"

    Set rst = cn.OpenResultset(sql)

    If Err Or rst.EOF Then

    Set rst = Nothing

    Screen.MousePointer = vbDefault

    Exit Sub

    End If

    Do While Not rst.EOF

    cbocd_municipio.AddItem rst!ds_municipio

    rst.MoveNext

    Loop

    Set rst = Nothing

    Screen.MousePointer = vbDefault

    End Sub

    ------------------------------------------------------------------------

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Postado Originalmente por Vinicius.es@28 out 2004, 10:59

    dsName:="WorkDB",

    Prompt:=rdDriverNoPrompt,

    Connect:=

    "Uid=web;

    pwd=web;

    database=imob"

    o que é dsname ?

    o que coloco em connect ?

    database, coloco o nome do banco ?

    DSName é "Data Source Name", ou seja: você vai ter que criar um DSN (no Administrador de fontes de dados ODBC, via Painel de Controle, pode ser DSN de usuário mesmo) e o seu banco de dados vai ser acessado por ele.

    O resto da string é o nome de usuário, senha e nome da base de dados. Bom, eu nunca fui muito fã de RDO, eu uso mesmo o ADO já há quase cinco anos.

    Mas tem um link que vai te ajudar um pouco sobre RDO:

    http://www.macoratti.net/rdo.htm

    Lamento não poder ajudá-lo via ICQ ou MSN, pois aqui no meu trabalho não é permitido nem sequer instalar esses programas. :(

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Caro Amigo,

    diga q eu estou errado,

    Reparei que no vb 4 o Microsoft Remote Data Objects fica na guia "COMPONENTS"

    e no vb ele esta na guia "REFERENCES"

    OK

    Fazendo algumas deduções logicas, fui tentar colocar o tal do RDO na guia COMPONENTS, ele me aparece no toolbox, mas quando clico nele aparece a seguinte mensagem...

    License information for this component not found. You do not have an appropiate license to use this functionality in the design environment.

    agora diga !

    preciso desse component mesmo que eu faça tudo na mão certo ?

    aguardo

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • UHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAUUHIOUAhiuHIUHOIUHIUHIAU

    Putzzz.... acabei de descobrir porque não ta rodandoooo :muro:

    Technical FAQ

    Get answers to frequently asked technical questions about Visual Basic 6.0.

    Microsoft Visual Basic Learning Edition is designed for the hobbyist or novice programmer. It has the ability to create distributable applications, but lacks many of the tools that a professional developer would need, such as full ODBC support, scrollable cursors, Pool Manager, and Component Manager.

    Visual Basic Professional Edition is designed for the individual professional or corporate developer. It has all the tools a typical professional developer would need to build and distribute robust, professional looking applications.

    Visual Basic Enterprise Edition is designed for teams of developers creating distributed, high performance client server applications (The Remote Data Objects in the Enterprise Edition provide some of the fastest remote data access available in a tool today).

    Estou usando a versão Professional -> q é claro não SUPORTA [ REMOTE DATA OBJECTS ]

    bom... beleza... vou agora parar pra pensar o que fazer.... acredito que a solução voce ja tenha sugerido ADO, mas... quero ver se consigo a versao enterprise pra ver essa caquinha rodando...

    vou deixar esse topico porque acredito que a migração para ADO vai me trazer varias duvidas...

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×