Announcement

Collapse
No announcement yet.

EmptyParam und Delphi 8

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • EmptyParam und Delphi 8

    Beim Versuch Word in Delphi 8 zu automatisieren bin ich Probleme gestoßen (bzw. keine Lösung gefunden):

    Unter D < Version 8 konnte man nicht belegte Parameter mit EmptyParam als default belegen. Unter D8 gibt es dieses EmptyParam nicht mehr.

    Z.B. folgender Aufruf:

    WordDoc := WordApp.Documents.Open(OleFileName, OleFalse, OleTrue, OleFalse, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);

    müßte für die bisherigen 6 Parameter eine Übergabeparameter definiert werden (Und da bei Word alles als var definiert ist auch jeweil noch 'ne Variable). Und das ist mehr als lästig.

    Wie bekomme ich ein möglich kurzen Aufruf hin ohne alle Parameter zu belegen?

  • #2
    Hallo,

    gegenüber früher hat sich nur geändert, dass wir nun eine Variable vom Typ <i>TObject</i> deklarieren müssen. Über <b>System.Reflection.Missing.Value</b> wird der Parameter als nicht übergeben gekennzeichnet, so dass der optionale Parameter der Interface-Methode greift:
    <pre>
    <b>procedure</b> TWinForm.Button1_Click(sender: System.<b>Object</b>; e: System.EventArgs);
    <b>var</b>
    aWordApp : Word.ApplicationClass;
    vFileName : System.<b>Object</b>;
    aEmptyParam : System.<b>Object</b>;
    <b>begin</b>
    aWordApp := Word.ApplicationClass.Create;
    vFileName := <font color="#9933CC">'C:\Temp\wartung.doc'</font>;
    aEmptyParam := System.Reflection.Missing.Value;
    aWordApp.Documents.Open(vFileName, aEmptyParam, aEmptyParam, aEmptyParam,
    aEmptyParam, aEmptyParam, aEmptyParam, aEmptyParam, aEmptyParam,
    aEmptyParam, aEmptyParam, aEmptyParam, aEmptyParam, aEmptyParam,
    aEmptyParam);
    aWordApp.Visible := True;
    <b>end</b>;
    </pre&gt

    Comment

    Working...
    X