AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene Funktion erstellen

Ein Thema von -lx- · begonnen am 21. Jan 2006 · letzter Beitrag vom 22. Jan 2006
 
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
 


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 00:42 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