AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie kann man von Form1 auf Form2 zugreifen und anders herum
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann man von Form1 auf Form2 zugreifen und anders herum

Ein Thema von DerMaBo · begonnen am 1. Dez 2004 · letzter Beitrag vom 1. Dez 2004
Antwort Antwort
DerMaBo

Registriert seit: 30. Nov 2004
3 Beiträge
 
Delphi 6 Enterprise
 
#1

Wie kann man von Form1 auf Form2 zugreifen und anders herum

  Alt 1. Dez 2004, 11:23
Hallo erstmal....

Ich hab ein paar Fragen und zwar habe ich nun in der schule (nach TP) angefangen Delphi zu programmieren. Um nun meine aktuelle aufgabe zu lösen bräuchte ich ein bisschen hilfe (ich betone nochmal das ich delphi erst seit kurzem benutze und vorher Turbo Pascal deswegen hab ich bei delphi spezifischen themen so gut wie keine ahnung) und zwar möchte ich bei meinem hauptprogramm (eine simulation) ein zweites fenster öffnen in dem man zum einen einstellungen vornehmen kann und zum anderen eine statistische auswertung sieht. ich hab ein wenig mit einem zweiten Formular herumgebastelt aber ich finde keine möglichkeit vom zweitem Formular auf das erste zu, zu greifen da man ja nicht die unit der zweiten form mit der unit ersten form verbinden kann,da ja die schon andersherum nötig ist um die 2. form aufzurufen......

auch wenn es wahrscheihnlich ne lächerliche Frage ist wäre ich für ernsthafte antworten sehr dankbar.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Ein Delphi Neuling hatt ein paar fragen......

  Alt 1. Dez 2004, 11:26
Hai DerMoBo,

ersteinmal: "Herzlich Willkommen in der Delphi-PRAXIS".

Zitat von DerMaBo:
...da man ja nicht die unit der zweiten form mit der unit ersten form verbinden kann,da ja die schon andersherum nötig ist um die 2. form aufzurufen......
Doch das geht. Du musst aber in deiner zweiten Form die Unit1 im implementation-Teil eintragen:

Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

uses
 Unit1;

{$R *.dfm}

end.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
roxxy

Registriert seit: 1. Sep 2004
Ort: Idstein
61 Beiträge
 
Delphi 7 Professional
 
#3

Re: Ein Delphi Neuling hatt ein paar fragen......

  Alt 1. Dez 2004, 11:27
Gib uns doch schon mal den Quelltext, den du hast, dann kann man dir besser helfen.
roxxy
Viele wissen nichts, können aber alles erklären
SWAPIT
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#4

Re: Ein Delphi Neuling hatt ein paar fragen......

  Alt 1. Dez 2004, 11:27
1. Willkommen in der Delphi-Praxis

2. Mach bitte einen Aussägekräftigen Titel. siehe die

3. in der zweiten Unit musst du die erste Unit unter implementation einbinden, dann sollte es funktionieren.

Delphi-Quellcode:
´
unit Unit2.

type
  TForm ....
    ...
    ...

implementation

uses Unit1;
[edit]Mist wieder zu langsam [/edit]
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#5

Re: Ein Delphi Neuling hatt ein paar fragen......

  Alt 1. Dez 2004, 11:28
Hi,

wenn Unit1 und Unit2 jeweils im USES des INTERFACE-Teils stehen, meckert der Compiler wg. 'überkreuzendem Bezug'. Schreib die entsprechende/n Unit/s mal in den USES-Teil im IMPLEMENTATION-Abschnitt, und dann sollte der Compiler nimmer meckern
Zugreifen auf Eigeschaften von Form1 kannste dann ganz normal über Form1.Eigenschaft

Gruß
Stephan

//edit_ bin ich lahm
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
DerMaBo

Registriert seit: 30. Nov 2004
3 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Ein Delphi Neuling hatt ein paar fragen......

  Alt 1. Dez 2004, 11:38
Also ich kann ja von unit1 auf unit 2 bzw. von form1 auf form2 zugreifen weil ich die unit2 bei unit1 zugefügt hab (wie gesagt pascal kan ich..) aber ich möchte z.B. auf der zweiten Form nen Button einfügen um die simulation auf der ersten Form zu starten oder einfach um die caption zu ändern.... das meinte ich
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, unit2,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Left:=50;
form1.Top:=100;
form2.Left:=form1.Left+form1.Width;
form2.Top:=100;
form2.AlphaBlend:=TRUE;
form2.AlphaBlendValue := 0;
form2.Show;
form2.Timer1.Enabled := TRUE;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
form2.Button1.Caption:=edit1.Text;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

end.

unit Unit2;

interface

uses
  Windows, unit3,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm2 = class(TForm)
    Timer1: TTimer;
    Button1: TButton;
    Edit1: TEdit;
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Timer1Timer(Sender: TObject);
begin
  AlphaBlendValue := AlphaBlendValue + 17;
  if AlphaBlendValue > 254 then
  begin
    Timer1.Enabled := FALSE;
  end;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
form2.Hide
end;

procedure TForm2.Edit1Change(Sender: TObject);
begin
test:=form2.Edit1.Text;
button1.Caption:=test;
end;

end.


unit Unit3;

interface
 var test:string;
implementation

end.

!Das ist nur nen test Programm!

[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat
DerMaBo

Registriert seit: 30. Nov 2004
3 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Ein Delphi Neuling hatt ein paar fragen......

  Alt 1. Dez 2004, 12:10
kk THX ich habs nun mit implematation gemacht und... es klappt... vielen dank
  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 06:30 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