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/)
-   -   Objektablage - Formular verliert Komponenten (https://www.delphipraxis.net/189250-objektablage-formular-verliert-komponenten.html)

scrat1979 21. Mai 2016 18:46


Objektablage - Formular verliert Komponenten
 
Liste der Anhänge anzeigen (Anzahl: 2)
Ich habe (erfolgreich) ein Formular in die Objektablage gelegt und auch - wie unten beschrieben - registriert, um die neuen Eigenschaften direkt im Objektinspektor ändern zu können. Wenn ich nun über die Objektablage eine neue Instanz auswähle und "vererben" anklicke, dann sind die neuen Properties vorhanden, das Formular verliert jedoch alle Komponenten (im folgenden Beispiel eben den Button sowie Daten wie Formulargröße etc.). Kann mir da jemand sagen woran das liegen könnte?

Wie gesagt, das Registrieren und das Einfügen in die Objektablage klappt ohne Probleme und ohne Fehler. Hinweise wäre ich wirklich sehr dankbar. Das erstellen von individuellen Formularen als Vorlage ist ja - im Vergleich zu "normalen" Komponenten - wirklich eine Sache für sich :((

// EDIT: Ein weiteres Problem, welches eventuell ein Hinweis auf das zugrunde liegende Problem ist und damit zusammenhängen könnte - daher kein neues Thema erstellt: In der Objektablage erscheint mein selbst erstelltes Formular erst, nachdem ich über Neu->VCL-Formularanwendung eine neue Anwendung erstellt habe. Das "normale" VCL-Form kann ich auch auswählen ohne dass ein Projekt geöffnet ist... Ich werde noch wahnsinnig.

Hier der (bezüglich des Formulars abgespeckte) Source...


// EDIT2: Anbei noch Screenshots vom "richtigen" Formular und von dem Formular welches erscheint, wenn ich über die Objektablage eine veerbte Instanz meines Formulars erstellt. Kopieren hingegen funktioniert korrekt was die Darstellung des Formulars angeht.
Delphi-Quellcode:
unit uLoginForm;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TLoginForm = class(TForm)
    ButtonOk: TButton;
    procedure ButtonOkClick(Sender: TObject);
  private
    { Private-Deklarationen }
    FNeuesItem : Integer;
  public
    { Public-Deklarationen }
  published
    property NeuesItem : Integer read FNeuesItem write FNeuesItem;
  end;

procedure Register;

var
  LoginForm: TLoginForm;

implementation

uses DesignIntf, DesignEditors;

{$R *.dfm}

procedure TLoginForm.ButtonOkClick(Sender: TObject);
begin
  ShowMessage('Test');
end;


procedure Register;
begin
  RegisterCustomModule(TLoginForm, TCustomModule);
end;
end.
... und der Quelltext des Packages:

Delphi-Quellcode:
package Kuebler_Projekt;

{$R *.res}
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO OFF}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION OFF}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DEFINE DEBUG}
{$ENDIF IMPLICITBUILDING}
{$IMPLICITBUILD ON}

requires
  rtl,
  vcl,
  designide;

contains
  uLoginForm in 'uLoginForm.pas' {LoginForm};

end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:26 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