Einzelnen Beitrag anzeigen

Benutzerbild von Corelgott
Corelgott

Registriert seit: 11. Apr 2003
Ort: Lübeck
213 Beiträge
 
Delphi 2006 Enterprise
 
#13

Re: Eigene Funktion erstellen

  Alt 22. Jan 2006, 13:03
also:

@ res != result

wenn man nested functions in delphi benutzt bekommt man teilweise probleme, da in einem nested scope delphi
nicht ziwschen result der beiden funktionen unterscheiden kann
(ist erfahrungswert)

Delphi-Quellcode:
  function func01(x : Integer) : Integer;
    function inner(z : Integer) : Integer;
    begin
      result := z + 5;
    end;
  begin
    result := inner(x) + inner(x) + inner(x);
  end;
Da bekommt man die tollsten Ergebnisse...
Je nach delphi version sogar unterschiedlich! ^^

ausßerdem wenn man in einer funktion mit exit aussteigt, kann es dazu führen, dass man ein teilergebnis in result hat,
das weiter verarbeitet wird. (so was bekommt man auch gut hin, wenn thread A abbricht mit einer exception 'Cannot draw to Canvas' was nicht zwingend das programm terminiert und dann Thread B damit weiter rechnet; Gehabt bei einem RS232-Buffer bei einer Ansteuersoftware)

@sprechende Funktionen namen:

An sich gebe ich dir recht. Aber 1. sollte hier eigentlich nur das prinzip im fordergrund stehen und nicht der saubere und beste name. Für mich war kreterium, dass er sich von den restelichen methoden durch einen markanten namen abhebt. Somit habe ich absichtlich eine etwas flapsigere form genommen.

Warum keine globale funktion?

In der Unit wird ein Objekt definiert!?
Dann ist es auch eine methode und keine funktion. Globale funktionen haben imho nicht in einer "klasse" zu suchen. Wenn man statische methoden will kann man sich eine "statische unit" basteln in der alles gesammlet wird.
Ordentlich ist es auf jeden fall die methode an die instanz der klasse zu binden, da man hier sicher sein kann, dass nicht so ein speicher chaos entsteht. auch gerade wenn er versucht von der methode auf globale variablen zu zu greifen, kann dass bei globalen funktionen ein Problem werden.

Das sind ganz normale sachen wenn man Sauber OOP coded

So und zum schluss man das Konstante Array:
Meinst du echt das erhört die lesbarkeit?
Klar wenn man das ordentlich macht legt man sich ne kleine ini-datei an und liesst das dort herraus.

Wenn man aber das ganze array im code hat... und dann nicht nur 3 stk. sondern mal so 20stk...
Viel spass beim Fehlersuchen, wenn du dich vertippt hast ^^

Dann leg ich mir das lieber in meherer zeilen, was für jedemanden, der sich gerade erst einarbeitet auch sehr viel einfacher zu lesen ist, so dass man den code wenigstens noch debuggen kann und eindeutige nicht all zu kryptische Fehlermeldungen erhält

---

Corelgott

ps.:

Ach und btw. das was du da scheibst:

Zitat:
.... In Form1 deklarierst du nur Funktionen, die dierekt auf die......
Was meinst du nun Funktion? oder Methode... wenns bei nem Obj ist kann es nur eine Methode sein!
(* ok vielleicht etwas pedantisch ^^ *)
wer Rächtschraibfehler findet daaf sie behalten...
  Mit Zitat antworten Zitat