Einzelnen Beitrag anzeigen

EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#9

Re: Sekündlich wechselnde MAC Adresse!?

  Alt 14. Nov 2005, 20:18
Danke erstmal für eure tatkräftige Hilfe!

Dass sich die MAC-Adresse (normalerweise) nicht ändern kann, ist mir klar.

Vielleicht liegt der Fehler doch in der MacAddrToStr function, deshalb hier der Code:
Delphi-Quellcode:
type
  TMacAddress = array [0..MAXLEN_PHYSADDR - 1] of Byte;

class function TAdapter.MacAddrToStr(const MacAddr: TMacAddress; AddrLen: Cardinal): String;
var
  I: Integer;
begin
  { Convert MAC-Address to string for display purposes... }
  Result := '';
  if AddrLen = 0 then
  begin
    Result := '00-00-00-00-00-00';
    Exit;
  end;
  for I := 1 to AddrLen do
    Result := Result + IntToHex(MacAddr[I], 2) + '-';
  Delete(Result, Length(Result), 1);
end;
Warum ich nicht glaube, dass dort der Fehler liegt?
Delphi-Quellcode:
{ Siehe mein bereits geposteter Code }
Adapter := GetAdapterByMACAddr(TMACAddress(pIfTable^.table[I].bPhysAddr),
       pIfTable^.table[I].dwPhysAddrLen);
Weil in diesem Code bPhysAddr immer einen anderen Wert hat. Es ändert sich meinem Debugger zufolge immer der vorletzte Block, also z.B. 0,0,33,232,166,94,X,130, wobei sich immer X ändert. Das Programm wurde auch schon auf einem anderen Rechner getestet (dort stand mir allerdings kein Debugger zur Verfügung), auch dort "erkannte" mein Programm neue Netzwerkkarten, die sich nur in der MAC-Adresse unterschieden.

Da mir das Problem aber schon schlaflose Nächte bereitet, habe ich beschlossen den ganzen Code meines Projektes zur Verfügung zu stellen - vielleicht findet ihr ja den Fehler. Ich weiß echt nicht mehr weiter.

Falls ihr anderere Verbesserungen für mein Programm (es ist sicherlich unschwer festzustellen, dass es noch nicht fertig ist) habt, dann heraus damit, denn ich programmiere Delphi um zu lernen!

Danke,
Andreas
Angehängte Dateien
Dateityp: zip source_564.zip (9,5 KB, 23x aufgerufen)
Andreas N.
  Mit Zitat antworten Zitat