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
Antwort Antwort
Seite 2 von 2     12   
Hansa

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

AW: Form mit prozeduren und funktionen als Vorlage speichern?

  Alt 14. Apr 2015, 21:57
Moin bernau, ist das tatsächlich zu hoch ?

Der "schöne Günther" sagt das :

Ist das nicht genau das richtige für die "Objektablage"?
Daraufhin kam von Dir diese Antwort :

Wenn diese Vorlage nur in einem Projekt verwendet wird, dann nicht.
Ich erkläre daraufhin, dass die Formular-Vererbung sehr wohl bereits ab 2 Formularen Sinn macht und warum und auch in nur einem Projekt. Wo liegt da das Verständnisproblem ?

Wo habe ich etwas von Copy/Paste geschrieben? Bei mir wird alles abgeleitet und nichts kopiert.
Also nochmals : der erste Absatz bezieht sich auf Deine Aussage, die Objektablage sei nur für projektübergreifende Forms. Dass Du copy/paste verwendest steht doch nirgends. Jedenfalls nichts von mir. Seltsam ist allerdings dann doch folgendes : du sagst jetzt . "Bei mir wird alles abgeleitet" und kennst die Objektablage anscheinend nicht ? Zumindest aus der Praxis nicht ?

Vermutlich liegt das an dem Wort "Objektablage". Für die Amis dürfte "Repository" genauso abstrakt rüberkommen. Warum nennen die das ganze Gebiet nicht einfach "Formular-Vererbung" ? Dann hätten ca. 95 % der Delphi Programmierer, die das nicht kennen, zumindest eine grobe Vorstellung davon, was das sein könnte. Davon würde wohl die Hälfte diese Technik dann auch verwenden.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#12

AW: Form mit prozeduren und funktionen als Vorlage speichern?

  Alt 14. Apr 2015, 23:22
Moin bernau, ist das tatsächlich zu hoch ?
Nö.

Also noch mal gaaanz langsam zum mitlesen.


Es gibt Forms, die sind universell und die kann ich in vielen Projekten gebrauchen. Die Dinger kommen in die Objektablage.


Dann gibt es Forms, die haben für ein Projekt spezielle Funktionen. Diese Funktionen möchte ich gerne vererben, damit andere Formulare diese verwenden können. Ich kann natürlich auch irgendwelche Komponenten drauf klatschen, damit diese direkt im abgeleiteten Form verwendet werden.

Dazu lege ich das Form (Ich nenne es jetzt einfach mal WupptiForm) einfach ganz normal an und füge die Funktionen und/oder Komponenten hinzu. Dann auf der Toolpalette gaaaanz nach unten blättern (Achtung: Geht nur wenn du auf der Quellcode-Ansicht bist). Dort gibt es den Abschnitt (Bei Delphi 2007) "Delphi Projekte / Vererbbare Elemente". Dort werden alle Forms aufgelistet, die ich im Projekt angelegt habe. Dort suche ich die WupptiForm. Doppelklick drauf und schon habe ich ein neues Formular, welches vom Wupptiform abgeleitet ist. Perfekte Formvererbung. Nix Objektablage.

Das Wuppti-Ding gehört für mich nicht in die Objektablage. Sonst habe ich nach dem zehnten Projekt die Objektablage zugemüllt.

Nichts anderes habe ich in meinem ersten Post geschrieben. Nur etwas kürzer.


Vermutlich liegt das an dem Wort "Objektablage". Für die Amis dürfte "Repository" genauso abstrakt rüberkommen. Warum nennen die das ganze Gebiet nicht einfach "Formular-Vererbung" ? Dann hätten ca. 95 % der Delphi Programmierer, die das nicht kennen, zumindest eine grobe Vorstellung davon, was das sein könnte. Davon würde wohl die Hälfte diese Technik dann auch verwenden.
In beiden Fällen ist es Formular-Vererbung. Einmal mit Objektablage/Repository und einmal ohne.

Dass Du copy/paste verwendest steht doch nirgends. Jedenfalls nichts von mir.
Och. Folgendes hast du geschrieben:

Alternativen : 1. cut and paste. im OOP Zeitalter : bekloppt.
Das hast du als alternative angegeben, wenn man die Objektablage nicht verwendet. Habe ich dann auf mich bezogen. Aber p80286 hat mich schon aufgeklärt.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de

Geändert von bernau (14. Apr 2015 um 23:25 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#13

AW: Form mit prozeduren und funktionen als Vorlage speichern?

  Alt 15. Apr 2015, 06:46
Dass Du copy/paste verwendest steht doch nirgends. Jedenfalls nichts von mir.
Och. Folgendes hast du geschrieben:
Alternativen : 1. cut and paste. im OOP Zeitalter : bekloppt.
Hansa hat recht. copy <> cut

Hansa: Du hast Fenstervererbung, OOP und die Repository in deinem Beitrag etwas missverständlich in einen Topf geworfen, das ist alles. Nun kann man daraus einen Worte-auf-die-Goldwaage-und-dann-im-Mund-verdrehen-Thread machen. Oder nicht.
Konzentrier dich lieber auf OOP. Da gibt es noch genug zu lernen
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#14

AW: Form mit prozeduren und funktionen als Vorlage speichern?

  Alt 15. Apr 2015, 09:10
Hansa hat recht. copy <> cut
Und ich zitiere das auch noch
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Hansa

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

AW: Form mit prozeduren und funktionen als Vorlage speichern?

  Alt 15. Apr 2015, 14: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.
Miniaturansicht angehängter Grafiken
unbenannt2.jpg  
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#16

AW: Form mit prozeduren und funktionen als Vorlage speichern?

  Alt 15. Apr 2015, 16:32
Ich geb's auf.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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