Autor Beitrag
Tweafis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Mo 02.06.03 14:30 
im Private-Teil einer Komponetne von TGraphicControl abgeleitet

ausblenden Delphi-Quelltext
1:
2:
    procedure Line(var NCanvas: TCanvas; X1,Y1,X2,Y2: Integer); overload;
    procedure Line(var NCanvas: TCanvas; Pt1,Pt2: TPoint); overload;


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TwUhr.Line(var NCanvas: TCanvas; X1,Y1,X2,Y2: Integer);
var oldPenPos: TPoint;
begin
  oldPenPos := NCanvas.PenPos; // Alte Stiftposition speichern...
  NCanvas.MoveTo(X1,Y1);       // Linie
  NCanvas.LineTo(X2,Y2);       //       zeichnen
  NCanvas.PenPos := oldPenPos; // ...und wieder zurücksetzen
end;

procedure TwUhr.Line(var NCanvas: TCanvas; Pt1, Pt2: TPoint);
var oldPenPos: TPoint;
begin
  oldPenPos := NCanvas.PenPos; // Alte Stiftposition speichern...
  NCanvas.MoveTo(Pt1.x,Pt1.y); // Linie
  NCanvas.LineTo(Pt2.x,Pt2.y); //       zeichnen
  NCanvas.PenPos := oldPenPos; // ...und wieder zurücksetzenend;
end;


Wenn ich jetzt die Funktion im Paint teil aufrufe:
ausblenden Delphi-Quelltext
1:
Line(Canvas, Middle, SekHandEnd);					


Canvas ist das Canvas der Kompo (as far as I know)
Middle ist ein TPoint;
SekHandEnd ist ein TPoint;
ausblenden Delphi-Quelltext
1:
2:
  Middle := Point(Width div 2, Height div 2);
  StdHandEnd := GetPos4Deg(StdGrad, Middle, Radius);


GetPos4Deg ist eine func die einen TPoint zurückliefert.
Ich bekomme aber folgenden Fehler:
Zitat:
[Fehler] wUhr.pas(200): Es gibt keine überladene Version von 'Line', die man mit diesen Argumenten aufrufen kann

->
ausblenden Delphi-Quelltext
1:
  Line(Canvas, Middle, StdHandEnd);					

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Mo 02.06.03 14:40 
Lass bei deinem Funktions-Header das var weg...

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!
Tweafis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Mo 02.06.03 14:48 
Hmm, aber der muss doch darein schreiben, oda?

Ohne var gehts, thx.

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Mo 02.06.03 14:51 
Hallo,

bei der Parameter-Übergabe wird var benutzt um eine Referenz zu übergeben und nicht den Wert. Bei Objekten einer Klasse, wie bei dir TCanvas, wird ohnehin eine Referenz übergeben.

MFG

- Ernesto -
Tweafis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Mo 02.06.03 14:54 
Ok, Danke :D euch allen.

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.