AGB  ·  Datenschutz  ·  Impressum  







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

Designtime: Info über entfernte Komponente

Ein Thema von peteress · begonnen am 6. Sep 2004 · letzter Beitrag vom 7. Sep 2004
Antwort Antwort
peteress

Registriert seit: 6. Sep 2004
49 Beiträge
 
#1

Designtime: Info über entfernte Komponente

  Alt 6. Sep 2004, 23:06
Hallo,

ich entwickle an einem Komponentensatz, das funktioniert soweit auch. An einer Stelle komme ich aber nicht weiter: Meiner Komponente können andere Komponenten zugewiesen werden. Das können auf der Form plazierte TEdits, TLabels, TMemo und andere sein. Mann denke z.B. an ein TDatasource dem ein TDataset zugewiesen wird. Entfernt jetzt der Dentwickler eine dieser Komponenten von der Form, muss meine Komponente darüber informiert werden, damit ich den Zeiger auf nil setzen kann, sonst greift der Zeiger ja ins Leere, und da hilft dann nur ein Neustart der IDE. Hier ist auch der Unterschied zwischen dem obigen Beispiel und meinem Fall: TDataset führt meines Wissens eine Liste der TDatasources und informiert diese über ein eventuelles Ableben, TEdit oder TLabel können das aber nicht tun, denn die wissen über meine Komponente nichts, und ich will Anwender meines Komponentensatzes nicht dazu zwingen, von mir erweiterte TEdits .... zu verwenden.
Langer Rede kurzer Sinn:

Gibt es einen Ereignismechanismus in der Delphi-IDE, in den sich meine Komponente zur Designzeit einklinken kann, und der über das Löschen von Komponenten informiert. Toll wäre natürlich auch Beispielcode dazu, aber auch jeder fundierte Hinweis, der mir hilft, die gesuchten Informationen zu finden, wäre hochwillkommen.

Vielen Dank
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Designtime: Info über entfernte Komponente

  Alt 7. Sep 2004, 09:35
Hallo,

klar geht das, und zwar über die Notification Methode, die du im protected Bereich deklarierst... Etwa so:
Delphi-Quellcode:
interface

type
  TMeins = class (TComponent)
  private
    FEdit : TEdit ;
  protected
    procedure Notification (AComponent : TComponent; Operation : TOperation) ; override ;
  public
  published
    property Edit : TEdit read FEdit write FEdit ;
  end ; { end of TDBRTFReport }

implementation

{ TMeins }

procedure TMeins.Notification(AComponent: TComponent;
  Operation: TOperation);
begin
  inherited Notification (AComponent,operation) ;
     if (Operation = opRemove) then begin
        if (FEdit <> nil) and (AComponent = FEdit) then FEdit := nil ;
        { Die anderen Elemente auch hier auflisten }
     end ;
end;

end.
Gruß,
  Mit Zitat antworten Zitat
peteress

Registriert seit: 6. Sep 2004
49 Beiträge
 
#3

Re: Designtime: Info über entfernte Komponente

  Alt 7. Sep 2004, 10:31
Hi Jelly,

Treffer versenkt


schätze ich mal.

Vielen Dank
Peter
  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 23:37 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