Zitat von
Jürgen Thomas:
@GuenterS
@Muetze1
Zitat:
Form Designer klatscht dir jede Komponente die du einfügst oben in die Klasse, direkt hinter TForm1=Class(TForm), und dort sind diese öffentlich. Es wird keine Sichtbarkeit eingeschränkt
Oh, Sch... Bei meinen anderen Beiträgen schreibe ich die Warnung hin, dass ich zz. überwiegend mit C# arbeite. Dort gilt dies aber wirklich; deshalb habe ich das (ohne Prüfung) auf Delphi übertragen.
Unabhängig davon gilt aber doch wohl trotzdem, dass man nur
mit Vorsicht direkt auf Controls in anderen Formularen zugreifen sollte und einzelne Informationen durch Eigenschaften oder öffentliche Funktionen zur Verfügung gestellt werden sollen.
Jürgen
Stimmt, hat aber auch niemand bestritten.
Zitat von
Muetze1:
Zitat von
Gehstock:
Habs Behoben mit:
ConfigDLG
Delphi-Quellcode:
procedure TConfigDlg.ComboBox4Change(Sender: TObject);
var
Typ : Integer;
begin
Typ := ConfigDlg.ComboBox4.ItemIndex
end;
und auf FormMain
i:=Typ;
Hä? Wie funktioniert denn dies? Du weist den ItemIndex einer lokalen Variable zu und dann irgendwo in einer anderen Form weist du die lokale Variable einer anderen Variable zu?
1. ist es lokale Variable die somit nicht ausserhalb der ConfigDlg Methode sichtbar ist, somit ist auch kein Zugriff möglich.
2. die lokale Variable verliert ihre Gültigkeit und ihren Inhalt mit verlassen der Methode.
Daher: Wie funktioniert dieses?
Vermutlich hat er eine globale Variable die auch Typ heißt und es geht rein zufällig für die Fälle die er getestet hat.