Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [Komp. Entwicklung] onResize bei abgeleiteter TImage K. (https://www.delphipraxis.net/27117-%5Bkomp-entwicklung%5D-onresize-bei-abgeleiteter-timage-k.html)

sCrAPt 4. Aug 2004 15:45


[Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
HiHo

Ich hab eine Komponente geschrieben die von TImage abgeleitet ist. Allerdings braucht sie noch ein internes onResize-Ereigniss. Ich hab deshalb auch in den Private (soll ja intern sein) folgendes eingefügt:
Delphi-Quellcode:
procedure TVerHorLabelResize(Sender: TObject);
property onResize;
Und mein Createkonstruktor (oder wie nennt man das?) sieht so aus:
Delphi-Quellcode:
constructor TVerHorLabel.Create(AOwner: TComponent);
begin
  inherited;
  OnResize := VerHorLabelResize(self);
end;
Leider kommt dann beim Debuggen ein
Debuggererror:
[Fehler] VerHorLabel.pas(56): Inkompatible Typen: 'TNotifyEvent' und 'procedure, untyped pointer or untyped parameter'
:(

Wo liegt der Fehler und wie behebe ich ihn?

[edit=sakura] Titel einfach zuuuuuu lang ;) Mfg, sakura[/edit]

sCrAPt 4. Aug 2004 16:06

Re: [Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
Obbschtkuche hat mir geholfen.
Lösung:
Delphi-Quellcode:
procedure TVerHorLabel.Resize(Sender: TObject);
begin
  irgendwas;
end;

constructor TVerHorLabel.Create(AOwner: TComponent);
begin                    
  inherited;
  OnResize := Resize;
end;

sakura 4. Aug 2004 16:11

Re: [Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
Die Lösung finde ich persönlich nicht gelungen. Eher solch einen Ansatz:

Delphi-Quellcode:
type
  TImage1 = class(TImage)
  private
  protected
    procedure Resize; override;
  public
  published
  end;

{...}

procedure TImage1.Resize;
begin
  inherited Resize;
  // Dein Code fürs Resize
end;
...:cat:...

sCrAPt 4. Aug 2004 16:20

Re: [Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
Japp, das ist schöner. Mach ich auch gleich

Thx sakura :cat:

sakura 4. Aug 2004 16:22

Re: [Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
Zitat:

Zitat von sCrAPt
Japp, das ist schöner. Mach ich auch gleich

Wenn es denn geht, und das sollte es :stupid: dann bleibt das OnResize Event immer noch zur Veröffentlichung im OI erhalten :zwinker:

...:cat:...

sCrAPt 4. Aug 2004 16:26

Re: [Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
Nicht wenn ich es in Private tu :zwinker:

SirThornberry 4. Aug 2004 16:29

Re: [Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
doch, auch wenn tu es in Privte tust, oder meinst du wenn du das event dort hinn verschiebst? Ich überschreib in aller Regel SetBounds aber das kommt so ziemlich aufs gleiche raus nur das ich noch mitbekomme wenn die Position sich ändert.

sCrAPt 4. Aug 2004 16:31

Re: [Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
Wenn ich das Event in Private tu taucht es nicht im OI auf. TImage hat von Haus aus kein OnResize...

sakura 4. Aug 2004 16:31

Re: [Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
Zitat:

Zitat von sCrAPt
Nicht wenn ich es in Private tu :zwinker:

Ist aber ein unsauberer Programmiertil :zwinker: Egal, Hauptsache die Lösung geht ;)

...:cat:...

sCrAPt 4. Aug 2004 16:35

Re: [Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
Zitat:

Zitat von sakura
Ist aber ein unsauberer Programmiertil :zwinker: Egal, Hauptsache die Lösung geht ;)

Warum sollte ich denn noch ein onResize zur Komponente hinzufügen (TImage hat kein onResize-Event) wenn es doch garnicht benötigt wird? Dadurch wirds für mich viel Übersichtlicher... und Weniger ist manchmal Mehr :zwinker:

obbschtkuche 4. Aug 2004 16:46

Re: [Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
Zitat:

Zitat von sCrAPt
Japp, das ist schöner. Mach ich auch gleich

pfpff... und wenn ich es dir sage machst dus nicht :P

sCrAPt 4. Aug 2004 16:48

Re: [Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
ICQ-Logs:
17:04:17 obbschtkuche: procedure TVerHorLabel.Resize(Sender: TObject);
begin

end;

constructor TVerHorLabel.Create(AOwner: TComponent);
begin
inherited;
OnResize := Resize;
end;
17:04:22 obbschtkuche: so stimmts
:zwinker:

obbschtkuche 4. Aug 2004 16:49

Re: [Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
ICQ-Logs:
(17:00:15) obbschtkuche: aber so sollte man das nicht machen, weil der user immernoch OnResize überschreiben kann
(17:00:28) obbschtkuche: da dürfte es sowas wie procedure resize; geben


:roll:

sCrAPt 4. Aug 2004 16:51

Re: [Komp. Entwicklung] onResize bei abgeleiteter TImage K.
 
Das hast du aber eine Seite (beim maximierten Fenster) weiter oben geschrieben :zwinker:

Müssen wir jetzt noch weiter diskutieren? Wird leicht mehr als total OT


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz