AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Form mit prozeduren und funktionen als Vorlage speichern?
Thema durchsuchen
Ansicht
Themen-Optionen

Form mit prozeduren und funktionen als Vorlage speichern?

Ein Thema von erich.wanker · begonnen am 21. Okt 2014 · letzter Beitrag vom 15. Apr 2015
 
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

AW: Form mit prozeduren und funktionen als Vorlage speichern?

  Alt 15. Apr 2015, 13:49
@bernau, es gibt mind. 3 Möglichkeiten eine Form in die sogenannte Objektablage zu verfrachten. 1. Rechtsklick auf Form -> Der Objektablage hinzufügen 2. oben auf Tools klicken -> Vorlagenbibliotheken -> RAD-Studio Objektablage -> hinzufügen 3. wie von Dir gesagt, Toolpalette -> veerbbare Elemente usw. Das Ergebnis ist dann jedesmal, dass die Form in der Objektablage steht. Siehe Screenshot im Anhang. Bei Emba wird allerdings die Nomenklatur vernachlässigt. Das ist schon etwas undurchsichtig, dass die Forms aus der Objektablage dann betitelt sind unter "Objektgalerie". Aber egal, hinter dem Ganzen steckt lediglich folgendes :

Delphi-Quellcode:
unit Unit3;

interface

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

type
  TForm3 = class(TForm2)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

end.
Da sieht man, dass die Form3 ein Abkömmling von Form2 ist.

Und die sieht so aus :

Delphi-Quellcode:
unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    Button1: TButton;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

end.
Obwohl die Form3 keinen Button deklariert : es gibt ihn aber. Der ist nämlich von Form2 geerbt. Ich kann den aber z.B. nur für Form3 verschieben. Um das Ganze zu verstehen muss man sich aber mal die DFMs ansehen :
Delphi-Quellcode:
object Form2: TForm2
  Left = 0
  Top = 0
  Caption = 'Form2'
  ClientHeight = 282
  ClientWidth = 418
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 40
    Top = 40
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
  end
end
In der Form3-DFM sieht man dann, was die Objektablage gemacht hat :

Delphi-Quellcode:
inherited Form3: TForm3
  Caption = 'Form4'
  ExplicitWidth = 434
  ExplicitHeight = 320
  PixelsPerInch = 96
  TextHeight = 13
  inherited Button1: TButton
    Left = 168
    Top = 152
    ExplicitLeft = 168
    ExplicitTop = 152
  end
end
Da ist alles inherited. Der inherited Button ist nur deshalb vorhanden, weil ich den auf der Form3 verschoben habe. D.h. die Koordinaten sind für Form3 geändert in der DFM. Das ist das was die Objektablage macht. Wenn ich nun z.B. ein neues Label auf die Form2 lege, dann hat Form3 automatisch auch eins usw.
Angehängte Grafiken
Dateityp: jpg Unbenannt2.jpg (57,2 KB, 18x aufgerufen)
Gruß
Hansa
  Mit Zitat antworten Zitat
 


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:03 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