Einzelnen Beitrag anzeigen

sir-archimedes

Registriert seit: 2. Jan 2006
Ort: Münster
167 Beiträge
 
Delphi 2006 Professional
 
#1

RegisterCustomModule macht nicht was es soll (Form vererben)

  Alt 30. Jan 2006, 07:53
Hi,

irgendwie stehe ich gerade auf dem Schlauch. Ich möchte für alle Formulare meines Programmes ein neues Event registrieren. Das habe ich so gemacht:

Delphi-Quellcode:
unit uAMSForm;

interface
uses Forms, Windows, SysUtils, Classes;

type
  EDialogExecuteAbort = Exception;
  TDialogExecuteEvent = procedure(Sender: TObject; var stop : boolean) of Object;

  TAMSForm = class(TForm)
  private
    { Private-Deklarationen }
    FOnPrepare : TDialogExecuteEvent;
    ftest : boolean;
  public
    { Public-Deklarationen }
    function ExecuteModal : Integer;
  published
    property test : boolean read ftest write ftest;
    property onPrepare : TDialogExecuteEvent read FOnPrepare write FOnPrepare;
  end;

implementation

{ TAMSForm }

function TAMSForm.ExecuteModal: Integer;
var
  Stop : Boolean;
begin
  Stop := false;
  if Assigned(onPrepare) then
    onPrepare(self, Stop);
  if Stop then
    raise EDialogExecuteAbort.Create(Format('Starten des Formulares "%s" abgebrochen',[ClassName]));
  Result := ShowModal;
end;

end.
Nun habe ich das Formular über ein zweites Package (Designtime) registrieren wollen:

Delphi-Quellcode:
unit uAMSFormReg;

interface
uses uAMSForm, Classes, DesignIntf, DesignEditors;

procedure register;

implementation

procedure register;
begin
  RegisterCustomModule(TAMSForm, TCustomModule);
end;

end.
Gut - wenn ich jetzt ein neues Fomular erstelle und den Vorfahr auf TAMSForm ändere, dann kann ich zwar aus dem Quellcode auf die neuen Eigenschaften/Events zugreifen, aber via OI geht das nicht. Auch nach Neuladen bzw. Neustarten der IDE klappt das nicht. Das Designtime-package ist aber installiert.

Sieht da jemand das Problem?

Gruß,
Dominik
  Mit Zitat antworten Zitat