Einzelnen Beitrag anzeigen

Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Button einer anderen unit Enabled auf false setzen

  Alt 5. Jan 2008, 10:32
Zitat von winkelmesser:
Hallo Alfi001

Die form1 besitzt 14 Buttons deren Caption je eine andere Maschinen Nummer enthalten
Diese Caption wird in Form2 ausgelesen und mit weiteren Daten die in form2 zusammengetragen werden in eine DB gespeichert
Dann verpass dem Form2 ein Property in dem diese Nummer gespeichert wird und setze es bevor du Form2 anzeigst von Form1 aus.

Also in etwa so:

Delphi-Quellcode:
Form2 := TForm2.Create(Self);
Form2.MaschinenNummer := (Sedner as TButton).Caption;
if Form2.ShowModal = mrOK then begin
 //...
end;
Form2.Free;
Auf diese Weise muss das Form2 nicht "wissen" dass die Nummer in der Caption eines TButtons gespeichert ist. Es ist immer schlecht, wenn ein Formular den Aufbau des jeweils aufrufenden Formulars kennen muss damit etwas funktioniert.

Was ist, wenn du irgendwann entscheidest, dass kein TButton sondern ein TBitButton oder TSpeedButton benutzt wird? Dann musst du überall die Stellen im Source suchen, wo per Casting auf den "Sender" zugegriffen wird und mindestens eine Stelle wird meistens vergessen, was dann erst zur Laufzeit auffällt.

Ciao,
Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat