AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Form (zur Laufzeit erstellt) richtig schliessen.

Form (zur Laufzeit erstellt) richtig schliessen.

Ein Thema von IMPEGA · begonnen am 30. Sep 2015 · letzter Beitrag vom 1. Okt 2015
Antwort Antwort
Seite 2 von 3     12 3   
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

AW: Form (zur Laufzeit erstellt) richtig schliessen.

  Alt 30. Sep 2015, 15:16
Eine Zusatzfrage:
Hat schon Jemand XE10 am laufen?
Gibt es Vorteile zu XE7?
D10 hat, so wie XE7, entscheidente Vorteile gegenüber D7, ja. Aber das gehört hier nicht hin. Ein Thread - eine Frage.
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#12

AW: Form (zur Laufzeit erstellt) richtig schliessen.

  Alt 30. Sep 2015, 15:33
hallo,

Zitat:
Forms und deren Inhalte per Code erstellen. Oder findest du das etwa praktisch?

Das kann man in Delphi doch alles per Form-Designer machen und dann statt ellenlangen redundanten Spaghetticode zu schreiben, einfach die Form dort instanzieren wo man sie braucht und dann am Ende wieder freigeben. Vorallem wenn man (nach einem längeren Zeitraum) mal was ändern / verschieben / hinzufügen will, fängt man an zu suchen und zu basteln.
Also das man Spaghetticode verursacht, nur weil man keinen Editor zum Erstellen einer GUI verwendet, solltest du mal einen Java-Entwickler erzählen. Ich erzeuge grundsätzlich alle Oberflächen ohne Editor (In Delphi genauso wie in Java). Ich würde das zwar auch nicht so machen wie der TE. Das Benutzen eines Editors würde ich aber als Kinderprogrammierung bezeichnen.

mfg

frank
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
Hansa

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

AW: Form (zur Laufzeit erstellt) richtig schliessen.

  Alt 30. Sep 2015, 15:44
hallo,

Also das man Spaghetticode verursacht, nur weil man keinen Editor zum Erstellen einer GUI verwendet, solltest du mal...Das Benutzen eines Editors würde ich aber als Kinderprogrammierung bezeichnen.
Was für ein Editor ?
Gruß
Hansa
  Mit Zitat antworten Zitat
IMPEGA
Online

Registriert seit: 19. Jan 2008
Ort: Brhv
73 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#14

AW: Form (zur Laufzeit erstellt) richtig schliessen.

  Alt 30. Sep 2015, 15:57
Danke noch Mal. Ja mit der Vorlage kann ich klar kommen.
Tatsächlich scheint es einfacher zu gehen. Wie das mit der Deklaration funktionieren soll, finde ich schon heraus.
Ich kenne die Zahl nicht wirklich. Ich kann die Formen nicht fest deklarieren.
Das scheint mir aber echt nicht wirklich schwer zu sein.
Es kann ruhig geschlossen werden. Ich bin mehr als bedient.
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#15

AW: Form (zur Laufzeit erstellt) richtig schliessen.

  Alt 30. Sep 2015, 15:59
Das Benutzen eines Editors würde ich aber als Kinderprogrammierung bezeichnen.
Ich als effektiv und zeitsparend.

Man hat halt mehr Zeit, die man in die Programmierung der eigentlichen Anwendung stecken kann, statt sich die Oberfläche zusammenzufrickeln.
Ich habe das mit Delphi ein Mal gaaaaaaaaaanz früher gemacht. Und es war (wie Hansa schon anmerkte) entsetzlich zu pflegen. Aber es war gut, diese Erfahrung gemacht zu haben. Weil dadurch lernt man dann, wie man es nicht machen sollte.

Aber gibt ja auch noch genug Masochisten unter den Programmierern.

Was für ein Editor ?
Ich denke er meint den Form-Designer.
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#16

AW: Form (zur Laufzeit erstellt) richtig schliessen.

  Alt 30. Sep 2015, 16:00
Wie das mit der Deklaration funktionieren soll, finde ich schon heraus.
Was für 'ne Deklaration?
  Mit Zitat antworten Zitat
IMPEGA
Online

