Einzelnen Beitrag anzeigen

Njorl

Registriert seit: 30. Jun 2007
8 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Variablen in Variablen packen

  Alt 2. Jul 2007, 04:20
Ich glaub ich blicke da jetzt durch, hinkriegen tu ich's aber trotzdem nicht. Dein zweiter Ansatz bringt mich leider nicht weiter, weil da gleich beim Öffnen der Form der Text übernommen wird. Das was ich machen will ist mit verschiedenen Knöpfen jeweils das selbe Eingabefeld zu öffnen, und dann die Eingabe jeweils in verschiedene Variablen zu packen. Ich habe versucht das einzubauen indem ich beim öffnen einfüge

Delphi-Quellcode:
procedure TForm2.Show2(B: TStrings);
begin
  strgs := B;
  Show;
end;
und für den Knopf nach der Eingabe

Delphi-Quellcode:
procedure TForm2.btSetBClick(Sender: TObject);
begin
  strgs := Memo1.Lines;
  Hide;
end;
in der Annahme dass B nur für Show2 mit der jeweiligen Variablen belegt wird und ich sie deshalb in strgs zwischen-ablege. Das gibt mir für X und Y (die Variablen für Show2, ausgelöst durch zwei unterschiedliche Knöpfe in Form1) aber eine nil-value wenn ich versuche sie auszugeben. Ich könnte mir vorstellen dass ich in TForm2.Show2 die Adresse VON B in strgs gespeichert wird, anstatt die Adresse IN B (also nicht X bzw Y). Dann schreibe ich Memo1.Lines in B anstatt von X bzw. Y. Ist das soweit richtig?
Mein zweiter Ansatz war dann in TForm2.btSetBClick strgs durch B direkt zu ersetzten, gibt aber wieder nil-value für X und Y.

Delphi-Quellcode:
procedure TForm2.btSetBClick(Sender: TObject);
begin
  B := Memo1.Lines;
  Hide;
end;
Zur Referenz nochmal den Code aus Form1:

Delphi-Quellcode:
var
  Form1: TForm1;
  B :TStrings;
  X, Y, F :TStrings;

implementation

uses SetB, ShowScreen;

{$R *.dfm}


procedure TForm1.btSetXClick(Sender: TObject);
begin
Form2.Show2(X);
end;

procedure TForm1.btSetYClick(Sender: TObject);
begin
Form2.Show2 (Y)
end;

procedure TForm1.btShowXClick(Sender: TObject);
begin
Form3.Memo1.Lines := X;
Form3.ShowModal;
end;

procedure TForm1.btShowYClick(Sender: TObject);
begin
Form3.Memo1.Lines := Y;
Form3.ShowModal;
end;

end.
Und die Public-Deklarationen in Form2:

Delphi-Quellcode:
public
    { Public-Deklarationen }
    strgs: TStrings;
    procedure Show2(B: TStrings);
  end;
Und nochmal danke für deine Mühe!
  Mit Zitat antworten Zitat