Hi David,
auch wenn wir jetzt ein bisschen weg vom Thema sind, muss ich deinen vorletzten Post doch noch mal korrigieren, sonst ist der arme Maddin ganz verwirrt und wundert sich, warum seine Programme überhaupt funktionieren.
Dein erstens Posting kann nicht funktionieren weil:
form1.OpenDialog1.Execute
heist: du willst den OpenDialog1 aus der Variable form1 ausführen. In der Deklaration ist der OpenDialog1 aber privat:
Delphi-Quellcode:
TForm1 = class(TForm)
...
OpenDialog1: TOpenDialog;
...
Daher kein Zugriff. Ist ja auch so gewollt.
Was du schreibst, stimmt so aus zwei Gründen eigentlich nicht:
- Wenn du in Delphi neue Komponenten hinzufügst, dann erscheinen die im Quellcode an einer Stelle in der Klassendefinition, bevor die Sichtbarkeit explizit angegeben wurde. Damit sind sie dann nicht "private", sondern "published" oder "public", also sichtbar und von außen verfügbar.
- Selbst wenn der OpenDialog1 nur "private" wäre, dann wäre er innerhalb der gleichen Unit auch von außen durchaus sichtbar, also auch hier keine Probleme für den Code von Maddin.
Das macht zwar Maddins bisheriges Vorgehen nicht unbedingt richtiger, aber
funktionieren tut es bei kleinen Projekten ja erst mal schon.
Ich hoffe, dass das jetzt nicht zu klugsch***erisch rüberkam, ich wollte nur verhindern, dass Maddin noch stärker verwirrt wird, als eh schon.
Bis denn
Bommel