Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   kann Komponenten auf Form nicht verschieben (https://www.delphipraxis.net/178552-kann-komponenten-auf-form-nicht-verschieben.html)

bernhard_LA 14. Jan 2014 11:59


kann Komponenten auf Form nicht verschieben
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich verwende einen Formular abgeleitet von der Delphi Vorlage : class(TOKBottomDlg) als Form.
Wenn ich jetzt hier Komponenten verschieben will (zB. STRG -X) , also jetzt doch größerer Änderungen an der Vorlage vornehme, bekomme ich folgende Fehlermeldung



was mache ich falsch ?????

baumina 14. Jan 2014 12:02

AW: kann Komponenten auf Form nicht verschieben
 
Du erbst von TOKBottomDlg. Dieser Dialog beinhaltet eine Komponente, die du löschen willst. Das darf man nicht. Ein Möglicher Weg wäre Komponente.Visible := False.

EDIT: Komponenten innerhalb eines Formulars verschieben würde ich sowieso niemals mit STRG-X machen, sondern in der Struktur des Formulars.

himitsu 14. Jan 2014 12:24

AW: kann Komponenten auf Form nicht verschieben
 
Strg-X löscht auch alle Verlinkungen zu der Komponente.

z.B. ein DataSet ausschneiden und wieder einfügen .... dann ist die Verlinkung in der DataSource futsch.
Verschieben über die Struktur läßt aber alle Verlinkungen unangetastet, da es nur "Parent" umschreibt.


Und ja, was im Vorfahr drin ist, muß auch drin bleiben, da eventuell in den Methoden des vorfahren darauf zugegriffen wird und es dann knallen würde.
Man kann es höchstens unsichtbar machen.

Der schöne Günther 14. Jan 2014 12:25

AW: kann Komponenten auf Form nicht verschieben
 
Reparenting von geerbten Komponenten ist, zumindest auf dem Formulardesigner, auch nicht erlaubt.

bernhard_LA 14. Jan 2014 13:02

AW: kann Komponenten auf Form nicht verschieben
 
kann ich die Klasse auf TForm in der *.pas Datei abändern und die *.dfm Datei per Hand ???


Delphi-Quellcode:

type
  TOKBottomDlg = class(TForm)
    OKBtn: TButton;
    CancelBtn: TButton;
    Bevel1: TBevel;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  OKBottomDlg: TOKBottomDlg;

implementation

{$R *.dfm}

end

baumina 14. Jan 2014 13:08

AW: kann Komponenten auf Form nicht verschieben
 
Ja man kann die .pas und die .dfm Dateien so ändern. Man muss nur sehr sorgfältig alles bedenken, wie z.B. die inherited in der dfm durch object ersetzen.

himitsu 14. Jan 2014 13:08

AW: kann Komponenten auf Form nicht verschieben
 
ja

in der DFM muß vorallem das inherited bei allen abgeleiteten Komponenten durch object ersetzt werden.


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