AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Kompenente funktioniert zur Laufzeit aber nicht im Designer
Thema durchsuchen
Ansicht
Themen-Optionen

Kompenente funktioniert zur Laufzeit aber nicht im Designer

Ein Thema von Tonic1024 · begonnen am 8. Jan 2013 · letzter Beitrag vom 8. Jan 2013
Antwort Antwort
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#1

Kompenente funktioniert zur Laufzeit aber nicht im Designer

  Alt 8. Jan 2013, 16:41
Hi...

Es ist schon mehrere Delphi-Versionen her, dass ich zuletzt eine eigene Komponente entwickelt hab. Jetzt ist es mal wieder so weit. Ich hab mir, wie früher, eine Klasse von TPanel abgeleitet und daraus eine eigene Komponente erstellt. Wenn ich das Objekt zur Laufzeit erstelle funktioniert sie super aber jetzt will ich sie im Formulardesigner verwenden und es klemmt.

Delphi-Quellcode:
type
  TContentPanel = class(TPanel)
  private

    FTitleImage: TImage;
[..]
  public
    constructor Create(AOwner: TComponent);
[..]
    procedure SetParent(AParent: TWinControl); override;
[..]

constructor TContentPanel.Create(AOwner: TComponent);
begin
  inherited;

  [..]

  FTitleImage:=TImage.Create(self);
  FTitleImage.Parent:=Self;

  [..]
end;


procedure TContentPanel.SetParent(AParent: TWinControl);
begin
  inherited;

  [..]

  if Assigned(FTitleImage) then // an dieser Stelle scheint FTitleImage nicht zu existieren
  begin
    FTitleImage.Parent:=Self;
    FTitleImage.Picture.LoadFromFile('c:\xxx\test.png');
    FTitleImage.Stretch:=true;
    FTitleImage.Proportional:=false;
    FTitleImage.OnMouseDown:=TitleMouseDown;
    FTitleImage.OnDragOver:=TitleDragOver;
  end;

  [..]
end;
Ich brüte da schon den ganzen Nachmittag drüber. Irgendwie gehen mir die Ideen aus.


Gruß,

Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli
Online

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Kompenente funktioniert zur Laufzeit aber nicht im Designer

  Alt 8. Jan 2013, 16:46
Den Constructor musst Du override deklarieren.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#3

AW: Kompenente funktioniert zur Laufzeit aber nicht im Designer

  Alt 8. Jan 2013, 16:47
Im Ernst? Dann fliegt mir das ganze Ding um die Ohren... Hab isch doch sonst nich gemacht *wunder*
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#4

AW: Kompenente funktioniert zur Laufzeit aber nicht im Designer

  Alt 8. Jan 2013, 16:50
Im Ernst? Dann fliegt mir das ganze Ding um die Ohren...
Dann machst du was falsch. Der constructor von Komponenten muss immer override sein, sonst wird er vom Streaming-System und von der IDE zur Design-Zeit nicht aufgerufen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#5

AW: Kompenente funktioniert zur Laufzeit aber nicht im Designer

  Alt 8. Jan 2013, 17:00
Ach so. Ja gut, das mach ich ja nicht so oft (also in etwa gar nie). Dann hab ich auch nichts gesagt

Ist auch so. Hab alles auskommentiert was nicht unbedingt erforderlich ist um ein Panel auf dem Form zu zeichen und siehe da... Kaum macht mans richtig schon funktionierts. Der Fehler (das um die Ohren fliegen) liegt also ganz wo anders.

Ich danke euch. Muss nun erstmal debuggen...

Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:25 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