Ausgabe von TextHeight stürzt ab
Hi,
jetzt habe ich einen ganz merkwürdigen Effekt. Ich möchte testweise die Texthöhe in einem TEdit ausgeben:
Code:
Die Zeilen
procedure TMainForm.drucken1Click(Sender: TObject);
{ es wird von einem A4-Format ausgegangen } var PrintForm: TForm2; txth: integer; begin if idx_wd >= 0 then begin if PrintDialog1.Execute then begin PrintForm := TForm2.Create(self); // <<-- hier wird das Objekt von Unit2 erzeugt ... try PrintForm.ShowModal; // jetzt stehen die Ränder fest txth:= PrintForm.Canvas.TextHeight('9'); ... len_ltick:= ... len_stick:=len_ltick - PrintForm.Canvas.TextHeight('9'); finally PrintForm.Free; end; // Printer.Orientation wird bereits in PrintDialog1 festgelegt Edit2.Text:='bl='+border_left.ToString+' bt='+border_top.ToString+ ' br='+border_right.ToString+' bb='+border_bottom.ToString+ ' ltick='+len_ltick.ToString+' stick='+len_stick.ToString+ ' txth='+txth.ToString; // <<-- txth kann ausgegeben werden Application.ProcessMessages; Edit2.Text:=Edit2.Text+(PrintForm.Canvas.TextHeight('9')).ToString; <<-- hier gibt es eine Exception Application.ProcessMessages; ...
Code:
sind extra zum Aufzeigen des Problems eingefügt.
var
... txth: integer; ... txth:= PrintForm.Canvas.TextHeight('9'); ... Edit2.Text:=Edit2.Text+(PrintForm.Canvas.TextHeight('9')).ToString; Der Wert von txth lässt sich fehlerfrei berechnen und im Edit2 ausgeben. Die direkte Ausgabe von "(PrintForm.Canvas.TextHeight('9')).ToString" ergibt jedoch eine Exception "Zugriffsverletzung bei Adresse ..." Die Variante mit "IntToStr(PrintForm.Canvas.TextHeight('9'))" ergibt das gleiche Problem. Was ist denn da falsch daran? :cry: |
AW: Ausgabe von TextHeight stürzt ab
PrintForm wurde bereits freigegeben in deinem Codebeispiel (Du musst PrintForm.Free; weiter hinter schieben)
|
AW: Ausgabe von TextHeight stürzt ab
Hallo,
nimm mal die doppelten Klammern weg
Delphi-Quellcode:
Edit2.Text:=Edit2.Text+PrintForm.Canvas.TextHeight('9').ToString;
|
AW: Ausgabe von TextHeight stürzt ab
Zitat:
|
AW: Ausgabe von TextHeight stürzt ab
Zitat:
|
AW: Ausgabe von TextHeight stürzt ab
Delphi-Quellcode:
*
Bringt das die Instanz zurück, die er kurz zuvor zerstört hat? Welch ein Magie!
ÖH!!! ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:30 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