Re: Werte an andere Form übergeben
Zitat:
genau, wenn man einmal zugreift auf eine formx.dkdkdk dann fragt er ja aber trotzdem klappts nicht |
Re: Werte an andere Form übergeben
hi,
globale Variablen sind für mich ein altes Pascal Relikt. In Objekt-Pascal sollte man besser objektorientierte Strukturen verwenden.
Delphi-Quellcode:
Die andere Unit:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private-Deklarationen } variable : String; public { Public-Deklarationen } function _variable : string; end; var Form1: TForm1; implementation {$R *.dfm} function TForm1._variable : string; begin result:=variable; end; end.
Delphi-Quellcode:
Auf den ersten Blick etwas umständlicher, aber wie ich finde auf jedenfall strukturierter.
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Label1: TLabel; private { Private-Deklarationen } procedure beispiel; public { Public-Deklarationen } end; var Form2: TForm2; implementation uses Unit1; {$R *.dfm} procedure TForm2.beispiel; begin Label1.Caption:=Form1._variable; end; end. |
Re: Werte an andere Form übergeben
Also, so sieht's bei mir aus und geht einwandfrei:
Delphi-Quellcode:
Edit: Zu langsam ;)
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation Uses Unit2; {$R *.dfm} end. |
Re: Werte an andere Form übergeben
Zitat:
ich würde dafür in deiner zweiten Form im Public-Teil eine Procedure deklarieren.
Delphi-Quellcode:
Wenn deinen Unit von Form2 jetzt in der Uses deiner ersten steht kannst Du den Text einfach übergeben:
type
TForm2 = class(TForm) private { Private-Deklarationen } s_editform1 : String; public { Public-Deklarationen } procedure SetEdit (const value : String = ''); end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.SetEdit (const value : String = ''); begin s_editform1 := value; end;
Delphi-Quellcode:
[Edit]Manzoni scheint fast so zu coden wie ich *gg*. Nur das ich es genau anderes herum gemacht habe. [/edit]
procedure TForm1.Button1Click(Sender: TObject);
begin Form2.SetEdit(Edit1.Text); end; |
Re: Werte an andere Form übergeben
Zitat:
so habe ich es auch und es geht nicht :) normalerweise sollte es ja gehen,,, aber warum es nicht geht gibt mir zu rätseln das andere werde ich halt sonst verwenden müssen, obwohl mir das sehr aufwendig erscheint, schließlich musse ich ca. 20-30 Werte übergeben :? |
Re: Werte an andere Form übergeben
noch ein kleiner Anhang:
ich entlade die Form2 nicht einmal sondern mache sie nur unsichtbar. wenn ich dann direkt auf das Edit-Feld zugreife kriege ich den wert '' warum: ich habe dem Edit-Feld als Standard-Text nichts angegeben. aber jetzt fülle ich das Feld zur Laufzeit aus, nur will er trotzdem dann den Standardwert zurückgeben dürfte vielleicht weiterhelfen |
Re: Werte an andere Form übergeben
hm habe mal auch das mit der Prozedur probiert, nur erwartet er da irgendein Resultat
aber das andere will einfach nicht gehen :( |
Re: Werte an andere Form übergeben
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab mal so'n Beispiel im Anhang, falls du's fehlerfrei kompilieren kannst, dann musst du bei dir einen anderen Fehler haben.
|
Re: Werte an andere Form übergeben
poste doch mal dein Quellcode. :dp:
|
Re: Werte an andere Form übergeben
ich glaube langsam flippe ich komplett aus.
habe es jetzt wirklich genau so gemacht, aber wieder ohne erfolg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 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