Alternatives for For..in loop in Delphi 7?
delphi, delphi-7
Solution
Delphi 7 does not support `for .. in`, so you have to iterate the `TSMBios.ProcessorInfo` array by yourself
procedure GetProcessorInfo;
Var
SMBios : TSMBios;
LProcessorInfo : TProcessorInformation;
LSRAMTypes : TCacheSRAMTypes;
LIdx : Integer; // add this
begin
SMBios:=TSMBios.Create;
try
WriteLn('Processor Information');
if SMBios.HasProcessorInfo then
// for LProcessorInfo in SMBios.ProcessorInfo do
for LIdx := Low( SMBios.ProcessorInfo ) to High( SMBios.ProcessorInfo ) do
begin
LProcessorInfo := SMBios.ProcessorInfo[LIdx];
...
end;
...
end;
Problem
I'm getting an error with Delphi 7 on for in loop when compiling this code Link ``` procedure GetProcessorInfo; Var SMBios : TSMBios; LProcessorInfo : TProcessorInformation; LSRAMTypes : TCacheSRAMTypes; begin SMBios:=TSMBios.Create; try WriteLn('Processor Information'); if SMBios.HasProcessorInfo then for LProcessorInfo in SMBios.ProcessorInfo do // <-- Error here begin ... end; ... end; ``` Error message: [Error] Project1.dpr(52): Operator not applicable to this operand type Any alternative way ? or how can I fix it ?