![]() |
TForm ableiten mit properties
Hi Leute,
ich versuche gerade eine Klasse zu erstellen, die von TForm abgeleitet ist und über zusätzliche properties verfügt. Ich hab das folgendermaßen gemacht:
Delphi-Quellcode:
unit frCustomFormEx;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TCustomFormEx = class(TForm) private FSingleInstance: Boolean; published property SingleInstance: Boolean read FSingleInstance write FSingleInstance; end; implementation uses DesignIntf, DesignEditors; procedure Register; begin RegisterCustomModule(TCustomFormEx, TCustomModule); end; initialization RegisterClass(TCustomFormEx); finalization UnRegisterClass(TCustomFormEx); end.
Delphi-Quellcode:
Diese beiden Dateien hab ich in ein Package gepackt und installiert. Wenn ich jetzt ein neues Formular erstelle, und statt
unit frFormEx;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, frCustomFormEx; type TFormEx = class(TCustomFormEx) end; implementation {$R *.dfm} initialization RegisterClass(TFormEx); finalization UnRegisterClass(TFormEx); end.
Delphi-Quellcode:
class TForm1 = class(TForm)
Delphi-Quellcode:
schreibe, die dfm-Datei als Text öffne und das object in inherited umändere, dann hab ich im OI nicht meine neue Eigenschaft! Woran liegt's?
class TForm1 = class(TFormEx)
|
Re: TForm ableiten mit properties
Moin!
Hast du es schonmal probiert anstatt die Ableitung per Hand zu machen, deine neue Form einfach mal dem Repository hinzu zu fügen und darüber eine Ableitung zu erstellen? Das klappt viele eher als das ganze per Hand zu machen. MfG Muetze1 |
Re: TForm ableiten mit properties
Hab ich, aber das hat den gleichen Effekt, das Formular funktioniert, eventuelle auf TFormEx plazierten Kompos sind drin, aber die Eigenschaft im OI fehlt!
|
Re: TForm ableiten mit properties
Eine Form musst du anders registrieren:
Delphi-Quellcode:
RegisterCustomModule(TCustomFormEx, TCustomModule);
|
Re: TForm ableiten mit properties
Zitat:
|
Re: TForm ableiten mit properties
Oh.. hab nur das RegisterClass gesehn.. :oops:
Hm.. hast dus richtig in RunTime- und DesignTime-Packages eingeteilt..? |
Re: TForm ableiten mit properties
Ahhhh! :wall:
Die Funktionsdeklaration von Register muss in den Interface-Teil, sonst wird sie garnicht aufgerufen! Jetzt klappt die Sache! |
Re: TForm ableiten mit properties
Hallo zusammen
Funktioniert das auch mit D7? Bei mir findet er nämlich die Units DesignIntf und DesignEditors nicht. Hab dann die Dateien im Delphi-Verzeichnis selber gefunden und die Suchpfade angepasst, aber dann fehlt ihm wiederrum die Unit Proxies in DesignEditors... Und von der sehe ich echt keine Spur :? Gruss Shaman |
Re: TForm ableiten mit properties
Zitat:
Da es sich dabei um ein DesignTime-Package handelt, muss dort noch unter Requires designide eintragen und das Package auf DesignTime only umstellen, wenn du's noch nicht gemacht hast. MfG Stevie |
Re: TForm ableiten mit properties
Zitat:
Kannst du mal näher drauf eingehen wo du da genau was reinschreibst. Ich kann dir nämlich nicht ganz folgen, wo du ein "object in inherited" umänderst :wiejetzt: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz