AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

2005 net

Ein Thema von peter12 · begonnen am 5. Dez 2005 · letzter Beitrag vom 11. Dez 2005
Antwort Antwort
peter12

Registriert seit: 28. Feb 2005
Ort: Oberneukirchen ,Österreich
183 Beiträge
 
Delphi 2006 Professional
 
#1

2005 net

  Alt 5. Dez 2005, 18:48
Suche eine Möglicjkeit wie bei win32
Eine in public deklarierte Variable kann ich in dem Form nützen wenn ich
das form in uses deklariere.
Wie geht das in net.

peter
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#2

Re: 2005 net

  Alt 5. Dez 2005, 19:32
Was meinen? In der Unit wo du eine Variable deklarierst, kannst du sie auch nutzen. Bei Public deklaration kannst du auf den Typen auch aus anderen Typen / Units zugreifen, wenn du diese auch in Form einbindest (uses klausel). Du darfst jedoch nciht vergessen, den typen auch als private Variable in der zweiten Unit zu deklarieren, und dort zu initialisieren. (durch ein .create). Oder meinst du globale Variable? Die gibt es jedoch nicht mehr.
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
peter12

Registriert seit: 28. Feb 2005
Ort: Oberneukirchen ,Österreich
183 Beiträge
 
Delphi 2006 Professional
 
#3

Re: 2005 net

  Alt 6. Dez 2005, 06:33
Gibt es in Net keine möglichkeit einer Variable einen wert zuzuweisen und den dann in allen units zu verwenden.
Gibt es eine alternative wie ich zu Bsp. eine const Verbindungsstring einmal deklariere und
dann in allen units verwenden kann.
peter
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#4

Re: 2005 net

  Alt 6. Dez 2005, 18:57
Du könntest auf einer in einer Unit vorhandenen Komponente zugreifen.

Schau dir dafür mal diesesn Thread an
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
peter12

Registriert seit: 28. Feb 2005
Ort: Oberneukirchen ,Österreich
183 Beiträge
 
Delphi 2006 Professional
 
#5

Re: 2005 net

  Alt 8. Dez 2005, 10:18
[quote]
Schau dir dafür mal diesesn Thread an

Habe versucht es nachzustellen.
Delphi-Quellcode:
unit WinForm4;

interface

uses
  System.Drawing, System.Collections, System.ComponentModel,
  System.Windows.Forms, System.Data;

type
  TWinForm4 = class(System.Windows.Forms.Form)
  {$REGION 'Vom Designer verwalteter Code'}
  strict private
    /// <summary>
    /// Erforderliche Designervariable.
    /// </summary>
    Components: System.ComponentModel.Container;
    Label1: System.Windows.Forms.Label;
    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
       function getLabel : string;
    procedure SetLabel(lab : string);

  public
     property Labeltext : string read getLabel write SetLabel;

    constructor Create;
  end;

  [assembly: RuntimeRequiredAttribute(TypeOf(TWinForm4))]

