Einzelnen Beitrag anzeigen

Painterxyz

Registriert seit: 25. Nov 2007
36 Beiträge
 
#7

AW: OLE - Word - Eingebettete Grafik

  Alt 10. Aug 2010, 10:51
Hallo 80286,

dein Code-Schnipsel hat funktioniert und ich konnte die Grafik ohne Fehlermeldung einfügen. Danke.

Die Eigentliche problematische Stelle habe ich nun gefunden und auf einen Beispielcode reduziert.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, OleCtnrs;

type
  TForm1 = class(TForm)
    OleContainer1: TOleContainer;
    procedure FormShow(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}


const QUELLE = 'D:\Delphi-Experimente\Word\Speichern_grosse_Bilder\Dokument_mit_grosser_Grafik.doc';

procedure TForm1.FormShow(Sender: TObject);
begin
  try
    OleContainer1.CreateObjectFromFile(QUELLE,False);
  except
    on e:Exception do
    begin
      MessageDlg('Öffnen: ' +
                 e.Message, mtWarning, [mbOK], 0);
      Exit; // wenn kein Olecontainer geladen werden kann, kann abgebrochen werden
    end;
  end;

  try
    OleContainer1.Run;
    OleContainer1.DoVerb(0);
  except
    on X:Exception do
    begin
      MessageDlg('Ausführen: ' + X.Message, mtWarning, [mbOK], 0);
      try
        OleContainer1.Close;
        OleContainer1.DestroyObject;
      except
      end;
      Exit;
    end;
  end;

  try
    OleContainer1.SaveAsDocument(ExtractFilePath(QUELLE)+'\01_'+ExtractFileName(QUELLE));
  except
    on e:Exception do
    begin
      ShowMessage('Speichern: ' + e.Message);
    end;
  end;
end;

end.
  Mit Zitat antworten Zitat