AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

vom Objekt zur Komponente

Ein Thema von sebi87 · begonnen am 16. Apr 2008 · letzter Beitrag vom 17. Apr 2008
Antwort Antwort
Seite 2 von 4     12 34      
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: vom Objekt zur Komponente

  Alt 17. Apr 2008, 07:40
Delphi-Quellcode:
TBall = class(TComponent)
  private
    FCanvas: TCanvas;
    FPoint: TPoint;
  public
    constructor Create(AOwner: TComponent); overload; override; // Standard-Constructor Eigentlich nicht unbedingt notwendig, aber ich würde ihn trotzdem anlegen
    constructor Create(AOwner: TComponent; Acanvas: TCanvas; APoint: TPoint ); overload;
    procedure Paint;
  published
    property Canvas: TCanvas read FCanvas write FCanvas;
    property Point: TPoint read FPoint write FPoint;
end;

...

constructor TBall.Create( AOwner: TComponent);
begin
    inherited create (AOwner); //geerbter Konstruktor
    FCanvas := Nil; //Zur Sicherheit
    FPoint := Nil; //Zur Sicherheit;
end;

constructor TBall.Create(AOwner: TComponent; ACanvas: TCanvas; APoint: TPoint );
begin
    Create( AOwner); // Aufruf Standardkonstruktor
    FCanvas := ACanvas;
    FPoint := APoint;
end;
...
was willst du eigentlich mit diesem Konstrukt erreichen? bitte beachten, dass du dich auch darum kümmern musst, dass deine Paint-Methode aufgerufen wird, wenn der externe Canvas neu gezeichnet wird.
Markus Kinzler
  Mit Zitat antworten Zitat
sebi87
(Gast)

n/a Beiträge
 
#12

Re: vom Objekt zur Komponente

  Alt 17. Apr 2008, 07:47
Was will ich damit erreichen?

Na ja ich will mir das Zeichen von "Bällen" also Kugeln durch eine Komponente vereinfachen da ich das in der "Anwendung" also meinem Arbeitskreis sehr oft benötige.


Danke für die schnelle Antwort, ich werde das mal versuchen.


Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#13

Re: vom Objekt zur Komponente

  Alt 17. Apr 2008, 07:58
wenn du eine visuelle Componente willst solltest du TCustomControl oder TGraphicControl verwenden je nach dem was du genau vor hast. Dort gibt es bereits eine Canvas und die Implementierung für das Zeichnen, Fenster allocieren etc. ist auch vorhanden. Es macht ja keinen sinn eine nicht visuelle Komponente zu verwenden wenn sie etwas visuell darstellen soll.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
sebi87
(Gast)

n/a Beiträge
 
#14

Re: vom Objekt zur Komponente

  Alt 17. Apr 2008, 13:47
funktionier jetzt alles soweit nur bei

FPoint := Nil; erscheint immer ein Kompatibilitätsfehler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: vom Objekt zur Komponente

  Alt 17. Apr 2008, 13:55
Oh TPoint ist ein Record keine Klasse:
Delphi-Quellcode:
FPoint.x := -1;
FPoint.y := -1;
Markus Kinzler
  Mit Zitat antworten Zitat
sebi87
(Gast)

n/a Beiträge
 
#16

Re: vom Objekt zur Komponente

  Alt 17. Apr 2008, 16:23
So geht jetzt alles ganz wunderbar.

Nur hab ich schon wieder ein Problem an dem ich jetzt nicht weiter komme.

Ich will in dem Construktor beim "ertellen" der Komponente ein Objekt "erstellen"
ich hab das jetzt einfach so versucht

Delphi-Quellcode:
constructor TBall.Create(AOwner : TComponent; AMittelpunkt : TPoint; Canvas : TCanvas) ;
begin
  Create(AOwner) ;

  FCanvas := ACanvas ;
  FMittelpunkt := AMittelpunkt ;

  Dreieck:= TVieleck.Create ;
end ;
wenn ich das Objekt benutzen will, stoße ich aber immer auf eine Zugriffsverletzung im Projekt, hat jemanden ne Idee wie das Funktioniert?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: vom Objekt zur Komponente

  Alt 17. Apr 2008, 16:26
Wo hast du das Objekt Dreieck definiert? BTW. Das würde ich im Standard-Konstruktor instantiieren.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#18

Re: vom Objekt zur Komponente

  Alt 17. Apr 2008, 16:27
Ich steig da nicht durch: Canvas, ACanvas und FCanvas?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
sebi87
(Gast)

n/a Beiträge
 
#19

Re: vom Objekt zur Komponente

  Alt 17. Apr 2008, 16:28
Ok, im Standart-Konstruktor schieben ist kein Problem.

Das Objekt ist in der gleichen Unit definiert
  Mit Zitat antworten Zitat
sebi87
(Gast)

n/a Beiträge
 
#20

Re: vom Objekt zur Komponente

  Alt 17. Apr 2008, 16:33
@ DeddyH:

Stimmt das ist ein fehler drin muss so heißen:

Delphi-Quellcode:
constructor TBall.Create(AOwner : TComponent; AMittelpunkt : TPoint; ACanvas : TCanvas) ;
begin
  Create(AOwner) ;

  FCanvas := ACanvas ;
  FMittelpunkt := AMittelpunkt ;

  Dreieck:= TVieleck.Create ;
end ;

und ACanvas wird an FCanvas die Global deiniert ist übergeben
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 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