Einzelnen Beitrag anzeigen

bluerazer190

Registriert seit: 31. Aug 2011
8 Beiträge
 
#1

Combobox.Text an andere Unit übergeben

  Alt 31. Aug 2011, 17:06
Hallo Leute,
ich sitze hier seit mehreren Stunden an folgenden Problem:

Ich habe eine Unit/Form1. Dieses erstellt beim Klick auf Start ein 2. Form und dementsprechend auch eine 2.Unit.
Ich übergebe eine variable x an die 2. Unit und lese diese dort aus. Die funktioniert.

Jedoch soll beim Klick auf den Button "Start" der aktuell gewählte Text aus der Combobox an die 2. Unit übergeben werden. Das geht leider nicht.

Konkret heißt das: die Variable "dateipfad" kann ich in Unit2 auslesen. Die Variable "choosedlec" ist leer.

Hier mal mein Quellcode:
Unit 1
Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    vokabelfiles: TComboBox;
    Button1: TButton;
    start: TButton;
    debug: TLabel;
    ComboBox1: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure startClick(Sender: TObject);
    procedure vokabelfilesChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    dateipfad,choosedlec:string;
  end;

var
  Form1: TForm1;


implementation
  uses Unit2;
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var searchResult : TSearchRec;
begin
  dateipfad:=ExtractFilePath(ParamStr(0))+'Vokabeldateien\';
  if FindFirst(dateipfad+'*.txt', faAnyFile, searchResult) = 0 then
    begin
      try
        repeat
          vokabelfiles.Items.Add(searchResult.Name);
        until FindNext(searchResult) <> 0;
      finally
        FindClose(searchResult);
      end;
  end;
end;

procedure TForm1.vokabelfilesChange(Sender: TObject);
begin
  choosedlec:=vokabelfiles.Text;
end;

procedure TForm1.startClick(Sender: TObject);
begin
  Form2.Show;
end;

end.
Unit2
Code:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Label3: TLabel;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

  uses Unit1,Unit3;

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
var
  text: string;
  vokabeldatei: TextFile;

begin
  Label3.Caption:=Unit1.Form1.choosedlec;
  Label3.Caption:=Unit1.Form1.dateipfad;
end;

end.
Ich danke euch
  Mit Zitat antworten Zitat