AGB  ·  Datenschutz  ·  Impressum  







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

Text von Form2 nach Form1 übergeben

Ein Thema von Blumi · begonnen am 22. Apr 2006 · letzter Beitrag vom 23. Apr 2006
Antwort Antwort
Seite 2 von 2     12   
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Text von Form2 nach Form1 übergeben

  Alt 22. Apr 2006, 20:41
Zitat von Blumi:
Zitat von EDatabaseError:
Da ich auch einmal solche Fehler hatte:

-Hast du in irgenteinem OnShow, OnHide, OnActivate ein ListBox Clear drin?


Mfg
Tobi
Nein habe ich nicht. Klappt es wenn ich es drin habe?
Nein aber wenn du dein Form Aktivierst und im Activate ein Listbox Clear hast wird die Box geleert.
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von Blumi
Blumi

Registriert seit: 11. Jul 2005
Ort: Basel
96 Beiträge
 
Delphi 2005 Personal
 
#12

Re: Text von Form2 nach Form1 übergeben

  Alt 22. Apr 2006, 21:01
Zitat von mkinzler:
Versuch mal die Daten aus der Form2 zu holen, anstatt sie in Form1 zu schieben.

z.B.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
    if Form2.ShowModal then
    begin
        Label1.Caption := form2.Edi1.Text;
        Update;
    end;
end;
Mmh ich hab jetzt die Form2 nochmals neu geschrieben, aber immer noch keinen Fehler gefunden ?? Eigentlich habe ich keine Lust das ganze Projekt nochmals von vorne zu schreiben , nur weil ich es nicht schaffe eine Variable zu übergeben.
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#13

Re: Text von Form2 nach Form1 übergeben

  Alt 22. Apr 2006, 22:09
Hi,
dass mit dem neu schreiben klingt vielleicht gar nicht so schlecht. Bitte versteh mich hier nicht falsch. Ich kenne deinen Code nicht, aber hier mal meine Vermutung, Form1 ist dein Hauptformular und öffnet irgendwann Form2? Wenn ja, dann hast du sicherlich eine dieser schönen, unter Delphi möglichen über-kreuz Einbidungen der Units?
So was sollte man wirklich immer vermeiden. Mir fällt kein einziger Grund ein, warum man so etwas überhaupt erlaubt (macht imho auch keine andere "große" Programmiersprache, aber das ist eh ein anderes Thema).

An sich verbaust du dir eine Menge Möglichkeiten, wenn du so etwas konstruierst. Solltest du später mal eins deiner Formulare verändern, kann das böse Auswirkungen haben. Du bist sehr stark an die beiden Formulare gebunden und kannst die halt so garnicht unabhängig benutzen. Muss einfach nicht sein.
Der eine Weg ist es, dass du einen Rückgabewert benutzt (wie ja schon geschrieben wurde), alternativ kannst du natürlich auch Form2 eine Variable (vom Typ TLabel) geben, die Form2 verändert (also nur den Wert der Caption!)

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: Text von Form2 nach Form1 übergeben

  Alt 23. Apr 2006, 06:22
HAi Blumi,

ich würde die Daten nicht an eine Variable der Form1 übergeben sondern einen Datenrecord via SendMessage an die Form senden.
Dadurch bleibt die Verarbeitung der Daten dort wo sie sein soll, nämlich in Form1. Form2 sendet "nur" die Daten muss aber nicht wissen was mit ihnen passiert.

Wenn Du also die Daten nicht mehr in einem ListView anzeigen möchtest sondern etwas anderes damit machst musst Du nur noch den Code in Form1 (dem Empfänger der Nachricht) ändern.

Im Anhang mal zwei kleine Beispiele.

P.S.: Die Typedeklaration sollte dann am besten in eine eigene Unit ausgelagert werden um sie zentral pflegen zu können.
Angehängte Dateien
Dateityp: zip sendmessage_492.zip (4,3 KB, 33x aufgerufen)
Dateityp: zip sendmessage2_984.zip (4,5 KB, 35x aufgerufen)
Stephan B.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:22 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