AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Property in abgeleitetem Form

Ein Thema von Stevie · begonnen am 12. Mär 2004 · letzter Beitrag vom 22. Mär 2004
Antwort Antwort
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.007 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Property in abgeleitetem Form

  Alt 12. Mär 2004, 13:46
Hi Leute,

ich hab ein Problem, eine Property in einem von TForm abgeleiteten Formular zu erstellen!
Ich hab in dem published-Abschnitt eine neue property erstellt (Boolean) und read- und write-Zugriff auf eine private-Variable gegeben. Aber diese Eigenschaft erscheint nicht im Objektinspektor! Was mache ich falsch?
Stefan
  Mit Zitat antworten Zitat
DelphiDeveloper

Registriert seit: 9. Apr 2003
Ort: Köln
256 Beiträge
 
Delphi XE2 Enterprise
 
#2

Re: Property in abgeleitetem Form

  Alt 12. Mär 2004, 13:53
zeig mal die abgeleitete klasse!
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.007 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: Property in abgeleitetem Form

  Alt 12. Mär 2004, 13:56
Delphi-Quellcode:
  TStandardForm = class(TForm, IStandardForm)
    ADOConnection: TADOConnection;
    dxBarManager: TdxBarManager;
    ActionList: TActionList;
    ImageList: TImageList;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private-Deklarationen }
    FUseMainConnection: Boolean;
  protected
    MainForm: IMainForm;
  public
    { Public-Deklarationen }
    procedure RegisterForm(AOwner: TComponent);
    procedure UnRegisterForm(AOwner: TComponent);
  published
    property UseMainConnection: Boolean read FUseMainConnection
     write FUseMainConnection stored FUseMainConnection default True;
  end;
Stefan
  Mit Zitat antworten Zitat
DelphiDeveloper

Registriert seit: 9. Apr 2003
Ort: Köln
256 Beiträge
 
Delphi XE2 Enterprise
 
#4

Re: Property in abgeleitetem Form

  Alt 12. Mär 2004, 15:30
hi stevie,
da fehlt auf jeden fall sowas wie

RegisterCustomModule(TStandardForm , TCustomModule);

damit die Form in der IDE registriert wird.

das ist aber je nach delphi version ein bißchen anders

google mal nach RegisterCustomModule und deiner Delphi Version
  Mit Zitat antworten Zitat
DelphiDeveloper

Registriert seit: 9. Apr 2003
Ort: Köln
256 Beiträge
 
Delphi XE2 Enterprise
 
#5

Re: Property in abgeleitetem Form

  Alt 12. Mär 2004, 19:59
jetzt habe ich 2 stunden versucht eine abgeleitete Klasse von TForm
zu erstellen, deren neue events und properties im OI stehen.

Zumindest ueber die die Objektablage hat es geklappt: ( mit D7 Ent)

1. Habe folgendes Formular erstellt

Delphi-Quellcode:
 
unit uFormx;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TFormX = class(TForm)
 private
    fValue: Integer;
    fOnChangeValue: TNotifyEvent;
    procedure SetValue (Value: Integer);
  published
    property Value: Integer
      read fValue write SetValue;
    property OnChangeValue: TNotifyEvent
      read fOnChangeValue write fOnChangeValue;
  end;

var
  FormX: TFormX;

implementation

{$R *.dfm}

{ TForm1 }

procedure TFormX.SetValue(Value: Integer);
begin
   if Value <> fValue then
  begin
    fValue := Value;
    if Assigned (fOnChangeValue) then
      fOnChangeValue (self);
  end;
end;

end.
2. dann dieses Formular der Objektablage hinzugefügt

3. Unit mit Registerfunktion geschrieben

Delphi-Quellcode:
unit uFormXReg;
interface
uses uFormX;

procedure Register;
implementation
uses DesignIntf, DesignEditors;
procedure Register;
begin
  RegisterCustomModule(TFormX, TCustomModule);
end;

end.
4. beide Units in ein entwurfszeit gesteckt und compiliert
Delphi-Quellcode:
package MyPackage;

{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DESIGNONLY}
{$IMPLICITBUILD OFF}

requires
  rtl,
  vcl,
  designide;

contains
  uFormx in '..\..\..\..\testPropForm\uFormx.pas{FormX},
  uFormXReg in '..\..\..\..\testPropForm\uFormXReg.pas';


end.
5. Wenn ich nun ueber datei/neu/weitere das Formular aus der Objektablage auswaehle (mit option vererben) sind die properties/events im OI vorhanden.

vielleicht hat ja jemand noch was besseres auf lager
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.007 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: Property in abgeleitetem Form

  Alt 22. Mär 2004, 08:46
Ich hab auch noch ziemlich rumgebastelt. Dabei hab ich herausgefunden, dass man entweder die Properties genau so in ein Formular bekommt, wie du es gemacht hast. Allerdings funktioniert es dann nicht mehr, dass auf diesem Formular plazierte Komponenten übernommen werden. Dafür sind dann zwei Schritte erforderlich: erst die Properties in ein Form packen, dieses Form erben und dann die Komponenten darauf plazieren. Allerdings hagelt es ordentlich Fehler, wenn man die Properties verändert usw...
Stefan
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 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