Einzelnen Beitrag anzeigen

Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Variant - Rückgabewert überprüfen aber wie?

  Alt 17. Dez 2008, 11:38
Zitat von daywalker299:
So, ich habe jetzt eine Lösung:

Delphi-Quellcode:
{ 1    = Null                 }
{ 8    = Einfacher Wert       }
{ 8204 = Mehrere Werte (Array)}
varTemp := vartype(vOut.DefaultIPGateway);
Case varTemp of
  1 : ANetwork[Counter].gw := '';
else
  ANetwork[Counter].gw := VarToStr(vOut.DefaultIPGateway[0]);
end;
1 -> (System.)varNull
Delphi-Quellcode:
if VarIsNull(vOut.DefaultIPGateway) then
  ANetwork[Counter].gw := ''
else
  ANetwork[Counter].gw := VarToStr(vOut.DefaultIPGateway[0]);
Erscheint mir lesbarer/verständlicher.

edit: bevor man auf das erste Element des Variants als Array zu greift, sollte man "vielleicht" prüfen, ob es a) ein Array ist und b) es ein Element 0 gibt (VarArrayDimCount, VarArrayHighBound).
  Mit Zitat antworten Zitat