Показать сообщение отдельно
  #6  
Старый 17.01.2017, 20:30
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

IDispatch - это один из базовых интерфейсов, как TObject для обычных классов. Т.е. что за реальный объект "прячется" за этим интерфейсом заранее неизвестно.
Можно попробовать простой workaround. В случае, если у тебя не получается получить значение, ты все равно возвращаешь 'NULL'. Ну так перехвати исключение в верни этот 'NULL'. Типа:
Код:
try
  s3 := GetWMIstring('.', 'root\CIMV2', 'Win32_BaseBoard','SerialNumber')
except
  s3 := 'NULL'
end;
Ответить с цитированием