![]() |
Re: Auf die Eigenschaften eines Forms zugreifen
Zitat:
Wie übergibst du ihr dein Form: Im Constructor? als Property? ,... Zitat:
Wobei ich zugeben muss: Ich weiß jetzt nicht ob ich dich verstehe? ;) p.s.: Der Code weiter oben war nur als absolut abstraktes Beispiel zum Instanzieren eines Forms gedacht. ;) |
Re: Auf die Eigenschaften eines Forms zugreifen
Hallo
Hier mal was ich habe Meine Haupt_Unit HF_Unit
Code:
unit HF_Unit;
interface uses System.Drawing, System.Collections, System.ComponentModel, System.Windows.Forms, System.Data, System.Data.SqlClient, System.Configuration, DB_Unit; type HF = class(System.Windows.Forms.Form) {$REGION 'Vom Designer verwalteter Code'} strict private /// <summary> /// Erforderliche Designervariable. /// </summary> Components: System.ComponentModel.Container; Button1: System.Windows.Forms.Button; /// <summary> /// Erforderliche Methode zur Unterstützung des Designers - /// ändern Sie die Methode nicht mit dem Quelltext-Editor /// </summary> procedure InitializeComponent; procedure Button1_Click(sender: System.Object; e: System.EventArgs); {$ENDREGION} strict protected /// <summary> /// Ressourcen nach der Verwendung bereinigen /// </summary> procedure Dispose(Disposing: Boolean); override; { Private-Deklarationen } public Connection1: System.Data.SqlClient.SqlConnection; constructor Create; end; [assembly: RuntimeRequiredAttribute(TypeOf(HF))] implementation {$AUTOBOX ON} {$REGION 'Vom Windows Form-Designer erzeugter Code'} /// <summary> /// Erforderliche Methode zur Unterstützung des Designers -- /// ändern Sie die Methode nicht mit dem Quelltext-Editor /// </summary> procedure HF.InitializeComponent; begin Self.Connection1 := System.Data.SqlClient.SqlConnection.Create; Self.Button1 := System.Windows.Forms.Button.Create; Self.SuspendLayout; // // Connection1 // Self.Connection1.ConnectionString := 'data source="D:\HomersPowerShop\1_Pr' + 'ojekt\1_Programm\DB\DB.mdb";persist security info=False'; // // Button1 // Self.Button1.Location := System.Drawing.Point.Create(248, 240); Self.Button1.Name := 'Button1'; Self.Button1.TabIndex := 0; Self.Button1.Text := 'Button1'; Include(Self.Button1.Click, Self.Button1_Click); // // HF // Self.AutoScaleBaseSize := System.Drawing.Size.Create(5, 13); Self.AutoScroll := True; Self.ClientSize := System.Drawing.Size.Create(744, 542); Self.Controls.Add(Self.Button1); Self.Name := 'HF'; Self.StartPosition := System.Windows.Forms.FormStartPosition.CenterScreen; Self.Text := 'WinForm'; Self.ResumeLayout(False); end; {$ENDREGION} procedure HF.Dispose(Disposing: Boolean); begin if Disposing then begin if Components <> nil then Components.Dispose(); end; inherited Dispose(Disposing); end; constructor HF.Create; begin inherited Create; // // Erforderlich für die Unterstützung des Windows Forms-Designers // InitializeComponent; // // TODO: Fügen Sie nach dem Aufruf von InitializeComponent Konstruktorcode hinzu. // end; procedure HF.Button1_Click(sender: System.Object; e: System.EventArgs); begin Datenbank_Verbinden_DBU; Hier die Datenbankverbinden end; end.
Code:
unit DB_Unit;
interface uses System.Drawing, System.Collections, System.ComponentModel, System.Windows.Forms, System.Data, System.IO, System.Data.SqlClient; //Type (öffentlich) //Konstante (öffentlich) //Variabele (öffentlich) //Proceduren (öffentlich) Procedure Datenbank_Verbinden_DBU(); //Functionen (öffentlich) implementation uses HF_Unit; //############################################################################## //############################################################################## // //Datenbank verbinden // //############################################################################## //############################################################################## Procedure Datenbank_Verbinden_DBU(); var db_file_s : String; verbindungs_string_s : String; begin //Datenbank File db_file_s := Application.StartupPath + '\DB\' + 'db.mdb'; if System.IO.File.Exists(db_file_s) then begin verbindungs_string_s := 'data source=' + db_file_s + ';persist security info=False'; HF.Create.Connection1.ConnectionString := verbindungs_string_s; end else begin MessageBox.Show(db_file_s); end; end; end. ich weiß jetzt aber nicht ob "HF.Create.Connection1.ConnectionString" richtig ist |
Re: Auf die Eigenschaften eines Forms zugreifen
ähm nunja...
.Net ist eine reine OOP-Umgebung. Delphi.Net lässt zwar solche Dinge wie lose stehende Funktionen zu, mit .Net Programmierung hat das herzlich wenig zu tun. (sowas war auch schon unter Delphi32 unschön ;) ) Aber da du anscheinend nicht viel für OOP übrig hast... Du brauchst auf jeden Fall kein Formular, genausowenig brauchst du den Name deiner Connection:
Delphi-Quellcode:
In deinem Form:
procedure DatenbankVerbindenDBU(const aConnection: IDbConnection);
var DatabaseFile : string; begin //Datenbank File DatabaseFile := Application.StartupPath + '\DB\db.mdb'; if &File.Exists(DatabaseFile) then aConnection.ConnectionString := System.String.Format('data source={0};persist security info=False' [DatabaseFile]) else MessageBox.Show(DatabaseFile); end;
Delphi-Quellcode:
DatenbankVerbindenDBU(DeineConnection);
|
Re: Auf die Eigenschaften eines Forms zugreifen
dank erstmal
aber das löst nicht mein Problem ich möchte gern aus einer Unit auf die Controls auf einer Form zugreifen wenn ich zB position für Panel, GroupBoxen usw festlege wollte ich das gerne in einer eigenen Unit machen und dann über ein Ereignis (z.B onClick)auf der Form zugreifen gibt es da weg unter net? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 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