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 VCL DesignTime Package Form keine Controls (https://www.delphipraxis.net/216872-vcl-designtime-package-form-keine-controls.html)

Stefan1286b 15. Mär 2025 17:02


VCL DesignTime Package Form keine Controls
 
Ein schönes Wochenende allen.
Ich hätte ja die Suchfunktion benutzt aber leider funktioniert diese nicht:
Code:
connection to localhost:3312 failed (errno=111, msg=Connection refused)
z.B. google site:delphipraxis.net irgendwas hat mit auch nicht geholfen. Ebenso der Rest des Internets :lol:, oder Ich bin zu dumm zum suchen.

Ich versuche gerade uniGUI Forms in ein Package auszulagen. Was mit einer einschränkung funktioniert. Also habe ich getestet ob diese Einschränkung auch die Normale VCL betrifft und dem ist so.

Volgende Situation:
Ich habe ein DesignTime-Package in der sich 2 Units befinden:
testForm.pas und testRegister.pas

Testfrom.pas enthält eine von TForm abgeleitetet Form auf der ich ein TEdit platziert habe. Sonst nichts.

testRegister.pas enthält:
Delphi-Quellcode:
unit testRegister;

interface

uses System.SysUtils, System.Classes, DesignIntf, DesignInterfaces, DesignEditors;

procedure Register;

implementation

uses
  testForm;

procedure Register;
begin
  RegisterCustomModule(TTestForm, TCustomModule);
end;

end.
Das Package habe ich erzeugt und installiert.

In meiner VCL-Anwendung habe ich in der Uses-Klausel testForm eingebunden. Und diese Form davon abgeleitet:
Delphi-Quellcode:
TPTForm = class(TTestForm)

In der DFM File habe ich in der 1. Zeile 'object' durch 'inherited' ersetzt.

Delphi-Quellcode:
package PTest;

{$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 ON}
{$RANGECHECKS ON}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DEFINE DEBUG}
{$ENDIF IMPLICITBUILDING}
{$DESIGNONLY}
{$IMPLICITBUILD ON}

requires
  rtl,
  designide,
  vcl,
  dclstd;

contains
  testForm in 'testForm.pas' {TestForm},
  testRegister in 'testRegister.pas';

end.
Wenn Ich die Anwendung starte sehe ich das TEdit.

Problem:
In der IDE nicht. Als wenn es Edit1 nicht gibt.
Im Code kann ich Edit1 verwenden.
Wenn ich die beiden Forms im selben Projekt habe geht es. Der Objektablage hinzuzufügen ändert auch nichts.

Embarcadero® Delphi 11 Version 28.0.48361.3236

Jemand eine Idee?

Stefan1286b 16. Mär 2025 17:51

AW: VCL DesignTime Package Form keine Controls
 
Gerade noch mal in Delphi 12.3 getestet. Ändert nichts.

jaenicke 16. Mär 2025 18:25

AW: VCL DesignTime Package Form keine Controls
 
Zitat:

Zitat von Stefan1286b (Beitrag 1547140)
In der DFM File habe ich in der 1. Zeile 'object' durch 'inherited' ersetzt.

Wenn du das Ableiten aus der IDE heraus gemacht hättest (Datei --> Neu --> Weitere... --> Delphi-Projekte --> Vererbbare Elemente), wäre dein Edit in dem abgeleiteten Formular vorhanden und hätte auch ein inherited bekommen. Und dann ist es auch in der IDE sichtbar.

Durch das inherited werden auch die Position usw. übernommen, bis du dem Edit im abgeleiteten Formular eigene Werte gibst. (Du kannst die Werte wie Edit1.Left aus der .dfm auch wieder löschen, dann werden wieder die aus der Elternform genommen.)

Mit Packages habe ich das noch nie versucht, aber so ist das normale Verhalten.

Stefan1286b 17. Mär 2025 07:37

AW: VCL DesignTime Package Form keine Controls
 
Ich habe dir Form zur Ojektablage hinzugefügt und Vererbt in meine TestApp hinzugefügt. Es ist das selbe verhalten.
Am Wochenende habe ich das Package in 2 aufgeteilt, einmal DesignTime und einmal Runtime. Verhalten hat sich nicht geändert, was aber zu erwarten war.
Wenn ich das DesignTime Package deinstalliere und die App Öffne, dann sehe ich die geerbten Controls. Dann weiß ich aber, dass zusätzlich property nicht im Objektinspektor angezeigt werden.

Stefan1286b 21. Mär 2025 12:25

AW: VCL DesignTime Package Form keine Controls
 
Ich habe folgenden Beitrag gefunden:
https://www.delphipraxis.net/180298-...istrieren.html

Dieser befasst sich mit etwas ähnlichen, hat mir aber auch nicht geholfen.


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