Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi RegisterCustomModule macht nicht was es soll (Form vererben) (https://www.delphipraxis.net/62034-registercustommodule-macht-nicht-es-soll-form-vererben.html)

sir-archimedes 30. Jan 2006 06:53


RegisterCustomModule macht nicht was es soll (Form vererben)
 
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

sir-archimedes 2. Feb 2006 18:29

Re: RegisterCustomModule macht nicht was es soll (Form verer
 
Hallo,

für alle die es interessiert hier die Lösung meines Problems.

Zitat:

Zitat von dominik.boehm
Delphi-Quellcode:
unit uAMSFormReg;

interface
uses uAMSForm, Classes, DesignIntf, DesignEditors;

procedure register;

implementation

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

end.

Der Fehler war das "register". Hätte ich den Methodennamen groß geschrieben ("Register"), so hätte alles funktioniert. Und dabei war ich mir doch so sicher, dass das nichts ausmacht ;-) Denn irgendwer hatte das letzte Tage schon mal in einem anderen Thread vorgeschlagen.

Gut - aber jetzt tuts :)

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz