Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eine Prozedur für mehrere Units, die aufeinander zugreifen (https://www.delphipraxis.net/129391-eine-prozedur-fuer-mehrere-units-die-aufeinander-zugreifen.html)

Giertier 18. Feb 2009 09:51


Eine Prozedur für mehrere Units, die aufeinander zugreifen
 
Halli hallo,

und schon wieder hab ich n Problem ;).

Auf folgende Prozedur möchte ich von mehreren Units aus zugreifen:
Delphi-Quellcode:
procedure Pfad;
var Zieldatei: string;
begin
 if Form1.OpenPictureDialog1.Execute then
 begin
  ZielDatei:= Form1.OpenPictureDialog1.FileName;
  Form1.Image2.Picture.LoadFromFile(Zieldatei);
  Form1.image2.Stretch:= true;
  Form1.image2.proportional:=true;
  Form1.image2.show;
  Form3:= TForm3.Create(Application);
  Form3.Show;
  Form3.Label17.Caption:= Zieldatei;
 end;
end;
Unit1 nutzt z.B. die units2 und 3. In Unit1 befindet sich auch Form1.Wenn ich also die Prozedur noch bei Unit1 reinpacke habe ich ja noch kein Problem, wenn ich über einen Button in Form1 auf die Prozedur zugreifen will, aber ich will auch über einen Button in Form3, die sich in Unit3 befindet darauf zugreifen. Unit3, kennt aber natürlich nun nicht sowas wie FORM1.image usw..
Dazu müsste ich ja in der uses-Klausel von Unit3 wieder Unit1 angeben, was ja wiederum zu einer zirkulären Unit-Referenz führt :(.

Wie kann ich dieses Problem aber nun lösen?

Ich hoffe ihr könnt mir helfen.

Vielen Dank schonmal im Voraus für eure schlauen Antworten :mrgreen:

lg, Giertier :)

Meflin 18. Feb 2009 09:55

Re: Eine Prozedur für mehrere Units, die aufeinander zugreif
 
Wenn du die Unit1 in der Unit3 nur im impplementation-Teil und nicht in den interface-uses einfügst, sollte es klappen ;)

Sven M. 18. Feb 2009 09:58

Re: Eine Prozedur für mehrere Units, die aufeinander zugreif
 
Es bietet sich auch an, oft genutzte Funktionen und Prozeduren in eine eigene Unit auszulagern...;)

Giertier 18. Feb 2009 10:03

Re: Eine Prozedur für mehrere Units, die aufeinander zugreif
 
Vielen Dank:)

Das ging ja wiedermal fix :-D.

Die Prozedur habe ich jetzt auch in eine andere Unit ausgelagert.

Funktioniert alles prima.

:thumb:

lg, Giertier


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