Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TextRect -> Es gibt keine überladene Version ... (https://www.delphipraxis.net/152305-textrect-es-gibt-keine-ueberladene-version.html)

Tobinator 17. Jun 2010 17:43

Delphi-Version: 2009

TextRect -> Es gibt keine überladene Version ...
 
Hi,

ich will einen Text über Canvas.TextRect ausgeben, aber das funktioniert nicht. Ich hab zwar ein Thema gefunden, was genau dieses Problem zu behandeln scheint, das bringt mich aber nicht weiter. Ich habs mal so wie es da steht angepasst, aber es funktioniert immer noch nicht.

Delphi-Quellcode:
procedure TMyDocumentLabel.Paint(Canvas: TCanvas; y0: integer);
  var R:TRect;
      s:AnsiString;
      t:TTextFormat;
begin
  //r:=rect(Left*scale,y0+Top*scale,(Left+width)*scale,y0+(Top+Height)*scale);
  s:='asd';
  r:=rect(10,12,130,150);
  T:=[tfCenter];
  Canvas.TextRect(R,S,[tfCenter]);
//  Canvas.TextRect(R,s,T);
end;
Es kommt der Fehler:
Zitat:

[DCC Fehler] Report2.pas(469): E2250 Es gibt keine überladene Version von 'TextRect', die man mit diesen Argumenten aufrufen kann
Die auskommentierten Anweisungen funktionieren auch nicht.

Es ist doch im Prinzip genau das selbe, wie auch in dem anderen Thema steht, oder?? Was mache ich falsch?

Danke schonmal,
Tobi.

DeddyH 17. Jun 2010 17:53

AW: TextRect -> Es gibt keine überladene Version ...
 
Welcher Canvas ist denn hier gemeint? Der Parameter oder ggf. die Canvas-Eigenschaft der Klasse?

Tobinator 17. Jun 2010 17:54

AW: TextRect -> Es gibt keine überladene Version ...
 
Das Canvas, was oben als Parameter steht.
Die Klasse hat kein eigenes.

DeddyH 17. Jun 2010 17:56

AW: TextRect -> Es gibt keine überladene Version ...
 
Ich glaube zwar nicht wirklich, dass es etwas bringt, aber benenne den Parameter doch einmal um (aCanvas z.B.).

Tobinator 17. Jun 2010 17:58

AW: TextRect -> Es gibt keine überladene Version ...
 
Bringt auch nix...
Aber zu dem anderen gibts doch eigentlich keinen unterschied, oder??
Also es sind Variablen-Parameter und Tippfehler hab ich auch nicht gefungen...

DeddyH 17. Jun 2010 18:04

AW: TextRect -> Es gibt keine überladene Version ...
 
Im Moment seh ich jetzt auch nicht, was die Ursache sein könnte. Du hast aber keine eigene TCanvas-Klasse deklariert, oder?

Tobinator 17. Jun 2010 18:11

AW: TextRect -> Es gibt keine überladene Version ...
 
Nee, das ist ein Canvas, was von einer Paintbox kommt und über verschiedene Proceduren immer weiter gereicht wird, das dürfte doch aber nichts ändern, oder?

DeddyH 17. Jun 2010 18:18

AW: TextRect -> Es gibt keine überladene Version ...
 
Ich habe gerade mal das hier ausprobiert:
Delphi-Quellcode:
procedure TForm1.DoPaint(aCanvas: TCanvas);
var R:TRect;
    s:AnsiString;
    t:TTextFormat;
begin
  s:='asd';
  r:=rect(10,12,130,150);
  T:=[tfCenter];
  aCanvas.TextRect(R,S,[tfCenter]);
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
  DoPaint(Canvas);
end;
Keine Probleme, anscheinend fehlt mir Quelltext. Du könntest das Projekt ja mal zippen und anhängen, vielleicht sieht man da mehr.

himitsu 17. Jun 2010 18:20

AW: TextRect -> Es gibt keine überladene Version ...
 
Welches TextRect wird denn angeboten, bzw. was zeigt denn die IDE für mögliche Parametertypen an?

Und sind die Typen auch die Selben?
Nicht daß die Parameter andere Typen verlangen, als deine Variablen es sind.
(gleichnamige Typen aus anderen Units)

Tobinator 17. Jun 2010 18:29

AW: TextRect -> Es gibt keine überladene Version ...
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also die Parameter stimmen eigentlich, das hab ich mehrmals kontrolliert.
Hier mal das Projekt


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:39 Uhr.
Seite 1 von 2  1 2      

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