Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit emptyParam (https://www.delphipraxis.net/149932-problem-mit-emptyparam.html)

idefix2 2. Apr 2010 18:23


Problem mit emptyParam
 
Hallo,

Ich versuche, Word über OLE anzusprechen. Bis jetzt ist es mir gelungen, eine Vorlage zu laden, verschiedene Textmarken anzuspringen und dort die Vorlage mit Text zu füllen. Beim Versuch, das Zeug auszudrucken, bekomme ich aber folgende Exception:
Im Projekt Winlink.exe ist eine Exception der Klasse OleException mit der Meldung 'Die Zahl muss zwischen 1 und 32767 liegen'.

Emptyparam hat laut Debugger den Wert "Fehler(-2147352572)", das ist offenbar die Ursache. Es gibt zwei Units, die Emptyparam exportieren, nämlich OleCtrls und Variants - ich nehme an, OleCtrls ist die, die ich verwenden sollte, in beiden Fällen ist aber der Wert derselbe.

Wie übergebe ich leere Parameter richtig, bzw wie bekomme ich emptyparam richtig initialisiert, wenn werder das Einbinden der Unit Variants noch der Unit OleCtrls hilft.


Delphi-Quellcode:
 
procedure drucken;
var oleKopien, oleRange: olevariant;
begin
oleKopien := kopien;
oleRange := wdPrintAllDocument;
WordDoc.PrintOutOld(EmptyParam, EmptyParam, oleRange, EmptyParam, EmptyParam,
                    EmptyParam, EmptyParam, oleKopien, emptyparam) ;
end;



P.S: Den OLE Aufruf selbst habe ich aus einem alten Delphi5 Quellcode abgeschrieben, dort funktioniert das Drucken auf diese Art einwandfrei.

Keldorn 2. Apr 2010 18:47

Re: Problem mit emptyParam
 
Hallo

dein Code geht bei mir. Die Frage ist aber vielleicht auch nicht, welchen Wert Emptyparam hat ;-), sondern "kopien": sicher das dieser Wert nicht 0 ist?

Gruß Frank

idefix2 2. Apr 2010 22:47

Re: Problem mit emptyParam
 
Danke, das wars - einfach zu blöd. Bei Kopien ist das Original offenbar mitgezählt, und Null deshalb nicht erlaubt (Ich wollte jetzt einmal nur ein Exemplar und habe die Anzahl der Kopien deshalb = 0 gesetzt). Der komische Wert von Emptyparam im Debugger hat mich davon abgehalten, irgend etwas in Betracht zu ziehen und zu versuchen, was nichts mit emptyparam zu tun hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz