AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Gleiche Funktionen->anderes Ergebnis (macadressen...ERLEDIGT
Thema durchsuchen
Ansicht
Themen-Optionen

Gleiche Funktionen->anderes Ergebnis (macadressen...ERLEDIGT

Ein Thema von SirThornberry · begonnen am 11. Jan 2005 · letzter Beitrag vom 11. Jan 2005
 
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Gleiche Funktionen->anderes Ergebnis (macadressen...ERLED

  Alt 11. Jan 2005, 13:48
ich habe 2 Funktionen. Die eine ist zum auslesen der Macadresse. Dabei kann man per Parameter angeben die wievielte Macadresse ausgelesen werden soll (falls mehrere Netzwerkkarten eingebaut sind). In der Funktion wird ob ich überhaupt 5 Netzwerkkarten habe wenn ich die 5te auslesen möchte.

Von dieser Funktion abgeleitet habe ich mir eine neue gebaut die zu 100% identich ist (nur das result der Funktion ist von einem anderen Typ) und mir die Anzahl der Netzwerkkarten zurück gibt. Diese funktion liefert mir allerdings ein falsches ergebnis (Ergebnis ist auch ab und zu mal ein anderes)

Funktion zum zählen
Delphi-Quellcode:
function GetMacAddressCount: Byte;
var
  AdapterList: TLanaEnum;
  NCB: TNCB;
begin
  FillChar(NCB, SizeOf(NCB), 0);
  NCB.ncb_command := Char(NCBENUM);
  NCB.ncb_buffer := @AdapterList;
  NCB.ncb_length := SizeOf(AdapterList);
  Netbios(@NCB); //<== Bis einschließlich dieser zeile ist die Funktion gleich der anderen
  result := Byte(AdapterList.length); //Ergebnis weicht von dem ab, welches in der anderen Funktion beim Debuggen angezeigt wird
end;
Funktion für die Macadresse
Delphi-Quellcode:
function GetMACAddress(ANewworkcardIndex: Byte = 0): string;
var
  AdapterList: TLanaEnum;
  NCB: TNCB;
begin
  FillChar(NCB, SizeOf(NCB), 0);
  NCB.ncb_command := Char(NCBENUM);
  NCB.ncb_buffer := @AdapterList;
  NCB.ncb_length := SizeOf(AdapterList);
  Netbios(@NCB); //<== Bis einschließlich dieser zeile ist die Funktion gleich der anderen
  if Byte(AdapterList.length) > ANewworkcardIndex then
    Result := GetAdapterInfo(AdapterList.lana[ANewworkcardIndex])
  else
    Result := 'mac not found';
end;
[Edit]Hab die Frage vergessen Wo liegt der Fehler?[/Edit]
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 10:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz