![]() |
Saubere Programmierung mit Delphi
Hallo,
da ich sehr viel Wert auf saubere Programmierung lege, habe ich mir folgendes gedacht. Vieleicht könntet ihr euch mal eine Klasse von mir anschauen und mir ein paar Tips geben, was ich vieleicht besser machen kann.
Delphi-Quellcode:
MFG Christian18
unit UBackground;
interface uses Forms, Graphics; type TBackground = class private FForm : TForm; FColor : Array[0..1] of TColor; FDistance : Byte; public constructor Create(Form: TForm; Color1, Color2: TColor; Distance: Byte); procedure Horizontal(); procedure Vertical(); destructor Destroy(); end; implementation constructor TBackground.Create(Form: TForm; Color1, Color2: TColor; Distance: Byte); begin FForm:=Form; FColor[0]:=Color1; FColor[1]:=Color2; FDistance:=Distance; end; procedure TBackground.Horizontal(); var i : Integer; // Schleifenvariable begin FForm.Color:=FColor[0]; FForm.Canvas.Pen.Color:=FColor[1]; i:=0; while i <= FForm.ClientHeight do begin FForm.Canvas.MoveTo(0, i); FForm.Canvas.LineTo(FForm.ClientWidth, i); Inc(i, FDistance); end; end; procedure TBackground.Vertical(); var i : Integer; // Schleifenvariable begin FForm.Color:=FColor[0]; FForm.Canvas.Pen.Color:=FColor[1]; i:=0; while i <= FForm.ClientWidth do begin FForm.Canvas.MoveTo(i, 0); FForm.Canvas.LineTo(i, FForm.ClientHeight); Inc(i, FDistance); end; end; destructor TBackground.Destroy(); begin FForm.Free(); end; end. |
Re: Saubere Programmierung mit Delphi
Ich weiß jetzt nicht genau was du meinst? Willst du, dass dir jemand sagt, dass xyz bei abc an der Stelle besser aussieht oder etwas was vielleicht Code technisch einen Vorteil hat?
|
Re: Saubere Programmierung mit Delphi
Es fehlt das inherited beim Destruktor
|
Re: Saubere Programmierung mit Delphi
Wieso gibt du FForm wieder frei? Das Objekt wird doch übergeben?
Wenn ich dort nil übergebe, schützt du deine interne Verarbeitung nicht. Gruss Thorsten |
Re: Saubere Programmierung mit Delphi
Brauche ich denn überhaupt einen Destructor?
|
Re: Saubere Programmierung mit Delphi
Zur Zeit ja, weil du ja deine FForm dort freigibst.
Und den deklariert man dann als override. |
Re: Saubere Programmierung mit Delphi
Eigentlich nicht.
|
Re: Saubere Programmierung mit Delphi
in deinem ersten beitrag klang es so, als müsste ich die form gar nicht freigeben. also könte ich dann den dectructor auch weg lassen.
LG Chris |
Re: Saubere Programmierung mit Delphi
FForm wird ja normalerweise mit der TBackground instance zerstoert, imho
|
Re: Saubere Programmierung mit Delphi
keine ahnung. würde mich aber freuen, wenn mir jemand ein paar tips gibt wie ich es besser machen kann?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:57 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