Einzelnen Beitrag anzeigen

Incocnito

Registriert seit: 28. Nov 2016
210 Beiträge
 
#9

AW: falsches Fenster im Vordergrund

  Alt 12. Nov 2019, 16:20
Das du auf das Hauptform zugreifst ist natürlich schon maximal verdächtig.
Hier könnte es sein, dass du mit "frmMain.Edit1.Text := '4711';" vermeintlich harmlos
nur den Wert ändern willst, aber durch OnChange vom Editfeld alles vermichtet wird
woran der Anwender solange gearbeitet hat. ... Was auch immer du an das Hauptform
zurück geben willst (in dem Fall nun den Wert, der im Editfeld landen soll),
würde ich anders an das Hauptform zurück geben.
Bei mir sieht das meist so aus, dass das Form in solch einem Fall eine Funktion hat
vom Prinzip her:
Delphi-Quellcode:
Function TForm2.DoSomething() : TSomeValues;
Begin
  FPrivateValue := TSomeValues.Create();
  InitForm();
  ShowModal(); // Durch das Form wird dann FPrivateValue beschrieben.
  Result := FPrivateValue;
End;
Nach dem Aufruf muss dann halt alles aus dem Objekt verarbeitet werden.
Denk aber daran, dass das erzeugte Objekt auch wieder freigegeben werden muss.
Vielleicht bietet sich (bei kleineren Daten) auch ein Record (statt eines Objektes) an.

MfG Incocnito
  Mit Zitat antworten Zitat