USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Run-Time error '430'
Tiago Botari
PAULINIA
SP - BRASIL
ENUNCIADA !
Postada em 07/12/2004 09:49 hs            
Alguem pode me ajudar? Eu gerei o executavel do meu programa e passei pra outro computador .. win98se , nisso ele executo normal ate q eu entrei num componete text e digitei um valor e deu esse erro : run-time error '430': Class does not support Automation or does not support expected interface.
 
O componente text tem esse codigo:
Private Sub txtMatricula_Change()
 If IsNumeric(txtMatricula.Text) = False Then Exit Sub
 Dim rsF As Recordset
 Set rsF = New Recordset
 rsF.Open "Select * from tbFunci where Mat = " & txtMatricula.Text, db, 3, 3
 On Error Resume Next
 txt10Nome.Text = rsF(1).Value
 txt11NomeMae.Text = rsF(2).Value
 txt12DataNasc.Text = Format(rsF(3).Value, "dd/mm/yyyy")
 Select Case rsF(4).Value
 Case "F"
  cmb13Sexo.ListIndex = 1
 Case "M"
  cmb13Sexo.ListIndex = 0
 End Select
 Select Case rsF(5).Value
 Case "S"
  cmb14EstadoCivil.ListIndex = 0
 Case "C"
  cmb14EstadoCivil.ListIndex = 1
 Case "V"
  cmb14EstadoCivil.ListIndex = 2
 Case "D"
  cmb14EstadoCivil.ListIndex = 3
 End Select
 txt15CTPS.Text = rsF(6).Value
 txt15Serie.Text = rsF(7).Value
 txt15DataEmissao.Text = Format(rsF(8).Value, "dd/mm/yyyy")
 cmb16UF.Text = rsF(9).Value
 txt17Carteira.Text = rsF(10).Value
 txt17Data.Text = Format(rsF(11).Value, dd / mm / yyyy)
 txt17Orgão.Text = rsF(12).Value
 cmb18UF.Text = rsF(13).Value
 txt19PisPasep.Text = rsF(14).Value
 txt20Salario.Text = rsF(15).Value
 txt21Endereco.Text = rsF(16).Value & ", " & rsF(17)
 txt21Bairro.Text = rsF(18).Value
 txt21CEP.Text = rsF(19).Value
 txt22Municipio.Text = rsF(20).Value
 cmb23UF.Text = rsF(21).Value
 txt24Telefone.Text = rsF(22).Value
 txt25Nome.Text = rsF(23).Value
 txt26CBO.Text = rsF(24).Value
End Sub
 
Obrigado
Tiago Botari
   
Rinaldo
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 07/12/2004 10:02 hs            
Ai tiago, consegui a documentação sobre este erro, só que esta em inglês. ve se serve.
 

Class doesn't support Automation (Error 430)

   

Not all objects expose an Automation interface. This error has the following cause and solution:

  • Theclass you specified in the GetObject or CreateObject function call was found, but has not exposed a programmability interface.

    You can't write code to control an object's behavior unless it has been exposed for Automation. Check the documentation of the application that created the object for limitations on the use of Automation with this class of object.

  • You changed a project from .dll to .exe, or vice versa. If, for example, you have a .dll server already compiled and registered, and then you change the project type to .exe and recompile it, the fact that the .dll and .exe are already registered on your system prevents you from creating either object. You must manually unregister the old .dll or .exe to avoid the problem.

    This is caused by the combination of project compatibility and changing a project from an .exe to a .dll. In project compatibility, the CLSID is preserved, but not the IID. Since the CLSID is preserved, the class ends up being registered with two servers—one an in-process server, the other a local server. When an instance is created, the in-process one is chosen. When the querying of the interface occurs, the .dll does not support the IID because it's new.

T+

Rinaldo

   
Sandro
não registrado
ENUNCIADA !
Postada em 09/12/2004 00:01 hs   
Olá Tiago,
 
Olhando o seu código, o único ponto onde ele poderia dar esse erro seria no bloco abaixo:
Dim rsF As Recordset
Set rsF = New Recordset
Pelo visto você está usando a DAO, portanto verifique a versão da DAO que está instalada na máquina que está gerando o erro. Se a máquina que você está usando usar uma versão diferente do Access da máquina de desenvolvimento, instale a mesma versão, pois a DAO é instalada com ele.
Esse erro ocorre com frequência quando usamos classes de versões diferentes. Você poderá experimentar a mesma situação se criar DLLs com o VB e fizer uma recompilação nela e depois tentar chamar o executável do seu programa que a utiliza. O programa tentará encontar a outra versão da DLL e só encontrará a versão nova, então ele irá gerar esse erro. Está acontecendo a mesma coisa com relação a DAO, você tem versões diferentes dela entre as máquinas.
 
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página