Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#9

Re: IP-ADAPTER_ADDRESS Structure

  Alt 8. Dez 2008, 01:14
Zitat von quendolineDD:
Hab das ganze mal noch um eine Klasse erweitert, die das Interface beinhaltet um es besser zu verwenden.
Das "tut man" eigentlich nicht.
Ziel sollte es sein, die Strukturen, Konstanten und Funktionen der Windows API (bzw. eines Teils der API) so gut wie möglich 1:1 in Delphi abzubilden.
Dies ergibt meistens sehr grosse, umfangreiche Units, wie das Jwaxxxxxx Units der Fall ist.
Diese Units "fressen kein Heu", weil sie nur aus Deklarationen bestehen.
Die Windows API-Funktionen sind aus einer Anwendung heraus nur sehr schwer zu benützen.
Man braucht genaues Wissen über die API.
Vergisst man z.B. einen Returnwert abzufragen oder ein Handle freizugeben, führt dies unweigerlich zu Bugs.
Aber dafür hat man eine gut dokumentierte Schnittstelle (siehe MSDN Library).

Die meisten Handle-basierten API-Funktionen schreien geradezu nach einer objektorientierten Kapselung.
Jetzt kommt also die 2. Ebene, die Kapselung der Windows API in Klassen (so wie du das mit der Klasse TAdapter versuchst).
Aber diese Kapselung sollte in einer eigenen Unit (getrennt von den Delarationen der Windows API) abgelegt werden.
Die Anwendung bindet dann nur noch diese Unit ein und bleibt dadurch von den Deklarationen verschont.
Code:
Anwendung --> Kapselung --> Windows API --> Betriebssystem
Wenn du jetzt also deinen bisherigen Code in den Papierkorb wirfst und eine objektorientierte Kapselung um die Jedi Units herumbaust, wirst du den grössten Nutzen rausholen.
  Mit Zitat antworten Zitat