Bonjour,
Je me bat avec la ligne suivante qui fonctionne avec les fichier pdf, word, jpeg, ... mais pas avec les fichiers DWF (Autocad) (il y a une exception du ViewerDWF de chez Autodesk).
Enfin cela fonctionne sur les machines qui ont Autocad Mechanical, mais sur celles qui ont juste le ViewerDWF.
Par contre si je créer le lien sur une machine avec Mechanical et que j'enregistre mon TRichEdit, puis que j'ouvre mon fichier sur une machine qui n'a que le Viewer cela fonctionne.
Donc j'ai un problème lors de la création de l'objet OLE avec les fichier DWF.
J'ai essayé de mettre des valeur dans le paramètre FormatETC, mais je n'arrive au résultat.
Voici le code qui est tiré des source d'Alexandre le Grand (merci à lui)
FillChar(ReObject, SizeOf(TReObject), 0);
For I := 0 To Files.Count - 1 Do
Begin
FilePath := Files[I];
If GetRichOleInterface(REdit, RichEDitOle, OleClientSite) Then // Récupère IRichEDitOle et IOleClientSite
Begin
Storage := Nil;
Try
CreateIStorage(Storage); // Crée un espace d'accueil
If Linked Then
OleCheck(OleCreateLinkToFile(OleCopyPasString(FilePath), IOleObject, OLERENDER_DRAW, Nil, OleClientSite, Storage, OleObject))
Else
OleCheck(OleCreateFromFile(CLSID_NULL,OleCopyPasString(FilePath), IOleObject, OLERENDER_DRAW, Nil, OleClientSite, Storage, OleObject));
Partager