AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Klasse soll Setup Form bekommen --> überkreuzende Bezüge
Thema durchsuchen
Ansicht
Themen-Optionen

Klasse soll Setup Form bekommen --> überkreuzende Bezüge

Ein Thema von changlee · begonnen am 31. Okt 2009 · letzter Beitrag vom 1. Nov 2009
 
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Klasse soll Setup Form bekommen --> überkreuzende Bez

  Alt 1. Nov 2009, 06:54
[OT]
Zitat von changlee:
Ich verstehe aber nicht, was an himitsus code "böse" sein soll.... (ist doch alles ok so, oder übersehe ich was?)
Das 'With'-Schlüsselwort ist verpönt, auch wenn es Schreibarbeit spart.
Delphi-Quellcode:
procedure TMyClass.Setup;
begin
  with TSetupForm.Create(self) do
    try
      MyObject := self;
      ShowModal;
    finally
      Free;
    end;
end;
Hier stellen sich zwei Fragen;
1. Welches 'ShowModal' wird aufgerufen, das von 'TMyClass' (wenn des diese Methode hätte), oder die der anonymen Instanz von TSetupForm?
2. Welches 'Free' wird aufgerufen?

Das erschließt sich dem Betrachter nicht. Es ist zwar irgendwie klar, aber führt zu Mißverständnissen und schwer zu findenden Fehlern (wenn z.B. Deine TSetupForm gar keine Methode ,'ShowModal' hätte, z.B. weil die etwas anders heißt), dafür aber TMyClass.

Zugegeben, in diesem konkreten Beispiel ist der Code gar nicht böse, aber als Regel gilt: "'With' ist böse". Es spricht nichts dagegen, mit 'With' zu arbeiten, aber da muss man dann genau wissen, was man tut.
[/OT]
Aber der Thread hier dreht sich nicht um dieses, sondern um ein anderes Thema.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz