Domino 9 und frühere Versionen > ND6: Entwicklung
ein Bild in einer Maske dynamisch anzeigen? geht sowas?
Jenson:
Also ich komme am Backend nicht vorbei ... mir ist der Begriff DXL noch neu ... wie würde denn da ein Ansatz aussehen?
Jenson
TMC:
--- Zitat von: Jenson am 16.03.05 - 08:57:49 ---wie würde denn da ein Ansatz aussehen?
--- Ende Zitat ---
Also nur so eine Idee:
Das Attachment auf die Platte lösen. Dann das JPEG-Bild in Base64 encoden. Dafür gibt es im Web Code auch für LotusScript.
Das NotesDokument setzt Du Dir in einen Stream. Dort fügst Du das in Base64 encodierte Bild an entsprechender Stelle ein. Dann speicherst Du den Stream zurück in die Datenbank.
Ist ein ziemlicher Hack so. Aber ich denke so könnte es funktionieren. Bezüglich Performance kann gerade bei Base64 einiges an Zeit draufgehen, evtl. da dann Alternativen einsetzen (Java?).
HaPe:
Hallo Leute hier noch ein Ansatz von mir den ich für grade diese Problem schon umgestzt habe.
Eine OLE control des Media Players in die Maske einbinden. Im Post open das Bild auf die Platte speichern und im OLE Contol laden. Dann im Query Close das Bild wieder von der Platte löschen.
Klappt einwandfrei. Damit ist es auch möglich das angezeigte Bild bei geöffneter Maske auszutauschen.
Hier der Code zum Laden des Bildes (Die eingebunden Media Player Control heist bei mir "Windows Media Player"):
--- Code: --- ' Load Preview Picture
On Error Goto errHandler
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim dbCurrent As NotesDatabase
Dim docPic As NotesDocument
Dim adobe As Variant
Dim rti As NotesRichTextItem
Dim strWinTemp As String
Dim strStartPDF As String
Dim oFirst As NotesEmbeddedObject
Dim view As NotesView
If doc.AlbumPictureThumbnail(0)="" Then Exit Sub
'Get Thumbnail from Picture document
Set dbCurrent=session.CurrentDatabase
Set view=dbCurrent.GetView("plinks")
Set docPic=view.GetDocumentByKey(doc.AlbumPicture(0),True)
Set rti = docPic.GetFirstItem("Body")
Set oFirst = rti.GetEmbeddedObject(doc.AlbumPictureThumbnail(0))
'Write thumbnail to disk
strWinTemp = WinTemp 'function "Wintemp".....
Call oFirst.ExtractFile(strWinTemp & "\" & oFirst.Source)
'Store thumb filename
OldThumbPicName=strWinTemp & "\" & oFirst.Source
'Load thumbnail in MediaPlayer
Set adobe = Source.GetObject("Windows Media Player")
adobe.open(strWinTemp & "\" & oFirst.Name) 'launch the adobe acrobat file.....
exitScript:
Exit Sub
errHandler:
Select Case Err
Case 184 'NoEmbeddedObject....
Msgbox "There is no file attached.... ", 64, "Info"
Call Source.close
Resume exitScript
Case Else
Msgbox "An error occured." & Chr(10) & Chr(10) _
& "Error text: " & Error$ & Chr(10) _
& "Error number: " & Err & Chr(10) _
& "Line: " & Erl & Chr(10) _
,64,"Error"
Resume exitScript
End Select
--- Ende Code ---
Man sieht das der Code von der Idee mit dem PDF Active-X conrol abgeschut ist oder :-)
animate:
das ist ne Idee.
Vorschlag, statt des fetten Mediaplayers reicht vermutlich auch ein simples Image Control.
HaPe:
Hi Thomas,
welches Conrol genau meinst du? Hast du die Methoden welche das Control unterstützt?
Der grund warum ich den Medai Player genommen habe war das ich da sicher bin das er auf jedem (halbwegs aktuellen) windows vorhanden ist und ich in der Lage war über die OLE classen browser im designer die Methoden zu ermittel.
Gruß
HaPe
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln