Además de lo ya dicho (incluir la unidad Registry), creo que el código es innecesariamente largo. Podría intentar algo así:
Código Delphi
[-]
var
Registry: TRegistry;
I: Integer;
begin
Registry := TRegistry.Create;
try
Registry.RootKey := HKEY_LOCAL_MACHINE;
if Registry.OpenKey('HARDWARE\DEVICEMAP\SERIALCOMM', false) then
begin
Registry.GetValueNames(SerialCombo.Items);
for I := 0 to SerialCombo.Items.Count - 1 do
SerialCombo.Items[i] := Registry.ReadString(SerialCombo.Items[i]);
end;
finally
Registry.Free;
end;
end;
// Saludos