ADICIONAR COMPONENTE DLL!

USUARIO.EXCLUIDOS 18/04/2004 10:48:52
#21173
Estou fazendo uma Dll (ActiveX) e preciso colocar um daqueles componentes defalt do VB, mas eu soh tenho um Class precisaria chamar ele dela mesmo.

Se eu colocar u Form eu consigo colocar ele, mas não quero colocar um no progeto pois seria desnecesario um.

ha o componente é o MScomm.

Valew
USUARIO.EXCLUIDOS 18/04/2004 14:56:05
#21194
Resposta escolhida
O MS-Comm não é um componente default do VB, ao contrário. Trata-se de um componente externo, que apenas acompanha o produto. Componentes default são apenas aqueles que aparecem na ToolBox sem que você tenha feito quaisquer referências ou incluído controles (ex.: TextBox, Label, PictureBox etc).

Você pode criar o componente por meio do CreateObject. A sintaxe seria mais ou menos a seguinte:

Option Explicit
...
Private oCom as Object
...
Set oCom = CreateObject("MSCommLib.MSComm")
...
Dessa forma, não é necessária a inclusão de um Form no projeto da DLL.
Atenção, você terá de cuidar de vários aspectos, desde a existência do componente na máquina-cliente até macetes para tratamento dos eventos.
O problema de não existir o componente na máquina-cliente acarretará um erro (CanÂÂÂ't Create...) e pode acontecer em várias circunstà¢ncias, uma vez que componentes COM e DCOM AcrtiveX podem ser utilizados pelo VB, mas também pelo Internet Explorer, pelo Delphi etc.
USUARIO.EXCLUIDOS 18/04/2004 20:24:11
#21230
LEOMAR,
Complementando o que você expõe, manter as referências no projeto significa capacitar o PDW á coletar os componentes adequados á instalação. A ausência dessas referências acaba propiciando o problema que eu citei no final de meu post, da não existência dos componentes no equipamento-cliente.
Tópico encerrado , respostas não são mais permitidas