Hallo,
ich habe eine WinForms-Anwendung mit 2 Forms. Das 1. Form frmMain erzeugt das 2. Form frmChild und übergibt eine Variable mit einem Datenbank-Connection String an dieses Form.
Der Sourcecode funktioniert zwar, allerdings frage ich mich, ob meine Lösung aus
OOP und .NET Gesichtspunkten wirklich der richtige und "elegante" Weg ist, um eine Variable an ein untergeordnetes Form zu geben. Den unten gezeigten Sourcecode habe ich aus Vereinfachungsgründen abgespeckt.
Wäre schön, wen ihr mir ein paar Kommentare dazu schicken könnt oder ein paar Hinweise wie ihr das gelöst hättet.
Delphi-Quellcode:
unit main;
type
frmMain =
class(System.Windows.Forms.Form)
...
private
...
//properties
FConnStr : System.
String;
//property procedures
procedure setConnStr(
const Value: System.
String);
...
public
property ConnStr: System.
String read FConnStr
write setConnStr;
constructor Create;
end;
procedure frmMain.TWinForm_Load(sender: System.
Object; e: System.EventArgs);
begin
setConnStr('
Testwert');
end;
procedure frmMain.btnChild_Click(sender: System.
Object; e: System.EventArgs);
begin
with frmLernen.Create
do begin
ConnectionString:=ConnStr;
ShowDialog;
end;
end;
unit Child;
type
frmChild =
class(System.Windows.Forms.Form)
...
private
...
FConnectionString : System.
String;
...
procedure setConnectionString(
const Value: System.
String);
public
property ConnectionString: System.
String read FConnectionString
write setConnectionString;
constructor Create;
end;
procedure frmLernen.frmLernen_Load(sender: System.
Object; e: System.EventArgs);
begin
Connection.ConnectionString := ConnectionString;
end;
procedure frmLernen.setConnStr2(
const Value: System.
String);
begin
FConnStr2 := Value;
end;
Grüße
webseal