Autor Beitrag
Mitmischer 1703
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: So 03.02.08 12:44 
Hallo liebe EE :).

Was geschieht in diesem Quelltext und - welche Rolle spielt FindComponent?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
const
  NamePrefix = 'MyEdit';
begin
  for i := 1 to 20 do begin
    TEdit.Create(Self).Name := NamePrefix + IntToStr(i);    // Edit mit wachsendem i produzieren
    with TEdit(FindComponent(NamePrefix + IntToStr(i))) do 
    {Hier machen mich das TEdit und das FindComponent stutzig. Das TEdit scheint ja eine Funktion zu sein, mit FindComponent als Parameter. Aber warum darf man das TEdit nicht weglassen? Dann aber ändern sich Left, Top und, Parent von der Form, die Edits werden nicht mal produziert?!? Obwohl MyEdit+i doch eindeutig seien sollte...?!?!} 
    begin
      Left := 10;
      Top := i * 20;
      Parent := self;
    end;
  end;
end;

_________________
Die Lösung ist nicht siebzehn.
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: So 03.02.08 12:51 
schon mal FindComponent in der IDE eingegeben und F1 gedrückt :?:

PS: siehe meine Signatur!

[EDIT]
TEdit(Pointer) führt eine Typ-Umwandlung nach TEdit durch!

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
Mitmischer 1703 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: So 03.02.08 12:56 
user profile iconKroko hat folgendes geschrieben:
schon mal FindComponent in der IDE eingegeben und F1 gedrückt :?:


Hab ich!

Und da hab' ich das ob'rige Beispiel gefunden.

_________________
Die Lösung ist nicht siebzehn.
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: So 03.02.08 13:08 
dann hast Du ja auch den Ergenistyp von FindComponent gefunden und da TEdit von ... vererbt ist, kann man per Typ-Umwandlung TEdit(FindComponent) das ganze wie ein TEdit behandeln!

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
Mitmischer 1703 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: So 03.02.08 16:00 
Ok, danke!

_________________
Die Lösung ist nicht siebzehn.
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: So 03.02.08 16:15 
Erst war hier noch ein Stück mehr?

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
Mitmischer 1703 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: So 03.02.08 16:20 
Jepp! :zustimm:

_________________
Die Lösung ist nicht siebzehn.