Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi gmPrintSuite und Delphi2007 (https://www.delphipraxis.net/145030-gmprintsuite-und-delphi2007.html)

HiWieGehts 22. Dez 2009 10:41


gmPrintSuite und Delphi2007
 
Hallo,

wer verwendet gmPrintSuite mit Delphi 2007?

Ich habe vor Jahren unter Delphi 6 und Windows XP eine Druckvorschau mit gmPrintSuite programmiert. Nun habe ich einige kleinere Änderungen im Programm gemacht und unter Windows 7 und Delphi 2007 das Programm neu kompiliert. Grundsätzlich funktioniert wieder alles. Nur sobald ich in der Druckvorschau einen Text um 90° gedreht ausgebe, werden auch alle Texte, welche normal angezeigt werden sollen, gedreht.

Ich kann Delphi 6 unter Windows 7 nicht mehr starten. Daher kann ich nicht näher testen, ob das Problem mit Windows 7 oder Delphi 2007 zusammenhängt. Sicher ist nur, dass das neu kompilierte Programm auch unter XP die normalen Texte gedreht ausgibt.

Hat jemand Erfahrungen mit gmPrintSuite und Delphi 2007 oder Anpassungen für Delphi 2007 oder Windows 7 gemacht und kann mir Tips dazu geben?

Falls jemand Erfahrung mit dem Umstieg von gmPrintSuite auf eine andere Komponente für die Erstellung einer Druckvorschau hat, würde mich auch infos dazu interessieren (auf welche Komponente ist der Umstieg am einfachsten usw.).

Vielen Dank für jede Unterstützung im Voraus!

HiWieGehts 27. Dez 2009 07:57

Re: gmPrintSuite und Delphi2007
 
Hallo,

ich weiß nicht, ob dieses Thema jemanden interessiert, weil nicht festellbar ist, wie oft ein Beitrag gelesen wird. Für den Fall, dass es aber jemanden gibt, der die gleichen Probleme wie ich hat, hier die Änderungen, welche ich nach langem Debuggen durchgeführt habe:

Am Beginn der Datei GMPS.INC (vor {$IFDEF VER150}) einfügen:
Delphi-Quellcode:
{******************************************************************************}

{$IFDEF VER180}
  {$DEFINE DELPHI2007}
  {$DEFINE DELPHI}
{$ENDIF}

{$IFDEF VER170}
  {$DEFINE DELPHI2006}
  {$DEFINE DELPHI}
{$ENDIF}

{$IFDEF VER160}
  {$DEFINE DELPHI2005}
  {$DEFINE DELPHI}
{$ENDIF}

{$IFDEF VER150}
Zwischen dem {$ENDIF} von {$IFDEF VER100} und {$IFDEF DELPHI7} in GMPS.INC die folgenden Zeilen einfügen:
Delphi-Quellcode:
{$IFDEF VER100}
  {$DEFINE DELPHI3}
  {$DEFINE DELPHI}
{$ENDIF}

{$IFDEF DELPHI2007}
  {$DEFINE D2007+}
  {$DEFINE D2006+}
  {$DEFINE D2005+}
  {$DEFINE D6+}
  {$DEFINE D5+}
  {$DEFINE D4+}
  {$DEFINE D3+}
{$ENDIF}

{$IFDEF DELPHI2006}
  {$DEFINE D2006+}
  {$DEFINE D2005+}
  {$DEFINE D6+}
  {$DEFINE D5+}
  {$DEFINE D4+}
  {$DEFINE D3+}
{$ENDIF}

{$IFDEF DELPHI2005}
  {$DEFINE D2005+}
  {$DEFINE D6+}
  {$DEFINE D5+}
  {$DEFINE D4+}
  {$DEFINE D3+}
{$ENDIF}

{$IFDEF DELPHI7}
In der Datei GmResource.pas die Prozedure AssignToFont wie folgt ergänzen:
Delphi-Quellcode:
procedure TGmFont.AssignToFont(AFont: TFont);
{$IFNDEF D2007+}
var
  logFont : TLogFont;
{$ENDIF}
begin
  AFont.Color := FColor;
  AFont.Size := FSize;
  AFont.Name := FName;
  AFont.Charset := FCharset;
  AFont.Style := FStyle;
  {$IFDEF D2007+}
  AFont.Orientation := Round(FAngle * 10);
  {$ELSE}
  if FAngle <> 0 then
  begin
    GetObject(AFont.Handle, sizeof(logFont), @logFont);
    logFont.lfEscapement := Round(FAngle * 10);
    logFont.lfOrientation := Round(FAngle * 10);
    AFont.Handle := CreateFontIndirect(logFont);
  end;
  {$ENDIF}
end;
Mit diesen Änderungen kann wieder Text in beliebigen Winkeln ausgegeben werden.

Ich hoffe mit diesem Beitrag keine Urheberrechte zu verletzen. Sollte dies der Fall sein, bitte Info (Antwort) schreiben oder wenn die erforderlichen Rechte vorhanden, Beitrag löschen.

LG, HiWieGehts

x000x 6. Jun 2012 23:11

AW: gmPrintSuite und Delphi2007
 
Moin,

ich weiss das ich das hier jetzt aus dem "Keller" hole...

Hat eventuell schon jemand die GmPrintSuite unter XE2 getestet und hat Hinweise für mich?
(Wir stellen grade Projekte aus D5 auf XE2 um - unter anderem wird auch die GmPrintSuite verwendet)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 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