AGB  ·  Datenschutz  ·  Impressum  







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

Frage zu MAC Adresse auslesen

Ein Thema von Mackhack · begonnen am 9. Mai 2007 · letzter Beitrag vom 9. Mai 2007
 
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Frage zu MAC Adresse auslesen

  Alt 9. Mai 2007, 08:41
liefert dir denn GetSystemMacAdresses wirklich 6 Adressen zurück oder liegt es vielleicht einfach nur daran das du deine schleife hart von 0 bis 5 durchlaufen lässt?

Im übrigen hast du dir da ein riesen Speicherleck geschaffen.
Durch den Aufruf von GetSystemMacAdresses wird eine Stringlist initialisiert welche dir zurück gegeben wird. Diese gibst du allerdings nirgends frei sondern rufst stattdessen die Funktion sogar 6 mal auf ohne einmal die zurückgegebene Stringlist frei zu geben. Eben um so etwas zu vermeiden werden funktionen die Listen füllen in der Regel so declariert.
function GetSystemMacAdresses(ADestList: TStringList): Irgendwas; somit ist der Nutzer gezwungen die Liste(das Object) vorher anzulegen und weiß damit auch sofort das er sich um die Freigabe auch selbst kümmern muss. Es hindert dich niemand dran als Ergebnis die Stringliste auch als Funktionsergebnis zurück zu geben aber du solltest in einer Funktion keine Stringliste erstellen und zurückgeben.
Delphi-Quellcode:
function GetSystemMacAdresses(ADestList: TStringList): TStringList;
begin
  [...]
  result := ADestList;
end;
Generell sollte man in Funktionen nie ein Object erstellen welches per Result zurück gegeben wird.
Denn der Endanwender weiß dann nicht ob er sich selbst um die Freigabe kümmern muss oder ob die Freigabe von der Klasse gemanged wird.
Zudem kommt es auch des öfteren vor das man eine Funktion aufruft ohne das Funktionsergebnis zu verwenden (denn nicht alle werten Funktionsergebnisse aus um heraus zu finden ob der Aufruf erfolgreich war etc.).
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  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 12:13 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