Hallo,
ich habe heute mit D7 Pro ein neues Projekt angefangen. Die Oberfläche möchte ich mit Frames realisieren. Weil ich die Konstruktorsignatur erweitern möchte habe ich einen zusätzlich Konstruktor eingefügt. TFrameBase ist der Vorfahre aller Frames.
Delphi-Quellcode:
unit tpm_base_frame;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, tpm_SystemDataprovider_impl, StdCtrls;
type
TFrameBaseClass =
class of TFrameBase;
TFrameBase =
class(TFrame)
private
{ Private-Deklarationen }
FActionIndex : Integer;
FSystemDataprovider : TSystemDataprovider;
protected
property ActionIndex : Integer
read FActionIndex;
property SystemDataprovider : TSystemDataprovider
read FSystemDataprovider;
public
{ Public-Deklarationen }
constructor CreateNew(AOwner: TComponent; ActionIndex : Integer; SystemDataprovider : TSystemDataprovider);
virtual;
end;
implementation
{$R *.dfm}
{ TFrameBase }
constructor TFrameBase.CreateNew(AOwner: TComponent; ActionIndex: Integer; SystemDataprovider: TSystemDataprovider);
begin
inherited Create(AOwner);
FActionIndex:=ActionIndex;
FSystemDataprovider:=SystemDataprovider;
end;
end.
Jetzt habe einen Nachfahren erzeugt
Delphi-Quellcode:
unit tpm_stammdaten_frame;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, tpm_base_frame;
type
TFrameStammdaten =
class(TFrameBase)
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
implementation
{$R *.dfm}
end.
Bis jetzt habe Delphi noch nicht neu gestartet! Alles läuft einwandfrei.
Nach dem ich Delphi geschlossen habe (ohne irgendwelche Fehlermeldungen) und anschließend wieder geöffnet habe erhalten ich beim Laden (also beim Start von Delphi) des Frames TFrameStammdaten folgende Fehlermeldung:
Fehler beim Lesen von FrameStammdaten.TabOrder:
Eigenschaft TabOrder existiert micht. Fehler ignorieren
und fortfahren usw.
Wenn ich den Fehler ignoriere siehtder Frame TFrameStammdaten aus wie ein Formualr und im
OI erscheinen auch fast alle Eigenschaften und Ereignisse eines TForm.
Ich bin völlig ratlos. Woran kann das liegen?
Ich habe schon auf den Borlandseiten gesucht und im CodeCentral ein Beispiel gefunden. Dort machen die es aber genauso wie ich.
[EDIT]Ich habe mal ein minimales Beispiel angehängt [/EDIT]