implementation
    uses winform5;
{$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 TWinForm4.InitializeComponent;
begin
  Self.Label1 := System.Windows.Forms.Label.Create;
  Self.Button1 := System.Windows.Forms.Button.Create;
  Self.SuspendLayout;
  //
  // Label1
  //
  Self.Label1.Location := System.Drawing.Point.Create(64, 64);
  Self.Label1.Name := 'Label1';
  Self.Label1.TabIndex := 0;
  Self.Label1.Text := 'Label1';
  //
  // Button1
  //
  Self.Button1.Location := System.Drawing.Point.Create(280, 64);
  Self.Button1.Name := 'Button1';
  Self.Button1.TabIndex := 1;
  Self.Button1.Text := 'Button1';
  Include(Self.Button1.Click, Self.Button1_Click);
  //
  // TWinForm4
  //
  Self.AutoScaleBaseSize := System.Drawing.Size.Create(5, 13);
  Self.ClientSize := System.Drawing.Size.Create(472, 388);
  Self.Controls.Add(Self.Button1);
  Self.Controls.Add(Self.Label1);
  Self.Name := 'TWinForm4';
  Self.Text := 'WinForm4';
  Self.ResumeLayout(False);
end;
{$ENDREGION}

procedure TWinForm4.Dispose(Disposing: Boolean);
begin
  if Disposing then
  begin
    if Components <> nil then
      Components.Dispose();
  end;
  inherited Dispose(Disposing);
end;

constructor TWinForm4.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 TWinForm4.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
with TWinForm5.Create do


    Show();

end;
  function TWinForm4.getLabel : String;
begin
  result := Label1.Text;
end;

procedure TWinForm4.SetLabel(lab : String);
begin
  label1.Text := lab;
end;
end.
Unterfenster
Delphi-Quellcode:
unit WinForm5;

interface

uses
  System.Drawing, System.Collections, System.ComponentModel,
  System.Windows.Forms, System.Data,WinForm4;

type
  TWinForm5 = 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;
    Label1: System.Windows.Forms.Label;
    /// <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
    function get_MainForm : TWinForm4;
    property Mainform : TWinForm4 read get_MainForm;
  public
    constructor Create;
  end;

  [assembly: RuntimeRequiredAttribute(TypeOf(TWinForm5))]

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 TWinForm5.InitializeComponent;
begin
  Self.Button1 := System.Windows.Forms.Button.Create;
  Self.Label1 := System.Windows.Forms.Label.Create;
  Self.SuspendLayout;
  //
  // Button1
  //
  Self.Button1.Location := System.Drawing.Point.Create(88, 48);
  Self.Button1.Name := 'Button1';
  Self.Button1.TabIndex := 0;
  Self.Button1.Text := 'Button1';
  Include(Self.Button1.Click, Self.Button1_Click);
  //
  // Label1
  //
  Self.Label1.Location := System.Drawing.Point.Create(56, 136);
  Self.Label1.Name := 'Label1';
  Self.Label1.TabIndex := 1;
  Self.Label1.Text := 'Label1';
  //
  // TWinForm5
  //
  Self.AutoScaleBaseSize := System.Drawing.Size.Create(5, 13);
  Self.ClientSize := System.Drawing.Size.Create(292, 272);
  Self.Controls.Add(Self.Label1);
  Self.Controls.Add(Self.Button1);
  Self.Name := 'TWinForm5';
  Self.Text := 'WinForm5';
  Self.ResumeLayout(False);
end;
{$ENDREGION}
 function TWinForm5.get_MainForm : TWinForm4;
begin
   result := Owner as TWinForm4;
end;
procedure TWinForm5.Dispose(Disposing: Boolean);
begin
  if Disposing then
  begin
    if Components <> nil then
      Components.Dispose();
  end;
  inherited Dispose(Disposing);
end;

constructor TWinForm5.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 TWinForm5.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
 mainform.Labeltext := 'DD';
end;
 
end.
[b]
bekomme aber Fehlermeldung mit der icht nichts anfangen Kann
.
Querverweis nicht in der objektinstanz festgelegt.

peter

[edit=Luckie]Delphi-Tags. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#6

Re: 2005 net

  Alt 11. Dez 2005, 15:22
Habe nur relevantes hineingepackt, dies ist eine Unterform. In dieser Variante muß die gesuchte Form der MDIParent sein! Die Unit des Parents muß in der UsesClausel stehen, bei mir UHauptform und das Fenster THauptform.

Anleitung:
Dann wird die Property Mainform deklariert als THauptform. Dies muß eine Property sein, sonnst würde der Getter uns Setter nicht angesprochen werden. Diese werden auch noch in Private deklariert. Als letztes packt man noch flux eine Procedure namens Setter und eine Funktion namens Getter in den Implementation-Teil.

Die Hauptform
Delphi-Quellcode:
unit UUnterform;

interface

uses
  System.Drawing, System.Collections, System.ComponentModel,
  System.Windows.Forms, System.Data, UHauptform;

type
  THauptform= class(System.Windows.Forms.Form)
  private
    function getter : THauptform;
    procedure setter (Form : THauptform);
    property Mainform : THauptform read getter write setter ;
  end;

implementation

uses UBuecher;

function TBuecher.getter : THauptform;
begin
   result := MDIParent as THauptform;
end;

procedure TBuecher.setter(Form : THauptform);
begin
  MDIParent := Form;
end;
Hoffe das reicht. Bei mir funktioneirt es zumindest
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:29 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