![]() |
Formulare von Musterformular ableiten
Hallo,
ich möchte von folgenden Formular
Delphi-Quellcode:
zwei Formulare ableiten. Der Code sieht so aus:
unit unit_Form2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Edit1: TEdit; Button1: TButton; ListBox1: TListBox; Button2: TButton; Button3: TButton; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form2: TForm2; s : string; implementation {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin s := edit1.Text; ListBox1.Items.Add(s); edit1.Text := ''; edit1.SetFocus; end; procedure TForm2.Button2Click(Sender: TObject); begin ListBox1.Items.Clear; end; procedure TForm2.Button3Click(Sender: TObject); begin ListBox1.Items.Add(s); end; end.
Delphi-Quellcode:
und so:
unit unit_MyForm_1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, unit_Form2, StdCtrls; type TForm3 = class(TForm2) private { Private-Deklarationen } public { Public-Deklarationen } end; var Form3: TForm3; implementation {$R *.dfm} end.
Delphi-Quellcode:
Aus dem Hauptformular können die beiden abgeleiteten Formulare aufgerufen werden. - Das funktioniert auch.
unit unit_MyForm_2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, unit_Form2, StdCtrls; type TForm4 = class(TForm2) private { Private-Deklarationen } public { Public-Deklarationen } end; var Form4: TForm4; implementation {$R *.dfm} end. Wenn ich das erste Formular anzeige, etwas in das Edit-Feld eintrage und den Button1 anklicke, funktioniert erstmal alles wie erwartet. Edit1.Text wird in die ListBox übernommen und in der Variablen s gespeichert, was ich durch einen Klich auf Button3 überprüfen kann. Wenn ich nun aber das zweite Formular anzeigen lasse, dann hat die Variable s schon den Wert aus dem ersten Formular. Warum ist das so und wie verhindere ich das??? Schon Mal vielen Dank für Eure Mühe. torf160 |
Re: Formulare von Musterformular ableiten
Weil du mit globalen Variablen Arbeitest. Deklarier die variable im Private-abschnitt der Formklasse und sie sollte in der abgeleiteten Form unbekannt sein.
|
Re: Formulare von Musterformular ableiten
Tatsächlich, so funktioniert es.
Vielen Dank, für die schnelle Antwort. :thumb: torf160 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:28 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