Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Komponente entwickeln- Deklarationen finden (https://www.delphipraxis.net/113195-komponente-entwickeln-deklarationen-finden.html)

haentschman 4. Mai 2008 12:30


Komponente entwickeln- Deklarationen finden
 
Hallo alle...

- ich habe mich mal an meine erste eigene Komponente gemacht. :thumb:
- es soll ein Planer werden, der auf meine Bedürfnisse zugeschnitten ist. (TMS Planner und TVPlanIt habe ich probiert)

:?: hättet ihr einen Link zu einem ausführlichem Tutorial ? Google wirft zwar diverse Ergebnisse aber nichts ausführliches (oder ich bin blind :gruebel: )

1.Problem:
- ich habe die Komponente von TPanel abgeleitet.
- ich möchte die procedure Resize überschreiben. Dazu muß ich ja die Originaldeklaration wissen.
- wenn ich mit Ctrl-Mausklick auf TPanel bin ----> ExtCtrls.pas nicht gefunden (ist ja im Package irgendwo)

:?: wie finde ich die Deklaration heraus.


PS: ich bitte um Nachsicht, bin in der Lernphase :-D

bitsetter 4. Mai 2008 12:41

Re: Komponente entwickeln- Deklarationen finden
 
Hi,

das steht bei mir in der Onlinehilfe Delphi-Referenz durchsuchenResize (Methode von TControl).

haentschman 4. Mai 2008 12:52

Re: Komponente entwickeln- Deklarationen finden
 
...dann zeige mir bitte aus der OH von D2007 die Deklaration von Resize des TPanel.

Delphi Hilfe:
Zitat:

Wird direkt nach einer Größenänderung des Steuerelements ausgelöst.

Pascal
property OnResize;
Beschreibung
Mit Hilfe einer Ereignisbehandlungsroutine für OnResize können Sie nach dem Ändern der Größe eines Steuerelements abschließende Anpassungen vornehmen.

Um die Reaktion eines Steuerelements auf Größenänderungen zu steuern, verwenden Sie OnCanResize oder OnConstrainedResize.

Anmerkung: Einige Steuerelemente rufen diese Ereignisbehandlungsroutine bei der erstmaligen Erzeugung des Steuerelements auf.
wenn ich:
Delphi-Quellcode:
constructor Resize; override;
Fehler: Deklaration von Resize unterscheidet sich von vorhergehender Deklaration

PS: TControl hat laut OH keine Methode Resize.

bitsetter 4. Mai 2008 13:03

Re: Komponente entwickeln- Deklarationen finden
 
In der Hilfe von Delphi 6 steht:
Zitat:

Resize (Methode von TControl)

Die Methode Resize antwortet auf eine Größenänderung des Steuerelements.

Delphi-Syntax:

procedure Resize; dynamic;


Beschreibung

Die Methode wird direkt nach einer Größenänderung des Steuerelements automatisch aufgerufen. Gemäß der Implementierung in TControl ruft sie die Behandlungsroutine für das Ereignis OnResize des Steuerelements auf (falls definiert).
Delphi 2007 habe ich leider nicht.

Edit: in Delphi 2006 steht übrigens das selbe drin.

haentschman 4. Mai 2008 13:14

Re: Komponente entwickeln- Deklarationen finden
 
Trotzdem Danke für Deine Bemühungen.

...mir ging es eigentlich um das allgemeine. Wie deklariere ich richtig ? Wo finde ich die Informationen ? Das mit dem Resize war jetzt nur der Anfang. :wink:

wieso liefert
Delphi-Quellcode:
constructor Resize; override;
dann den Fehler: Deklaration von Resize unterscheidet sich von vorhergehender Deklaration

...viel zu lernen ! :roll:

Zitat:

Um eine Methode zu überschreiben, braucht sie nur mit der Direktive override erneut deklariert zu werden. Dabei müssen Reihenfolge und Typ der Parameter sowie der Typ des Rückgabewertes (falls vorhanden) mit der Deklaration in der Vorfahrklasse übereinstimmen.
:?: wo finde ich die Deklaration der Vorfahrklasse (wenn Ctrl-Klick nicht zur entsprechenden .pas führt)

mkinzler 4. Mai 2008 13:19

Re: Komponente entwickeln- Deklarationen finden
 
Resize ist auch kein Konstruktor.

haentschman 4. Mai 2008 13:21

Re: Komponente entwickeln- Deklarationen finden
 
:oops: procedure oder ?

mkinzler 4. Mai 2008 13:22

Re: Komponente entwickeln- Deklarationen finden
 
Ja.

haentschman 4. Mai 2008 13:28

Re: Komponente entwickeln- Deklarationen finden
 
Danke...Resize haben wir :wink:

Was bedeutet "Elemet hat kein übergeordnetes Fenster" bei canvas.TextOut
Delphi-Quellcode:
constructor TDMPlaner.Create(aOwner: TComponent);
begin
  inherited;
  Height:= 200;
  Width:= 300;
  canvas.TextOut(1,1,'Test');
end;
...das ist doch der canvas des Panels oder ?

PS: Learnig by doing :wink:

mkinzler 4. Mai 2008 13:31

Re: Komponente entwickeln- Deklarationen finden
 
Von was ist TDMPlaner abgeleitet? Was ist der Owner?


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:17 Uhr.
Seite 1 von 3  1 23      

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