Fórum PQ a msg Classe não registrada? #151356
02/04/2003
0
Paulo
Curtir tópico
+ 0Posts
02/04/2003
E_gama
Descreva melhor quando acontece, e quais componentes vc está utilizando. Assim fica melhor para a gente ajudar.
Gostei + 0
02/04/2003
Tathianam
Gostei + 0
02/04/2003
E_gama
[b:bc503a078c]c:\windows\system32\regsvr32 <servidor>.DLL[/b:bc503a078c]
Gostei + 0
02/04/2003
Tathianam
Gostei + 0
02/04/2003
E_gama
Quando a máquina cliente é outra, vc tem que pegar o arquivo com extensão ´.TLB´ que o Delphi gera e registrar na máquina cliente. Eu fiz uma função que registra a minha classe servidor com a seguinte função:
procedure TAuditorMainForm.RegistraServidor; var WFileName, DocName: WideString; TypeLib: ITypeLib; LibAttr: PTLibAttr; DirBuffer: array[0..MAX_PATH] of char; begin try // Registra o lado servidor do software WFileName := ExtractFilePath(Application.ExeName) + ´\HookSrv.TLB´; OleCheck(LoadTypeLib(PWideChar(WFileName), TypeLib)); OleCheck(TypeLib.GetLibAttr(LibAttr)); OleCheck(TypeLib.GetDocumentation(-1, nil, nil, nil, @DocName)); DocName := ExtractFilePath(DocName); OleCheck(RegisterTypeLib(TypeLib, PWideChar(WFileName), PWideChar(DocName))); except end; end;
Nessa função, a minha classe servidora chama-se [b:8a6387c944]HookSrv.TLB[/b:8a6387c944], e na seção uses, vai a unit [b:8a6387c944]ComObj[/b:8a6387c944]
Gostei + 0
02/04/2003
Tathianam
Gostei + 0
02/04/2003
E_gama
Uma forma simples de verificar, seria vc ver se o TLB está no computador cliente, se tiver vc o registra e o apaga em seguida, pois uma vez registrado, ele não é mais necessário.
Gostei + 0
02/04/2003
Tathianam
Gostei + 0
02/04/2003
Tathianam
OleCheck(TypeLib.GetDocumentation(-1, nil, nil, nil, @DocName));
está trazendo ´´ no @DocName, vc poderia me ajudar?
Gostei + 0
02/04/2003
E_gama
Gostei + 0
02/04/2003
Paulo
Gostei + 0
03/04/2003
E_gama
Se tiver ou souber onde posso baixá-lo, me passe o link. Assim posso verificar o problema.
A principio, ele deve utilizar algumas classes que têm que ser registrada no windows (tem um arquivo chamado[b:4d9cb16c50]SPL32TLB.dcu[/b:4d9cb16c50] juntos com os arquivos que baixei para Delphi 6), por isso, quero uma versão para Delphi 5 para eu poder testar.
Gostei + 0
02/10/2008
Rodfernandes
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)