Registriert seit: 19. Jan 2008
Ort: Brhv
73 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#17

AW: Form (zur Laufzeit erstellt) richtig schliessen.

  Alt 30. Sep 2015, 16:11
In deinem Beispiel hast du gewisse Sachen fest deklariert.
Ich bin kein Profi, habe mir nur schnell im Editor das angeschaut.
Momentan habe ich noch kein Plan wie ich die richtige Parameter mit der richtigen Form synchronisieren soll.
In meinem Fall darf ich die Namen oder andere Parameter nicht festlegen.
Etwas Ruhe, etwas testen und schon komme ich weiter.
Wie aber schon gesagt, damit kann ich gut leben, ich komme schon klar damit, dein Beispiel ist sehr gut.
Danke dafür.

Delphi-Quellcode:
type
   TFormType = (
     ftForm1 = 0,
    ftForm2 = 1,
    ftForm3 = 2);
Delphi-Quellcode:
const
   FORM_TITLES: Array[TFormType] of String = (
     'Dynamische Form 1',
    'Super Titel für Form 2',
    'Modale Form 3'
  );
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#18

AW: Form (zur Laufzeit erstellt) richtig schliessen.

  Alt 30. Sep 2015, 16:26
In deinem Beispiel hast du gewisse Sachen fest deklariert.
Wenn du sagst, dass die Forms optisch alle gleich aussehen und nur durch Logo / Überschrift unterschieden werden, kannst du mit dem TFormType -Typ (zB) rausfinden, von welcher Form die Daten kommen. Statt der type -Deklaration kannst du auch einen Integer mit einer fortlaufenden Nummer nutzen.

Wenn du zB für den "OK"-Button auf der Form beim Instanzieren den gleichen Handler zuweist, kannst du an Hand dessen unterscheiden.

Zum Beispiel:
Delphi-Quellcode:
unit Unit1;

interface

// ...

type
  TForm_Main = class(TForm)
    // ...
  private
    // ...
    procedure Form_Input_OKClick(Sender: TObject);
  end;

// ...

implementation

// ...

procedure TForm_Main.Form_Input_OKClick(Sender: TObject);
var
  SenderForm: TForm_DynamicForm;
  FormType: TFormType;
begin
  SenderForm := GetParentForm(TControl(Sender));
  FormType := SenderForm.FormType;

  case FormType of
    ftForm1:
      DoSomethingForForm1;
    ftForm2:
      DoSomethingForForm2;
    // ...
  end;
end;

procedure TForm_Main.Button_Form1Click(Sender: TObject);
begin
  with TForm_DynamicForm.Create(Self) do
    begin
      FormType := ftForm1;
      Button_OK.OnClick := Form_Input_OKClick;
      Show;
    end;
end;

procedure TForm_Main.Button_Form2Click(Sender: TObject);
begin
  FDialogForm := TForm_DynamicForm.Create(Self);
  FDialogForm.FormType := ftForm2;
  FDialogForm.Button_OK.OnClick := Form_Input_OKClick;
  FDialogForm.Show;
end;
Ich weiss aber nicht, ob GetParentForm schon in D7 verfügbar ist. http://docs.embarcadero.com/products...arentForm.html
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.588 Beiträge
 
Delphi 10.4 Sydney
 
#19

AW: Form (zur Laufzeit erstellt) richtig schliessen.

  Alt 1. Okt 2015, 12:31
sag ich nochmals : Objektablage. Aber ich sags gleich : im Internet danach suchen, das bringt nichts, weil das seltsamerweise keiner verwendet (ausser mir). Nicht mal Marco Cantu hat dafür eine Erklärung.
Ich verwende den auch

Sherlock
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Hansa

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

AW: Form (zur Laufzeit erstellt) richtig schliessen.

  Alt 1. Okt 2015, 14:14
sag ich nochmals : Objektablage. Aber ich sags gleich : im Internet danach suchen, das bringt nichts, weil das seltsamerweise keiner verwendet (ausser mir). Nicht mal Marco Cantu hat dafür eine Erklärung.
Ich verwende den auch

Sherlock
Dann sag mal noch, wen du denn da verwendest!
Gruß
Hansa
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 06:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf