AGB  ·  Datenschutz  ·  Impressum  







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

mit 1. Form auf 2. Form zugreifen

Ein Thema von Affemitwaffe93 · begonnen am 18. Dez 2008 · letzter Beitrag vom 19. Dez 2008
Antwort Antwort
Seite 2 von 4     12 34      
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: mit 1. Form auf 2. Form zugreifen

  Alt 18. Dez 2008, 20:56
Für was, eine Variable im Interface, öffentlicher Formmember oder property?
Markus Kinzler
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#12

Re: mit 1. Form auf 2. Form zugreifen

  Alt 18. Dez 2008, 20:58
Delphi-Quellcode:
private
  FIrgendwas : Integer;
public
  property Irgendwas : Integer read FIrgendwas write FIrgendwas;
end;

implementation

//..

FIrgendwas:=99;

//..
Nun kannst du im Form2 auf Form1.Irgendwas zugreifen!
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: mit 1. Form auf 2. Form zugreifen

  Alt 18. Dez 2008, 21:08
Hallo Affemitwaffe93,

oder so:

z.B.:

Form2 – Aufrufen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  sTestString: String;
begin
  sTestString:= 'Aufruf ';
  TForm2.GetData1 (sTestString);
  ShowMessage('Das ist ein TestString: '+sTestString);
end;
In Form2 deklarieren:

Delphi-Quellcode:
public
    { Public-Deklarationen }
      class function GetData1 (var sString: String): Boolean;



implementation

class function TForm2.GetData1 (var sString: String): Boolean;
begin
  with TForm2.Create(nil) do
    try
      Result := ShowModal=mrok; // ModalResult auf mrOk im OI einstellen
      if Result then
      begin
        sString:= sString+ 'Das ist ein Test';
      end;
      finally
       free;
   end;
end;
Edit: end; nachgereicht

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#14

Re: mit 1. Form auf 2. Form zugreifen

  Alt 18. Dez 2008, 21:12
Delphi-Quellcode:
if Result then
      begin
        sString:= sString+ 'Das ist ein Test';
      finally
       free;
   end;
Hmm, sind begin und end da richtig gesetzt?
Schaut irgendwie komisch aus?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: mit 1. Form auf 2. Form zugreifen

  Alt 18. Dez 2008, 21:19
Hallo taaktaak,

Zitat von taaktaak:
Schaut irgendwie komisch aus?
habe den Quellcode verbessert, ich hoffe er ist jetzt richtig.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#16

Re: mit 1. Form auf 2. Form zugreifen

  Alt 18. Dez 2008, 21:33
Hallo Chemiker,
bin kein Erbsenzähler, aber bevor es einen Einsteiger verwirrt...
Ralph
  Mit Zitat antworten Zitat
Affemitwaffe93

Registriert seit: 17. Okt 2008
40 Beiträge
 
Delphi 2005 Personal
 
#17

Re: mit 1. Form auf 2. Form zugreifen

  Alt 19. Dez 2008, 11:50
irgendwie sieht das von Taaktaak einfacher aus ^^

property Irgendwas : Integer read FIrgendwas write FIrgendwas; das brauch ich alles oder ???

und dann hald nur die variable auf meinen Namen ändern ^^
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#18

Re: mit 1. Form auf 2. Form zugreifen

  Alt 19. Dez 2008, 11:53
JEIN, "write ..." wird nur benötigt, wenn du den Wert von ausserhalb auch ändern möchtest. Aber in jedem Fall - das ist insgesamt nur eine Möglichkeit von mehreren, so etwas zu realisieren.
Ralph
  Mit Zitat antworten Zitat
Affemitwaffe93

Registriert seit: 17. Okt 2008
40 Beiträge
 
Delphi 2005 Personal
 
#19

Re: mit 1. Form auf 2. Form zugreifen

  Alt 19. Dez 2008, 11:56
ahhh ok ... ja will ich ^^

also nochmal vielen dank^^
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#20

Re: mit 1. Form auf 2. Form zugreifen

  Alt 19. Dez 2008, 12:30
Vielleicht noch mal etwas weiter erklärt. Mein Beispiel ist eigentlich noch nicht sehr sinnvoll. Gleiches wäre erreicht, wenn du die Variable einfach nur als public deklarierst:
Delphi-Quellcode:
private
  public
    Irgendwas : Integer;
end;

implementation

//..

Irgendwas:=99;

//..
So richtig sinnvoll sind Properties m.E. erst, wenn der Zugriff über Getter/Setter-Methoden erfolgt. Beispiel:

Delphi-Quellcode:
  private
  FIrgendwas : Integer;
  procedure SetIrgendwas(NeuerWert:Integer)
  function GetIrgendwas:Integer;
public
  property Irgendwas : Integer read GetIrgendwas write SetIrgendwas;
end;

implementation

//..

procedure T~~.SetIrgendwas(NeuerWert:Integer);
begin
  if NeuerWert>0 then FIrgendwas:=NeuerWert;
  ShowMessage('FIrgendwas wurde verändert')
end;

function T~~.GetIrgendwas:Integer;
begin
  Result:=FIrgendwas;
  ShowMessage('FIrgendwas wurde gelesen')
end;

//..
Damit erhälts du interessante Möglichkeiten; du kannst z.B. den neuen Wert prüfen und eine Änderung nur unter bestimmten Bedingungen zulassen. Ausserdem sind lesende und schreibende Zugriffe auf die interne Variable jetzt quasi zu einem Event geworden auf das du unit-intern reagieren kannst (das ShowMessage() ist hier nur ein Platzhalter). Denkbar ist z.B., daß nach einer Änderung des Wertes von aussen, die Unit eine Anzeige aktualisiert - das wär ohne den Setter schon schwieriger zu realisieren.
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 08:51 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