Domino 9 und frühere Versionen > ND7: Entwicklung
OLE Objekte in Attachments umwandeln?
OlTu:
Servus Jungs !
Habe ein riesen Problem und leider immer noch keine Lösung dazu. Vielleicht hatte jemand von euch schon mal was damit zu tun gehabt und kann mir helfen ?
Und zwar:
- habe eine grooooße DB mit mehreren Repliken auf anderen Servern,
- die DBen sind von Domino 5 auf Domino 7 umgezogen worden
- enhalten viele Dokumente mit vielen OLE Objekten
Problem: OLE Objekte kann man auf einem Server öffnen, auf den anderen aber nicht. Meldung "Object request has not completed because the file already exists". Ich erstelle ein neues Dokument, kopiere die OLE Objekte rein, repliziere auf die anderen Server. Alles ok. Am nächsten aber wieder zerschossen.
Wir haben jetzt beschlossen, die OLE-Objekte durch die Attachments zu ersetzen. Manuell geht das nicht, da es insgesamt ca. 20000 Dokumente mit vielen OLE-Objekten sind. Programmatisch aber auch nicht so wirklich, weil
Problem 2: seit einiger Zeit und nur in manchen DBen werden die OLE-Objekte als graue Striche angezegt und nicht als Icons. Wenn ich die Eigenschaften von so einem OLE-Objekt anzeigen lasse und einen Doppelklick auf die Option "Zeige als Icon an" mache, schmiert mir mein Notes ab. Wenn ich einen Agenten laufen lasse, der OLE in Attachments umwandelt (siehe Code unten), schmiert mir mein Notes ab.
Forall o In rtitem.EmbeddedObjects
If (o.Type = EMBED_OBJECT) Then
fileCount = fileCount + 1
fileName = tempDir & "AttachmentFromOLE" & Cstr(fileCount)
Set handle = o.Activate(False)
handle.Application.Windows(handle.Application.Windows.Count).Visible = True
Call handle.SaveAs(fileName)
Call handle.Close
Set handle = Nothing
fname = Dir$(fileName & "*", 0)
If (fname = "") Then
fileCount = fileCount - 1
Else
fName = tempDir & fName
Call rtitem.EmbedObject(EMBED_ATTACHMENT, "", fName) Kill fname
End If
End If
End Forall
Call doc.Save(True, False)
Der eine Client schmiert ab, beim Versuch, das Dokument zu speichern, der andere beim o.Activate(False), sobald ich in der Schleife das 2.Objekt erreicht habe. >:( >:( >:(
Also, ich habe vor, die OLE-Objekte in Attachments umzuwandeln. Geht aber nicht, wenn das OLE-Objekt nicht als "Icon" angezeigt wird. Man könnte vielleicht programmatisch diese Eigenschaft setzen, weiss aber nicht wie.
ata:
... was sagt den der Debugger zum zweiten Object? Du scheinst den Bezug zum ersten zu verlieren...
Toni
ar60:
Hallo,
OLE ist sowieso ein heikles Thema. Da muß als erstes die Fehlerbehandlung gemacht werden sonst startest du 10000mal den Rechner neu.
Sende mir mal paar Screenshoots vorher, nachher.
Ich hab mir da vor einiger Zeit paar Libs gebaut mit denen nur
ich zurecht komme.
OlTu:
Danke schon mal für eure Beiträge.
Habe inzwischen den folgenden Stand:
- ich öffne alle Dokumente im Frontend und speichere diese (mit script)
- danach lasse ich den 2. Agenten laufen und kann OLE-Objekte in Attachments umwandeln
Es sieht so aus, als ob da irgendwas mit dem Dokument wäre, da die Umwanldung nach dem Speichern im Frontend problemlos funktioniert.
Soweit so gut, aber kann man die Attachments an die Positionen der OLE-Objekte anhängen? Also ich habe Text dann OLE dann wieder Text dann wieder OLE. Die Attachments möchte ich an derselben Stelle haben, wo die OLE Objekte standen. Habe mir überlegt, vor jedem OLE Objekt einen Platzhalter zu schreiben, aber soweit ich weiß, ist das überhaupt nicht möglich. Oder kennt ihr welche Tricks?
Weiteres Problem sind die Labels. Kann man diese programmatisch irgendwie auslesen?
m3:
Möchtest Du nicht ein paar Teuros in Midas Rich Text LSX 4.00 investieren?
--- Zitat ---Enhanced file attachment handling
Functionality has been added to allow extensive flexibility in adding and managing file attachments, especially with regards to attachment icons. Icons can now be created with both custom and standard images as well as additional text tags, allowing personalization or corporate branding of attachment icons.
--- Ende Zitat ---
http://www.geniisoft.com/showcase.nsf/MidasLSX
Damit ersparst Du Dir sicherlich einiges an Kopfschmerzen.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln