AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TCustomControl mit ohne runtime Button

Ein Thema von Corelgott · begonnen am 4. Aug 2005 · letzter Beitrag vom 4. Aug 2005
Antwort Antwort
Benutzerbild von Corelgott
Corelgott

Registriert seit: 11. Apr 2003
Ort: Lübeck
213 Beiträge
 
Delphi 2006 Enterprise
 
#1

TCustomControl mit ohne runtime Button

  Alt 4. Aug 2005, 10:57
Hi @ all,

ich versuche mich gerade an Komponenten:

ich habe eine Comp:

Code:
type TABC = class(TCustomControl)
  protected
    _btn  : TButton;
  public
    constructor create(AOwner : TComponent);
    procedure makeButton();
end;

-- // --
constructor TABC.create(AOwner : TComponent);
begin
  inherited;
  ControlStyle := ControlStyle + [csAcceptsControls];
end;

procedure TABC.makeButton();
begin
  _btn := TButton.create(Self);
  _btn.parent := Self;
  _btn.name   := 'foobar';
  _btn.top    := 0;
  _btn.left   := 0;
  _btn.height := 100;
  _btn.width  := 100;
  _btn.visible := true;
end;
ca. so...

Also ich ziehe in der dt TABC auf die Form... ist ok da soll auch kein button sein weil makeButton ja nicht aufgerufen wird...

So runtime....

makeButton wird aufgerufen...
nu dachte ich ich könnte meinen button sehen....
aber nö...

(Eigentlich ist es intern kein button sondern eine weitere (!= TABC) Komponente die ich dyn-createn will; aber selbst mit TButton kann ich das nicht createn...)

So und nu kommst: wenn ich das in den Constructor meiner Kompo packe...
Dann funzt das! dann habe ich auch nen button... (Das kann ich aber leider nicht so lösen, weil ich selbst zu erst warten muss, bis mir eine andere Kompo ne Datei geladen hat... -> auf Event Warten bevor ich mine Compo anzeigen kann / darf)

Wieso geht das alles auf meiner Kompo nicht?
(habe das ganze auf ner Form versucht... TButton1Click -> und *Zack* war da ein neuer Button...)

Hat da wer man nen Tip für mich?!
Lösungen werden auch gerne genommen ^^ thx!

cya & thx
Corelgott
  Mit Zitat antworten Zitat
Benutzerbild von Corelgott
Corelgott

Registriert seit: 11. Apr 2003
Ort: Lübeck
213 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: TCustomControl mit ohne runtime Button

  Alt 4. Aug 2005, 12:55
OK ALSO

wie am rande erwähnt habe ich ein event genutzt, um meiner kompo mit zu teilen, wann es wieviele 'Controls' auf sich erstellen soll...

An sich ist das auch ok... Aber:

Das event wurde von einem eigenen Thread ausgelöst. In der Execute des threads steht Fertig(Self); (Sinngemäß)
Das ging dann über die Main-Form bis hin zu kompo..
hat brav die buttons erstellt sprang zurück in den Thread....
Der sich dann terminierte....
Und auch alle unter seiner herrschaft erstellten Obj mit sich riß...

NA GEIL!

So praktisch Threads auch sind... Ich kann sie irgendwie nicht richtig benutzen...! *narf*

Btw.:

Die Lösung := event nicht in Execute Sonder durch OnTerminate aufrufen!

cya & thx
for all the help

Corelgott
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#3

Re: TCustomControl mit ohne runtime Button

  Alt 4. Aug 2005, 13:02
1. der constructor wird nicht "überritten"
2. führst du dein makebutton nicht aus, logischer weise müsste der aufruf in den erweiterten constructor, oder du schreibst den code dort direkt rein.
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von Corelgott
Corelgott

Registriert seit: 11. Apr 2003
Ort: Lübeck
213 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: TCustomControl mit ohne runtime Button

  Alt 4. Aug 2005, 18:46
Hi & thx für die antwort

Also:

@makebutton:

Zitat von Corelgott:
ist ok da soll auch kein button sein weil makeButton ja nicht aufgerufen wird...
das ist/war schon verständlich und auch so gewollt... ^^

@constructor & override... ok das habe ich schlicht wech vergässen ^^

**sry**!

Aber wie villeicht bereits bemerkt habe ich das Prob schon lösen können... es lag daran, das selbst wenn der Thread, der die Objs erstellt, nicht der Owner bzw. Parent der Componenten ist, sie DENNOCH zerstört werden, wenn er terminated....

** bin mir immer noch nicht so ganz im klaren, ob das so ok ist bzw. ob das so seien sollte**

Aber ich habe es erst mal "around-geworked" (man entschuldige dieses pseudo-verb)

thx & cya
Corelgott
  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 03:11 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