DC_Printer:SETFONT Paramater hat falschen Typ

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

Antworten
Werner
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 120
Registriert: Sa, 18. Mär 2006 16:08

DC_Printer:SETFONT Paramater hat falschen Typ

Beitrag von Werner »

Hi!

Ich habe einmal wieder ein Druckerproblem: Wenn ich meine .EXE auf einem neuen XP-Rechner aufspiele, bekomme ich beim 1. Druckanstoß folgende Fehlermeldung:

Fehler BASE/1025
Beschreibung: Parameter hat falschen Typ
Operation: :init
Thread ID: 1
aufgerufen von DC_PRINTER:SETFONT(1572)
aufgerufen von DC_PRINTER:INIT(571)
aufgerufen von DCPRINTERON(2405)
aufgerufen von VS_TESTA(47)

Das aufrufende Programm: VS_TESTA ist wie folgt konfiguriert:

PROCEDURE vs_testa

#INCLUDE "DCPRINT.CH"
#INCLUDE "DCMSG.CH"
#INCLUDE "FONT.CH"

LOCAL oPrinter,oScrn

font10 := '10.ARIAL'
bfont10 := '10. ARIAL BOLD'

SET DEVICE TO PRINT

DCPRINT ON Size 66,80 TO oPrinter FONT font10 USEDEFAULT AUTOEJECT

==> In dieser letzten Zeile soll der Parameter für die Schrift font10 einen falschen Typ haben.

Auf den meisten anderen Rechnern funktionierte dieser Druckbefehl bisher einwandfrei!

Kann es daran liegen. dass in der FONT.CH andere Schriftarten, wie z.B. HELVETICA oder TIMES ROMAN definiert sind, nicht jedoch ARIAL? Wie kann ich dem Drucker die Schrift ARIAL zugänglich machen?

Vielleicht kann mir jemand einen Tipp geben?

Vielen Dank im Voraus!

Gruß Werner
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: DC_Printer:SETFONT Paramater hat falschen Typ

Beitrag von brandelh »

Werner hat geschrieben: Kann es daran liegen. dass in der FONT.CH andere Schriftarten,
wie z.B. HELVETICA oder TIMES ROMAN definiert sind, nicht jedoch ARIAL?
Wie kann ich dem Drucker die Schrift ARIAL zugänglich machen?
Arial ist seit langem die Standardschrift bei Windows, HELV (Helvetika) und TIMES stammen bei Xbase++ noch aus den OS2 Zeiten.
Du kannst einen Font mit z.B. "10.Arial" anlegen, das geht unter Windows, bei FETT oder BOLD wird es aber kniffelig,
da in Deutschland oft FETT oder Fett geschrieben wird, international oder auch bei anderen Schriften immer BOLD oder bold verwendet wird.

Um dies sauber zu lösen werden in der Font.ch (bei mir original, ob du eine DC spezial hast weiß ich nicht) Konstanten definiert,
die man statt dessen nutzen soll. Oder man erzeugt die Font-Objekte mit den Eigenschaften ...

Siehe hierzu die Hilfe von XbpFont() ...

Code: Alles auswählen

   oFont := XbpFont():new()              // XbpFont-Objekt erzeugen 
   oFont:familyName := "Arial" // Font beschreiben 
   oFont:height     := 16 
   oFont:width      :=  8 
   oFont:bold      :=  .t.  // FETT
   oFont:create() 
leider kommt aber nicht immer das raus, was man eigentlich haben möchte (obwohl es besser wurde),
sicherheitshalber also nach dem create prüfen ob die Werte passen und exotische Schriften meiden ;-)
Gruß
Hubert
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: DC_Printer:SETFONT Paramater hat falschen Typ

Beitrag von Koverhage »

Mich würde das
SET DEVICE TO PRINT
stören
Gruß
Klaus
Antworten