Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi auf einer andere Unit zugreifen (https://www.delphipraxis.net/92773-auf-einer-andere-unit-zugreifen.html)

OoNapiBLNoO 25. Mai 2007 20:06


auf einer andere Unit zugreifen
 
huhu

also ich habe da nen Problem, und zwar

ich habe ne Form1 mit einer menge zeug drauf (Checkboxen usw), nunhabe ich ne Form2 gemacht und wenn ich bei Form1 auf nen Button klick, soll Form2 erscheinen.

aus der Form2 (Unit2) möchte ich auf die Unit1 zugreifen, sodass er alle Checkboxen usw abfragen kann.

Unit1
Delphi-Quellcode:
...
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

uses InfoUnit, Shellapi, Registry, ComObj, Unit2;

{$R *.dfm}
var regist : TRegistry;
...
Unit2
Delphi-Quellcode:
...
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;


implementation

uses Shellapi, ComObj, Unit1;

{$R *.dfm}
...
Irgendwie muss man ja die Unit1 in die Unit2 so einbinden das es geht, mit ner globalen Variable oder so. Ich habe danach schon im Forum gesucht, aber nix gefunden :( .

Hat einer nen Tipp oder Anleitung für mich? wäre schön

gruß Napi

bitsetter 25. Mai 2007 21:16

Re: auf einer andere Unit zugreifen
 
Hi,

nach meiner Ansicht müsstest du doch jetzt Zugriff auf Form1 haben, denn du hast die unit1 doch eingebunden.
Delphi-Quellcode:
var
  Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
  form1.CheckBox1.Checked := true;
end;

OoNapiBLNoO 25. Mai 2007 21:44

Re: auf einer andere Unit zugreifen
 
ich habe auf der Form1 insgesammt 30 Checkboxen oder so, muss ich denn jede Checkbox nochmal extra so angeben?

Zitat:

Zitat von bitsetter
procedure TForm2.Button1Click(Sender: TObject);
begin
form1.CheckBox1.Checked := true;
end;[/delphi]


Dunkel 25. Mai 2007 21:48

Re: auf einer andere Unit zugreifen
 
Zitat:

Zitat von OoNapiBLNoO
ich habe auf der Form1 insgesammt 30 Checkboxen oder so, muss ich denn jede Checkbox nochmal extra so angeben?

Entweder Du machst es so, oder Du suchst mal im Forum nach findcomponent.

Edit:
Alternativ kannst Du es auch so machen
Delphi-Quellcode:
with Form1 do
  begin
    Checkbox1.Checked:= True;
    CheckBox2.Checked:= False;
  end;

bitsetter 25. Mai 2007 22:20

Re: auf einer andere Unit zugreifen
 
Wenn du alle auf einmal ändern möchtest dann geht es auch so:
Delphi-Quellcode:
var
  loop: integer;
begin
  for loop := 0 to pred(Form1.ControlCount) do
    if Form1.Components[loop] is TCheckBox then
      TCheckBox(Form1.Components[loop]).Checked := true;

OoNapiBLNoO 25. Mai 2007 22:45

Re: auf einer andere Unit zugreifen
 
alles noch ein bissl verwirrend für mich, aber hmm, das wird schon. Ich werd das mal ausprobieren und sag denn bescheid obs funzt :-)

danke erstmal

Edit:

so, habsch nun hinbekommen, habe einfach vor jeder checkbox nen form1 hingeschrieben

Delphi-Quellcode:
if form1.CheckBox1.Checked then
    begin

 if form1.CheckBox3.Checked then
    begin

...
jetzt funzt des wunderbar :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:06 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