Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Zugriff auf Prozeduren anderer Units/Formen

  Alt 18. Dez 2005, 19:58
Hi,
es gibt eine sehr einfache Möglichkeit, die ich aber bewußt nicht nennen werde (hat was mit über kreuz Einbinden zu tun).
Wenn du in TForm2 auf Methoden der Klasse TForm1 zugreifen möchtest und umgekehrt, solltest du überlegen ob es nicht Alternativen gibt.
Was genau möchtest du denn machen?
Wichtig ist, nur Form1 braucht Form2 zu kennen (geh mal davon aus, dass Form1 dein Hauptformular ist und Form2 anzeigt). Wenn du ein Element von Form1 bearbeiten möchtest (z.B. ein Image auf Form1 in Form2 ändern), dann solltest du dieses Element einfach als Referenz übergeben.

Also als Beispiel:
Delphi-Quellcode:
procedure Form2.zeichneAufEinImage(const Image : TImage);
begin
  if assigned(Image) then
    begin
      // mache irgendwas mit dem Image
    end;
end;

// und der Aufruf in Form1
procedure Form1.foo;
begin
  Form2.zeichneAufEinImage(self.Image1); // übergibt das Image1 vom Form1
end;
Wenn du nur etwas berechnest und einen Wert setzen möchtest, kannst du auch Variablen als Referenz (bzw. per Value-Result) übergeben indem du ein var vor die Variable schreibst.

Hoffe es hilft dir schon etwas weiter. Da ich nicht genau weiß was du machen möchtest belasse ich es mal erstmal dabei. Gibt aber noch viele Möglichkeiten wie Funktionszeiger und Interfaces.

Gruß Der Unwissende
  Mit Zitat antworten Zitat