![]() |
Ereignis erschient nicht im Property editor
Hallo,
ich verwende ein Basisformular, das ich der Objektablage hinzugefügt habe. Von dem Formular habe ich einige neue Formulare abgeleitet, das funktioniert soweit wunderbar. Jetzt wollte ich in meinem Basisformular zwei published Properties vom Typ procedure of object einführen, die werden aber im Object Inspector unter den Ereignissen nicht angezeigt. Was könnte da falsch sein?
Delphi-Quellcode:
edit:
type
proc = procedure of object; SatzMode = (modeShow,modeNew,modeCopy,modeEdit); TfrmSatz = class(TForm) Panel1: TPanel; bbOk: TBitBtn; bbAbort: TBitBtn; procedure bbAbortClick(Sender: TObject); procedure bbOkClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private FGetspecial, FSetSpecial: proc; FId: integer; // id des aktuellen Datensatzes, bei Neueingabe 0 protected FMode: sSatzMode; FAlleSpalten: TStrings; // FFrom: String; // function GetData: boolean; public constructor create (AOwner: TComponent; AMode: SatzMode; AId: integer; ASpalten: TStrings; AFrom: String); reintroduce; property Mode: SatzMode read FMode; published property GetSpecial: proc read FGetSpecial write FGetSpecial; property SetSpecial: proc read FSetSpecial write FSetSpecial; end; Ich habe mich jetzt noch ein bißchen gespielt - gar keine von meinen Properties werden angezeigt, ich habe jetzt noch eine integer Property "test" hinzugefügt, auch die gibt es im Object Inspector nicht. Aber Objekte, die ich im Formulardesigner hinzufüge, erscheinen richtig in allen abgeleiteten Formularen. |
AW: Ereignis erschient nicht im Property editor
Keine Vorschläge?
|
AW: Ereignis erschient nicht im Property editor
Ich habe mal eine Anleitung von Jeff Overcash gelesen, in der grob beschrieben wird, wie man das macht (sorry, Englisch):
Zitat:
|
AW: Ereignis erscheint nicht im Property editor
Danke für die Antwort.
Ich frage mich, was sich Borland/Embarcadero/wer-auch-immer dabei denken, wenn sie ein Produkt wie Delphi mit wirklich genialen Features herausbringen und das dann durch eine wirklich ganz und gar erbärmliche Produktdokumentation wieder ruinieren. |
AW: Ereignis erschient nicht im Property editor
Ich muss sagen, ich blicke da einfach nicht durch.
Ich habe jetzt verschiedenes probiert, aber mir ist nicht einmal klar, welche Parameter RegisterCustomModule wirklich braucht. Ich bin aber auch etwas skeptisch, ob das der richtige Ansatz ist, weil im Quelltext von designintf (dort ist registercustommodule definiert) steht vor dieser Prozedur folgender Kommentar: A custom module allows containers that descend from classes other than TForm to be created and edited by the form designer. Das will ich ja gar nicht, meine Klassen stammen doch von TForm ab, also dürften es wohl keine Custommodules sein. Aber vielleicht kann man TForms doch auch irgendwie auf diese Art registrieren, nur wie? In der Unit Forms selbst kommt keine wie auch immer geartete Register-Prozedur vor. |
AW: Ereignis erschient nicht im Property editor
Also bei mir klappt das.
Habe folgende Schritte durchgeführt:
|
AW: Ereignis erschient nicht im Property editor
Jetzt gehe ich einmal auf urlaub, dann werde ich die Sache noch einmal mit neuem Schwung angehen.
Im Package landen also zwei Units, die eigentliche Form und die Unit zum Registrieren der Form. Die register-Prozedur hast Du wahrscheinlich in eine separate Unit geschrieben, damit sie nicht mit einem ganzen Rattenschwanz an zugehörigen Units in die Exe eingebunden wird? Und noch eine Frage: Wie markiert man ein package als Design only, und was bewirkt das? |
AW: Ereignis erschient nicht im Property editor
Marco Cantu schrieb auch mal etwas zum Thema:
The TCustomModule Class and the RegisterCustomModule Procedure ![]() Auf MustangPeak fand ich dies: OTA - Forms with Published Properties Visible in the Object Inspector ![]() Auf SO fand ich unter dieser Frage ![]() diesen Hinweis zum MustangPeak Artikel: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:21 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