Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Radiogroups in anderen Units nutzen


nn1234 - Do 29.12.05 17:57
Titel: Radiogroups in anderen Units nutzen
Hi!
Mein Problem ist, dass sich ein Radiogroup Ergebnis auf einem anderen Formular auswirken soll. Hatte erst gedacht ich könnte das einfach über den Aufruf Form1.Radiogroup.{Methode} machen. Das ging nicht, und da hab ich das über eine property versucht. Dazu der Quelltext mal:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
//Form1
TForm1 = class(TForm)
  RadioGroup1: TRadioGroup;
...
  protected
    function Radiogroup_ergebnis_ermitteln : Stringvirtual;
  public
    property Ergebnis : String read Radiogroup_ergebnis_ermitteln;
  end;
...
function TForm1.Radiogroup_ergebnis_ermitteln : String;
begin
  if RadioGroup1.ItemIndex = 0 then
    result := 'Ergebnis1';
end;

//Form2
uses Form1
...
var radio_Ergebnis : TForm1;
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if radio_Ergebnis.Ergebnis = 'Ergebnis1' then
  begin
    Auswirkung auf Form2
  end;
end;

Was ist daran falsch? Sicher geht es auch einfacher, die Radiogroup in Form2 zu nutzen. Wäre sehr dankbar, wenn da jemand ne Idee hätte.
nn


nn1234 - Do 29.12.05 20:04

Alles klar, Problem hat sich geklärt. Hatte Form1 in der falschen Uses drin. Jetzt funktioniert's ganz normal über Form1.Radiogroup1.{Methode} . Lasst also die Finger von so nem property quatsch in dem Zusammenhang... :wink:
nn