Einzelnen Beitrag anzeigen

christian_r
(Gast)

n/a Beiträge
 
#1

EntwZeit - Subkomponente löschen - Exception wird ausgelöst

  Alt 3. Mai 2008, 11:20
Ich weiß gar nicht, ob ich in diesem Forum trotz Anmeldung schon einen Beitrag geschrieben hatte, deshalb noch mal Hallo an das Forum.


Ich setzte mich gerade das erste Mal mit der Entwicklung eigener Komponenten auseinander. Die Grundlage und Installation einer neuen Komponente läuft fehlerfrei. Nun bin ich dabei, Eigenschaften für Subkomponenten zu implementieren. Diese sind derzeit existierende native Komponenten von D7, z. B. eine ComboBox.

Relevanter Code ...
Delphi-Quellcode:
unit DkComponent;

interface

uses
  Classes, StdCtrls;

type
  TDkComponent = class( TComponent )
   private
    FComboBox : TComboBox;
   published
    property ComboBox
              : TComboBox
              read FComboBox
              write FComboBox;
  end;

procedure Register
          ( );

implementation

procedure Register
          ( );
begin
  RegisterComponents( 'Test Components', [ TDkComponent ] );
end;

end.
Nun habe ich folgendes Problem: Wenn ich eine ComboBox in meine Anwendung ziehe und diese meiner Komponente zuweise, dann kann ich die ComboBox nicht löschen, ohne diese in meiner Komponente vorher abzuwählen. Bleibt die ComboBox in meiner Komponente zugewiesen und ich lösche sie, wird eine Exception ausgelöst. Anschließend kann ich nicht mehr auf meine Komponente zugreifen, da weiterhin eine Exception ausgelöst wird.

Ich habe mir die Quellen von TForm und deren Vorfahrenreihe angesehen, um herauszufinden, wie es dort mit dem Popup gelöst wurde. Aber da ist nix dabei, was mir helfen könnte. Ich finde keine Codes, die das Löschen direkt überprüfen, oder ähnliches.
  Mit Zitat antworten Zitat