AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Daten übergabe

Ein Thema von Pump3r · begonnen am 9. Mai 2006 · letzter Beitrag vom 10. Mai 2006
Antwort Antwort
Pump3r

Registriert seit: 6. Okt 2005
175 Beiträge
 
Delphi 7 Enterprise
 
#1

Daten übergabe

  Alt 9. Mai 2006, 12:44
Hi!

Ich habe Form1 und Form2
in Form1 habe ich eine Liste und einen Button.
Ich drücke diesen Button und Form2 wird aufgerufen.
In Form2 gibt es auch einen Button, wenn ich diesen drücke, soll es in Form1 in die Liste einen Eintrag machen.
Aber das geht doch nicht oder? Ich kann die Units ja in den uses nicht überkreuzen oder?




Gruß Pump
Christian Hermann
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Daten übergabe

  Alt 9. Mai 2006, 12:47
Sollte man nicht, wenn du aber Unit ein im Implementation-Teil von Unit2 einbindest solte es gehen. Besser wäre aber nu in eine Richtung einzubinden und die daten dann von Form1 holen zu lassen.
Markus Kinzler
  Mit Zitat antworten Zitat
Neon-chan

Registriert seit: 25. Okt 2004
24 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Daten übergabe

  Alt 9. Mai 2006, 13:15
Gibt 2 Möglichkeiten das zu lösen:

1. schnell aber nicht so elegant: Du gibst Form2 die benötigten Werte als property (read only am besten) und liest diese propertys aus

Form 2 Eigenschaften

Code:
  TForm2 = class(TForm)
    //deine Komponenten
  private
    FListWert : string;
    procedure SetListWert(wert:string);
  public
    property ListWert read FListWert;
  end;

implementation
//
der Aufruf aus Form1

Code:

//programm davor

if Form2.showModal = mrOk than
  //Programm wartet hier bis Form2 geschlossen wird
  List.Add(Form2.ListWert);


//programm danach
Über die Eigenschaft ModalResult von TButton kannst du den Rückgabewert der Funktion SowModal bestimmen


2. eleganter aber schwerer zu programmieren wenn man es noch nicht gemacht hast: du lässt Form2 ein Event auslösen wenn die Werte eingetragen werden sollen und übergibst so die Werte


Eingebunden wird jeweils nur die Uses Form2 in Form1 nicht andersrum
  Mit Zitat antworten Zitat
Pump3r

Registriert seit: 6. Okt 2005
175 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Daten übergabe

  Alt 9. Mai 2006, 14:20
[Fehler] erstellen.pas(67): Eigenschaft 'ListWert' existiert nicht in Basisklasse
Christian Hermann
  Mit Zitat antworten Zitat
Neon-chan

Registriert seit: 25. Okt 2004
24 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Daten übergabe

  Alt 9. Mai 2006, 15:02
Den Wert musst du ja auch erstellen..oben steht doch als erster code die Deklaration der TForm2 Klasse..du erstellst dir n neues Formular, ziehst dir zusammen was du brauchst und gibst dem dann noch die property dazu (s. Codebeispiel) dann fügst die Unit des Formulares in die uses deiner Mainunit ein und dort erstellst dir ne Instanz von der Klasse TForm2 und rufst diese auf (wo du sie halt brauchst)
Code:
myForm2.ShowModal
  Mit Zitat antworten Zitat
Mitchl55

Registriert seit: 20. Feb 2003
Ort: Meppen
159 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Daten übergabe

  Alt 9. Mai 2006, 15:57
Hast Du im Forum nachgeschaut???

Ich habe nämlich das selbe schon gefragt!!

Schaus Dir doch einfach an...

Gruß

Mitchl
  Mit Zitat antworten Zitat
Pump3r

Registriert seit: 6. Okt 2005
175 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Daten übergabe

  Alt 10. Mai 2006, 08:02
Meinst du den Beitrag hier: http://www.delphipraxis.net/internal...ghlight=mitchl ?

Naja das ist aber eigentlich nicht das selbe, wie ich was von form 1 in 2 übergeben kann, weiß ich.

Hab nur Probleme mit dem "andersrum"..



Gruß Pump,
Christian Hermann
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Daten übergabe

  Alt 10. Mai 2006, 08:20
Hai Pump3r,

Du kannst dir ja einmal mein Beispiel aus diesem Posting ansehen.
Stephan B.
  Mit Zitat antworten Zitat
Pump3r

Registriert seit: 6. Okt 2005
175 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Daten übergabe

  Alt 10. Mai 2006, 08:39
oh man, das geht zwar ohne probleme, aber den code zu verstehen . . .
danke dir!


gruß pump
Christian Hermann
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Daten übergabe

  Alt 10. Mai 2006, 09:10
Eigentlich ist es ganz einfach.

Die Form1 hat eine Methode procedure WMCOPYDATA(var msg: TWMCopyData); message WM_COPYDATA;.
Diese wird ausgeführt wenn an das Fenster (Handel) mit SendMessage() eine WM_Copydata Nachricht gesendet wird.
In CopyDataStruct steht dann der Record der übergeben wird und seine Länge.

Das ist eingetlich schon alles.
Stephan B.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 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