Delphi-PRAXiS

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/)
-   -   eigene Objektklasse in Komponente (https://www.delphipraxis.net/154066-eigene-objektklasse-komponente.html)

JnZn558 26. Aug 2010 11:29

eigene Objektklasse in Komponente
 
Delphi-Quellcode:
TTestObject = class( TPersistent )
protected
   var1: Integer;
   var2: Integer;

published
   property variable1: Integer read var1 write var1;
   property variable2: Integer read var2 write var2;
end;

TMyComp = class( TComponent )
protected
   testobj: TTestObject;

   procedure setTestObj( obj: TTestObject );

public
constructor Create( AOwner: TComponent );

published
   property TestObject1: TTestObject read testobj write testobj; { 1.Methode }
   property TestObject2: TTestObject read testobj write setTestObj; { 2.Methode }
end;

constructor TMyComp.Create( AOwner: TComponent );
begin
  inherited Create( AOwner );
end;

procedure TMyComp.setTestObj( obj: TTestObject );
begin
   // erst mal leer, sollte doch eigentlich egal sein fuer den 1. sichtbarkeittest oder??
end;
Ich hab das Problem nun, dass bei beide methode in Objekt Inspektor zwar die eigentschaft TestObject1 und TestObject2 zusehen sind, aber die untereigentschaften variable1, variable2 sind nicht vorhanden, selbstverstaendlich hab ich die objekteigentschaft aufklappt, aber nix von subeigentschaft. woran liegt das?? was macht ich falsch??

Zitat:

test war ein tippfehler, es ist testobj

Andreas L. 26. Aug 2010 11:43

AW: eigene Objektklasse in Komponente
 
Du schreibst bei den Properties read test obwohl die Variable testobj heißt. Hast du außerdem testobj initialisiert?

himitsu 26. Aug 2010 11:44

AW: eigene Objektklasse in Komponente
 
Wann hast du denn Objekte erstellt und in diesen Property abgelegt?

Wo nix ist, da kann auch nichts angezeigt werden.

JnZn558 26. Aug 2010 14:17

AW: eigene Objektklasse in Komponente
 
Zitat:

Zitat von himitsu (Beitrag 1045185)
Wann hast du denn Objekte erstellt und in diesen Property abgelegt?

Wo nix ist, da kann auch nichts angezeigt werden.

ich hab ja noch konstruktor TMyComp Create, muss auch noch den konstruktor von TTestObject in Create von TMyComp aufrufen oder was??

mkinzler 26. Aug 2010 14:21

AW: eigene Objektklasse in Komponente
 
Du musst einen Entsprehenden Property-Editor implementieren

JnZn558 26. Aug 2010 14:23

AW: eigene Objektklasse in Komponente
 
aso, is wieder was neues, kannst mir bitte so nett ein kleines beispielcode zeigen

mjustin 26. Aug 2010 15:01

AW: eigene Objektklasse in Komponente
 
Untergeordnete Komponenten kann man am einfachsten mit SetSubcomponent sichtbar machen. Sie müssen dazu aber auch von TComponent abgeleitet sein. Mit TPersistent geht es leider nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:12 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