Autor Beitrag
Peter18
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 489
Erhaltene Danke: 2


Delphi4
BeitragVerfasst: Mi 23.09.15 16:15 
Ein freundliches Hallo an alle,

hab mal wieder ein Problem. Ich möchte eigentlich aus Delphi 4 heraus ein Word-Dokument faxen. Laut AVM und einem Beispiel aus dem Internet kein Problem. -- Denkste!!!

Problem 1: Die Druckerschnittstelle
Wenn ich "PrintOut" ohne Parameter aufrufe, ist alles in Ordnung. Sobald ich Parameter übergebe, geht es bis "OutputFileName" gut. Gebe ich weitere Parameter an, erhalte ich einen Typfehler.

Das funktioniert:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
  if FileExists( Fil ) then
  begin
    word := CreateOleObject( 'Word.Application');
    word.Documents.Open( Fil );
    word.ActivePrinter := 'FRITZfax Drucker';
    word.Application.PrintOut(  );


ausblenden Delphi-Quelltext
1:
word.Application.PrintOut( WBackground, WAppend, WRange, WOutputFileName );					
funktioniert auch aber

ausblenden Delphi-Quelltext
1:
word.Application.PrintOut( WBackground, WAppend, WRange, WOutputFileName, WFrom, WTo );					

liefert einen Typfehler. Alle Parameter sind als "OleVariant" deklariert. Da alle Parameter optional sind, dachte ich, vielleicht hängen die Parameter "WFrom, WTo" von "WRange" ab und habe sie ausgeklammert. ==> Typfehler!
Auch "WRange := wdPrintFromTo;" änderte nichts. Hoffe jemand hat einen Tipp!

Problem 2: FritzFax
Eigendlich sollte ein Eintrag in der Systemdatenbank die "Faxen" im Hintergrund ablaufen lassen, doch auch hier: Denkste!
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
    Reg         := TRegistry.Create;
    Reg.RootKey := HKEY_CURRENT_USER;
    Reg.OpenKey( '\Software\VB and VBA Program Settings\FRITZ!fax\Print' , true );
    Reg.WriteString( Usr, FaxNr );
    Reg.CloseKey;

erzeugt die Einträge. Dennoch erscheint das Formular, in dem die Faxnummer des Empfängers eingetragen werden muß. Laut AVM sollte das nicht geschehen, oder ich habe etwas falsch verstanden.

Ich hoffe auch hier kann mir jemand weiterhelfen.

Grüße von der wolkigen und ab und zu regnerischen Nordsee

Peter

Moderiert von user profile iconNarses: Beiträge zusammengefasst

Ein freundliches Hallo an alle,

Problem Nummer 1 kann ich als gelöst melden! Nicht verwendeten Parametern brauche ich "nur" "EmptyParam" zuzuweisen, und schon klappt es! Leider werden nicht alle deklarierten Variablen mit entsprechenden Werten initialisiert, sondern nur "nach Lust und Laune" wie es scheint. Natürlich weiß ich dass der Programmierer dafür veratwortlich ist, aber manche werden automatisch initialisiert und die Anzahl der unterschiedlichen "Leeren Werte" ist auch nicht ohne: Unassigned, Null, Nil, EmptyParam u.s.w.. Da kann man schon mal ins schleudern kommen.

Grüße von der Nordsee

Peter