|
|
@@ -1067,7 +1067,7 @@ end;
|
|
|
|
|
|
class function TObject.GetInterfaceEntry(const iid : tguid) : pinterfaceentry;
|
|
|
var
|
|
|
- i: longint;
|
|
|
+ i: sizeuint;
|
|
|
intftable: pinterfacetable;
|
|
|
ovmt: PVmt;
|
|
|
begin
|
|
|
@@ -1075,11 +1075,14 @@ end;
|
|
|
while Assigned(ovmt) and Assigned(ovmt^.vIntftable) do
|
|
|
begin
|
|
|
intftable:=ovmt^.vIntfTable;
|
|
|
- for i:=0 to intftable^.EntryCount-1 do
|
|
|
+ i:=intftable^.EntryCount;
|
|
|
+ result:=@intftable^.Entries[0];
|
|
|
+ while i>0 do
|
|
|
begin
|
|
|
- result:=@intftable^.Entries[i];
|
|
|
if assigned(Result^.iid) and IsGUIDEqual(Result^.iid^,iid) then
|
|
|
Exit;
|
|
|
+ inc(Result);
|
|
|
+ dec(i);
|
|
|
end;
|
|
|
ovmt := ovmt^.vParent;
|
|
|
end;
|