![]() |
Form2 Variable auf Form1
Hallo!
Ich habe ein Problem :) Ich habe auf einem form2 eine ComboBox1. Das form 2 lass ich im OnShow vom Form1 aufrufen mit
Delphi-Quellcode:
im FormCreat vom Form1
form2.showmodal;
gebe ich dann an
Delphi-Quellcode:
das problem die Form1 bekommt beim start noch keinen Wert von der Form2 und somit gibt es einen fehler ...
x := Form2.ComboBox1.ItemIndex;
Also wie kann ich es machen das der User gezwungen ist auf der Form2 etwas auszuwählen in der ComboBox und dieser wert dann an das Form1 weiter gegeben wird? Dankö ;) |
Re: Form2 Variable auf Form1
dann musst du erst form2 createn und danach form1!!
|
Re: Form2 Variable auf Form1
und wie ?
das is doch meine Frage :) |
Re: Form2 Variable auf Form1
Du darfst das nicht in den Create schreiben!!
du musst das Schreiben, wenn ComboBox1.Change ist!! Objektinspector!! Dir Funktion auswählen!! |
Re: Form2 Variable auf Form1
wenn das das programm startet kommt doch direkt die form1
da nützt es doch nix in den Combobox1 Change Form1.creat rein zu schreiben |
Re: Form2 Variable auf Form1
Also um dein Problem zu erfassen:
Du kannst zwei Forms!! Auf Form2 ist die ComboBox und die soll in Form1 die value ausgeben?? |
Re: Form2 Variable auf Form1
steht doch oben -.-"
Der Item.Index von der Combobox1 auf dem Form2 wird in der Form1 wiederverwendet bzw ausgelesen... da die combobox aber beim start keinen wert hat gibt es nen fehler |
Re: Form2 Variable auf Form1
Dann mach doch einen Defaultwert bei start und beim onChange der combobox x:= ....
|
Re: Form2 Variable auf Form1
was für ein defaultwert?
|
Re: Form2 Variable auf Form1
ein Defaultwert ist ein Wert, den du am anfang bestimmst!!
|
Re: Form2 Variable auf Form1
oh man ... tu mir bitte nen gefallen und lass deine antworten ...
die helfen mir eh net weiter... Danke. |
Re: Form2 Variable auf Form1
Schreibt mal die Source!!
Dann kann ich dir besser helfen!! |
Re: Form2 Variable auf Form1
hier bitte ... wenn du meinst du findest dich darin zurecht ...
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Menus; type TForm1 = class(TForm) Button1: TButton; MainMenu1: TMainMenu; Datei1: TMenuItem; Beenden1: TMenuItem; Neu1: TMenuItem; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Beenden1Click(Sender: TObject); procedure Neu1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; kartenzahl:integer; implementation uses Unit2; {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var i,a: Integer; const NamePrefix = 'Panel'; begin a := 10; for i := 1 to kartenzahl do begin TPanel.Create(Self).Name := NamePrefix + IntToStr(i); with TPanel(FindComponent(NamePrefix + IntToStr(i))) do begin width := 120; height := 120; Left := 10; Top := a; a := a +130; Parent := self; end; end; end; //Menü Beenden-Button procedure TForm1.Beenden1Click(Sender: TObject); begin close; end; procedure TForm1.Neu1Click(Sender: TObject); begin Form2.showmodal; end; procedure TForm1.FormCreate(Sender: TObject); var x,y,i,a: Integer; const NamePrefix = 'Panel'; begin Case x Of 1: begin a := 10; for i := 1 to 2 do begin TPanel.Create(Self).Name := NamePrefix + IntToStr(i); with TPanel(FindComponent(NamePrefix + IntToStr(i))) do begin width := 120; height := 120; Left := 10; Top := a; a := a +130; Parent := self; end; end; a := 10; for i := 1 to 2 do begin TPanel.Create(Self).Name := NamePrefix + IntToStr(i); with TPanel(FindComponent(NamePrefix + IntToStr(i))) do begin width := 120; height := 120; Left := 140; Top := a; a := a +130; Parent := self; end; end; end; 2: begin ShowMessage('Hallo 2'); end; 3: begin ShowMessage('Hallo 3'); end; 4: begin ShowMessage('Hallo 4'); end; end; end; end.
Delphi-Quellcode:
ich habe eben auch versucht eine variable zu benutzen ...
unit Unit2;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus, ExtCtrls; type TForm2 = class(TForm) Button1: TButton; GroupBox1: TGroupBox; Label1: TLabel; ComboBox1: TComboBox; Image1: TImage; private { Private-Deklarationen } public { Public-Deklarationen } end; var Form2: TForm2; implementation {$R *.DFM} end. Auf der Form2 nen OK Button gemacht beim aktivieren des buttons den tag des buttons auf 1 gesetzt und im form1 den tag abgefragt ob er auf 1 steht (per if abfrage) Da gibt er aber immer nen fehler mit zurgriffsverletung und so nen käse ... nun weiss ich gar nimmer weiter :( |
Re: Form2 Variable auf Form1
Du kannst nicht in TForm1.FormCreate auf Form2 zugreifen, es ist noch garnicht erzeugt worden.
Außerdem wäre Form2.ComboBox1.ItemIndex = -1. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz