Bilder in einer MDE-Datei

03/03/2010 - 12:19 von Michael König | Report spam
Hallo Newsgroup,

da ich bisher nichts dazu gefunden habe, wende ich mich an Euch: In
einer A2k-Anwendung sollen zu Personen auch ihre Passbilder angezeigt
werden können. In der MDB-Version klappt dies weinbrandfrei, jedoch
nicht in der MDE-Version. Mit folgendem Code zeige ich das Foto an:

'--
Public Function ShowPicture(obj As Object) As Boolean
' Zweck : Anzeige eines Bildes
' Parameter: obj ... Form oder Report als Objekt
' Rückgabe : True, wenn erfolgreich, False sonst
' Hinweis : Im Objekt obj muss ein Picture-Control mit Namen
"imgPerson" existieren
' Der Name der anzuzeigenden Bilddatei steht im Textfeld
"FotoDatei";
' wird ggf. ergànzt um den Namen des aktuellen DB-Verzeichnisses
'--
On Error GoTo Err_ShowPicture

Dim strPath As String
Dim lngErrNumber As Long

ShowPicture = False
With obj
If IsNothing(!FotoDatei) Then
!imgPerson.Visible = False
Else
strPath = !FotoDatei
If (InStr(strPath, ":") = 0) And (InStr(strPath, "\\") = 0) Then
strPath = Application.CurrentProject.Path & "\" & strPath
End If
On Error Resume Next
!imgPerson.Picture = strPath
lngErrNumber = Err.Number
On Error GoTo Err_ShowPicture
If lngErrNumber = 0 Then ' das Bild in strPath existiert nicht
!imgPerson.Visible = True
' .PaintPalette = !imgPerson.ObjectPalette ' führt zu Fehler 438
ShowPicture = True
Else
!imgPerson.Visible = False
End If
End If
End With

Exit_ShowPicture:
On Error GoTo 0
Exit Function

Err_ShowPicture:
MsgBox "Fehler " & Err.Number & ""ShowPicture"":" & vbCrLf & _
"==> " & Err.Description, vbCritical + vbOKOnly, _
"Modul modFormsReports (Typ: Modul)"
Resume Exit_ShowPicture

End Function

Diese Funktion wird entweder im Open-Ereignis eines Formulars oder im
DetailbereichFormat-Ereignis eines Berichts - jeweils durch ShowPicture
Me - aufgerufen. Obwohl in den Beispielen, die ich hierzu gefunden habe,
die Zeile ".PaintPalette = ..." enthalten ist, führt diese zum
angegebenen Fehler (deshalb auskommentiert) und in der MDE-Version
erfolgt auch keine Anzeige des Bildes. In den gefundenen Beispielen ist
auch zum Thema MDE nix zu finden gewesen. Was mache ich hierbei falsch?

Gruß Michael
 

Lesen sie die antworten

#1 Thomas Möller
03/03/2010 - 21:32 | Warnen spam
Hallo Michael,

Am 03.03.2010 12:19, schrieb Michael König:
Hallo Newsgroup,

da ich bisher nichts dazu gefunden habe, wende ich mich an Euch: In
einer A2k-Anwendung sollen zu Personen auch ihre Passbilder angezeigt
werden können. In der MDB-Version klappt dies weinbrandfrei, jedoch
nicht in der MDE-Version. Mit folgendem Code zeige ich das Foto an:

'--
Public Function ShowPicture(obj As Object) As Boolean
' Zweck : Anzeige eines Bildes
' Parameter: obj ... Form oder Report als Objekt
' Rückgabe : True, wenn erfolgreich, False sonst
' Hinweis : Im Objekt obj muss ein Picture-Control mit Namen "imgPerson"
existieren
' Der Name der anzuzeigenden Bilddatei steht im Textfeld "FotoDatei";
' wird ggf. ergànzt um den Namen des aktuellen DB-Verzeichnisses
'--
On Error GoTo Err_ShowPicture

Dim strPath As String
Dim lngErrNumber As Long

ShowPicture = False
With obj
If IsNothing(!FotoDatei) Then
!imgPerson.Visible = False
Else
strPath = !FotoDatei
If (InStr(strPath, ":") = 0) And (InStr(strPath, "\\") = 0) Then
strPath = Application.CurrentProject.Path & "\" & strPath
End If
On Error Resume Next
!imgPerson.Picture = strPath
lngErrNumber = Err.Number
On Error GoTo Err_ShowPicture
If lngErrNumber = 0 Then ' das Bild in strPath existiert nicht
!imgPerson.Visible = True
' .PaintPalette = !imgPerson.ObjectPalette ' führt zu Fehler 438
ShowPicture = True
Else
!imgPerson.Visible = False
End If
End If
End With

Exit_ShowPicture:
On Error GoTo 0
Exit Function

Err_ShowPicture:
MsgBox "Fehler " & Err.Number & ""ShowPicture"":" & vbCrLf & _
"==> " & Err.Description, vbCritical + vbOKOnly, _
"Modul modFormsReports (Typ: Modul)"
Resume Exit_ShowPicture

End Function

Diese Funktion wird entweder im Open-Ereignis eines Formulars oder im
DetailbereichFormat-Ereignis eines Berichts - jeweils durch ShowPicture
Me - aufgerufen. Obwohl in den Beispielen, die ich hierzu gefunden habe,
die Zeile ".PaintPalette = ..." enthalten ist, führt diese zum
angegebenen Fehler (deshalb auskommentiert) und in der MDE-Version
erfolgt auch keine Anzeige des Bildes. In den gefundenen Beispielen ist
auch zum Thema MDE nix zu finden gewesen. Was mache ich hierbei falsch?



in der OH habe ich folgenden Satz gefunden:


Bei einem Bericht können Sie die PaintPalette-Eigenschaft nur in der
Berichtsentwurfsansicht festlegen.


Da Du Dein Objekt nicht in der Entwurfsansicht öffnest (und in einer
*.mde-Datei auch nicht in der Entwurfsansicht öffnen kannst) kommt es
zum Fehler.
Wozu brauchst Du diese Zeile eigentlich? Ich bin bisher ohne ausgekommen.


CU
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen