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.