Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Unterschied .clear - lines.clear


ZeitGeist87 - Mi 15.11.06 15:43
Titel: Unterschied .clear - lines.clear
Hallo!

user profile iconMantis1987 und meine Wenigkeit haben uns gerade die Frage gestellt:


Quelltext
1:
Worin besteht der Unterschied eines memo.clear und memo.lines.clear?                    


Das Resultat mag das Selbe sein, was wird jedoch im Hintergrund anders gemacht?

LG
Stefan


jakobwenzel - Mi 15.11.06 17:17

Wer die Sourcen hat, hat die Macht^^

Die Methode Clear ist von TCustomEdit geerbt, und macht das:

StdCtrls.pas
 
1885:
1886:
1887:
1888:
{ ... }
procedure TCustomEdit.Clear;
begin
  SetWindowText(Handle, '');
end;


Und bei Lines.Clear passiert das:

StdCtrls.pas
 
2218:
2219:
2220:
2221:
{ ... }
procedure TMemoStrings.Clear;
begin
  Memo.Clear;
end;


Beim löschen über .Clear wird also direkt die Inhalt-Löschen-Methode von Windows aufgerufen, bei Lines.Clear wird intern die Methode clear vom Memo aufgerufen (TMemoStrings hat nen Zeiger auf das zugehörige Memo) aufgerufen, was dann wieder die win-Funktion aufruft.


Danny W. - Mi 15.11.06 18:07

haha.. 1:0 für mich @Zeitgeist :)


ZeitGeist87 - Fr 17.11.06 08:23

[heul]
immer werd ich ausgelacht
[/heul]

Aber O.K. Thema beendet

@Danny...irgendwann kommt alles wieder zurück^^