AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Brauche Hilfe bei Komponentenentwicklung allgemein
Thema durchsuchen
Ansicht
Themen-Optionen

Brauche Hilfe bei Komponentenentwicklung allgemein

Ein Thema von 3_of_8 · begonnen am 19. Jul 2005 · letzter Beitrag vom 24. Jul 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#1

Brauche Hilfe bei Komponentenentwicklung allgemein

  Alt 19. Jul 2005, 16:16
Hallo.
Ich bin jetzt einmal in die Komponentenentwicklung eingestiegen, und Delphi dankt es mir mit AVs und regelmäßigen Abstürzen.

Das erste, das ich wissen muss, ist: Wie integriere ich eine protected Komponente in meine eigene Komponente? Z.B. ein Image, auf dessen Canvas ich zeichnen will? Die Deklaration habe ich so gemacht:

Delphi-Quellcode:
//...

interface

uses Classes, StdCtrls, Windows, SysUtils; //Sind nicht alle aufgeführt, aber im richtigen
  //Programm habe ich alle benötigten aufgeführt.

type
  TRobotPainter = class(TWinControl)
  protected
    Image: TImage;
  //...
  end;

implementation

constructor TRobot.Create(AOwner: TComponent);
begin
Image:=TImage.create(Self);
Image.Parent:=self;
image.rect(0,0,100,100);
end;

//...

end.
Das zweite ist: Wie integriere ich eine published Property (bsp: SynEdit), die nicht selbst erzeugt wird, sondern per Linkage mit TRobotPainter verknüpft wird? So in etwa, wie der Highlighter bei TCustomSynEdit?

Schonmal danke im Voraus.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
DerDan

Registriert seit: 15. Nov 2004
Ort: Donaueschingen
251 Beiträge
 
Delphi XE3 Professional
 
#2

Re: Brauche Hilfe bei Komponentenentwicklung allgemein

  Alt 19. Jul 2005, 16:39
Kannst nicht deine Komponente von Timage ableiten?
nichts ist so schön wie man es sich vorstellt
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Brauche Hilfe bei Komponentenentwicklung allgemein

  Alt 20. Jul 2005, 15:22
Wäre eine Notlösung, aber ich würde gerne allgemein wissen, wie das geht.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#4

Re: Brauche Hilfe bei Komponentenentwicklung allgemein

  Alt 20. Jul 2005, 15:24
besser wärs vllt wenn du deine komponente von TGraphicControl ableistest und dann dessen

procedure Paint; "überschreibst"

dann kannst gleich auf dessen Canvas malern.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#5

Re: Brauche Hilfe bei Komponentenentwicklung allgemein

  Alt 21. Jul 2005, 08:58
Delphi-Quellcode:
//...

interface

uses Classes, StdCtrls, Windows, SysUtils; //Sind nicht alle aufgeführt, aber im richtigen
  //Programm habe ich alle benötigten aufgeführt.

type
  TRobotPainter = class(TWinControl)
  protected
    Image: TImage;
  //...
  end;

implementation

constructor TRobot.Create(AOwner: TComponent);
begin
Image:=TImage.create(Self);// das ist richtig
Image.Parent:=self; //das solltest du nicht hier machen. >> Fehler: bla... kein übergeordnetes fenster ..bla
(*Besser im SetParent(AWincontrol:Twincontrol);Override;*)
image.rect(0,0,100,100);// das solltest du auch in Setbounds(....);Override; machen
end;

//...

end.
Wozu die Image Komponente?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Brauche Hilfe bei Komponentenentwicklung allgemein

  Alt 21. Jul 2005, 13:09
Es heißt natürlich nicht Image.rect, sondern image.canvas.rect(0,0,100,100);

Und das steht auch nicht in Create, sondern in Repaint.

Das mit SetParent versuche ich mal, wenn ich es verstanden habe.

Übrigens: Falls es übersehen wurde: Ich hatte noch eine Frage bezüglich untergeordneten Elementen als Property.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#7

Re: Brauche Hilfe bei Komponentenentwicklung allgemein

  Alt 21. Jul 2005, 13:18
Zur zweiten Frage: Ich glaube, du kannst einfach eine Property davon machen, und dann immer if FSynEdit <> nil then FSynedit.clear; oder so - probier's mal
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Brauche Hilfe bei Komponentenentwicklung allgemein

  Alt 21. Jul 2005, 19:40
also wenn ich den Constructor so ansehen vermisse ich da das inherited!! Das solltest du schleunigst einbauen ansonsten kannst du das ableiten auch gleich ganz lassen wenn du den ursprungsconstructor nicht aufrufst. (bei Destroy etc. gilt gleiches)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Brauche Hilfe bei Komponentenentwicklung allgemein

  Alt 22. Jul 2005, 16:49
Das inherited steht ganz am Anfang, ich hab den Code hier aus dem Kopf getippt, also er ist nicht ganz der richtige.

@jfheins: Die Idee hatte ich auch schon, aber alles was ich kriege ist eine AV. Muss ich da noch einen Konstruktor aufrufen?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#10

Re: Brauche Hilfe bei Komponentenentwicklung allgemein

  Alt 22. Jul 2005, 17:08
Delphi-Quellcode:
constructor TFoobar.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ...
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:04 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