RETORNAR PICTUREBOX NUMA FUNCAO - COMO FAZER?

USUARIO.EXCLUIDOS 20/04/2007 10:50:20
#212928
Olá pessoal,

Estou precisando montar uma dll (no VB6) que precisa retornar numa função um PictureBox. Alguém sabe como posso fazer isso? Estou Fazendo da seguinte maneira:

Public Function RetPic() as Object

'aqui vai o código para criar o PictureBox

'tentando retornar o PictureBox
Set RetPic = PictureBox

End Function


Quando chamo a dll do projeto no qual ela foi inserida não nenhum erro, mas não retorna a imagem que foi desenhada... Alguma sugestão, por favor?
USUARIO.EXCLUIDOS 20/04/2007 12:30:02
#212979
Você tem que retornar um pictureBox literalmente ou uma imagem???


Talvez seja melhor vc retornar um stdPicure, e utilizar a mesma para preencher um picturebox.


Public Function RetPic() as stdPicure

'aqui vai o código para criar o PictureBox

'tentando retornar o PictureBox
Set RetPic = PictureBox.Picture

End Function

WEBMASTER 20/04/2007 12:31:09
#212980
Isso mesmo, retorne um Standard Picture e carregue-o no objeto que precisa, so isso...
LIONHEART 20/04/2007 13:28:47
#212994
Vc tá fazendo certo.
O que acontece é que provavelmente o codigo que vc tá fazendo pra CRIAR o objeto esteja errado.
USUARIO.EXCLUIDOS 20/04/2007 13:55:17
#213002
LION,

O onjeto está sendo criado corretamente, pois criei um FORM só para visualizar o PictureBox. Enquanto estou depurando mostro o form e aparece a imagem dentro do PictureBox, sem problemas. Acredito que esteja errando na hora de chamar a dll. Estou fazendo assim:

Dim pic as New clsPic 'clsPic é classe da qual a função faz parte
PictureBox1.Picture = pic.RetPic() 'PctureBox1 está em um Form
Set pic = Nothing

Quando chamo a função meu PictureBox não carrega a imagem que foi desenhada na classe. Não sei se estou chamando correto. Já defini o retorno da função RetPic como stdPicture, como sugeriu o MARCELOHF, mas mesmo assim, não retorna a imagem. Se alguém tiver um exemplo e puder me passar eu agradeço. E agradeço a ajuda até agora, também.


Tópico encerrado , respostas não são mais permitidas