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