Crystal Reports XI - VB6 - Permission Denied - Ou: Carregando imagens dinamicamente no Crystal Reports
(Trying) English version:
Category: Tools
__________________________
If you are trying to dinamically set an image into the control Picture (ICROleObject) and you are getting the error "Permission Denied" when you are using SetOleLocation method, I suggest you try this following code instead of SetOleLocation method:
Private Sub Section1_Format(ByVal pFormattingInfo As Object)
Dim logofile As String
logofile = app.Path & "\logo.jpg"
If Dir$(file) <> "" Then 'File exists...
Set Picture2.FormattedPicture = LoadPicture(logofile)
'FormattedPicture method used instead of SetOleLocation...
Else
Picture2.Suppress = True 'If does not exist, suppress that control.
End If
End Sub
That error happens because your code is probably located on wrong event.
It must be placed exactly on "SectionXXX_Format" event where picture object is.
Português:
Categoria: Ferramentas
__________________________
Se você está recebendo a mensagem de erro: "Permission Denied" ao tentar carregar uma imagem dinamicamente usando o método SetOleLocation, certamente está chamando no evento indevido do seu código, no VB6.
A chamada a esse método deve ser feita a partir do evento _Format da seção onde o controle Picture se encontra. Adicionalmente, tente usar o método FormattedPicture ao invés de SetOleLocation, conforme segue:
Private Sub Section1_Format(ByVal pFormattingInfo As Object)
Dim arquivo As String
arquivo = app.Path & "\logo.jpg"
If Dir$(file) <> "" Then 'O arquivo exite...
Set Picture2.FormattedPicture = LoadPicture(arquivo)
'FormattedPicture ao invés de SetOleLocation...
Else
Picture2.Suppress = True 'Se não existe o arquivo, suprime o controle.
End If
End Sub
Question: Why VB6?
Answer: just legacy code
See ya!
Até mais!
Diego Sayron
PE, Brasil
Category: Tools
__________________________
If you are trying to dinamically set an image into the control Picture (ICROleObject) and you are getting the error "Permission Denied" when you are using SetOleLocation method, I suggest you try this following code instead of SetOleLocation method:
Private Sub Section1_Format(ByVal pFormattingInfo As Object)
Dim logofile As String
logofile = app.Path & "\logo.jpg"
If Dir$(file) <> "" Then 'File exists...
Set Picture2.FormattedPicture = LoadPicture(logofile)
'FormattedPicture method used instead of SetOleLocation...
Else
Picture2.Suppress = True 'If does not exist, suppress that control.
End If
End Sub
That error happens because your code is probably located on wrong event.
It must be placed exactly on "SectionXXX_Format" event where picture object is.
Português:
Categoria: Ferramentas
__________________________
Se você está recebendo a mensagem de erro: "Permission Denied" ao tentar carregar uma imagem dinamicamente usando o método SetOleLocation, certamente está chamando no evento indevido do seu código, no VB6.
A chamada a esse método deve ser feita a partir do evento _Format da seção onde o controle Picture se encontra. Adicionalmente, tente usar o método FormattedPicture ao invés de SetOleLocation, conforme segue:
Private Sub Section1_Format(ByVal pFormattingInfo As Object)
Dim arquivo As String
arquivo = app.Path & "\logo.jpg"
If Dir$(file) <> "" Then 'O arquivo exite...
Set Picture2.FormattedPicture = LoadPicture(arquivo)
'FormattedPicture ao invés de SetOleLocation...
Else
Picture2.Suppress = True 'Se não existe o arquivo, suprime o controle.
End If
End Sub
Question: Why VB6?
Answer: just legacy code
See ya!
Até mais!
Diego Sayron
PE, Brasil
Comentários
Postar um comentário