* initinterfacepointers improved

This commit is contained in:
florian 2002-10-11 14:05:21 +00:00
parent fcc5675528
commit b5f091d0cb

View File

@ -167,13 +167,15 @@
intftable : pinterfacetable; intftable : pinterfacetable;
i : longint; i : longint;
begin begin
if assigned(objclass.classparent) then while assigned(objclass) do
InitInterfacePointers(objclass.classparent,instance); begin
intftable:=objclass.getinterfacetable; intftable:=objclass.getinterfacetable;
if assigned(intftable) then if assigned(intftable) then
for i:=0 to intftable^.EntryCount-1 do for i:=0 to intftable^.EntryCount-1 do
ppointer(@(PChar(instance)[intftable^.Entries[i].IOffset]))^:= ppointer(@(PChar(instance)[intftable^.Entries[i].IOffset]))^:=
pointer(intftable^.Entries[i].VTable); pointer(intftable^.Entries[i].VTable);
objclass:=objclass.classparent
end;
end; end;
{$else HASINTF} {$else HASINTF}
begin begin
@ -699,7 +701,10 @@
{ {
$Log$ $Log$
Revision 1.27 2002-09-07 15:07:46 peter Revision 1.28 2002-10-11 14:05:21 florian
* initinterfacepointers improved
Revision 1.27 2002/09/07 15:07:46 peter
* old logs removed and tabs fixed * old logs removed and tabs fixed
Revision 1.26 2002/09/07 11:08:58 carl Revision 1.26 2002/09/07 11:08:58 carl
@ -708,4 +713,4 @@
Revision 1.25 2002/08/31 13:11:11 florian Revision 1.25 2002/08/31 13:11:11 florian
* several fixes for Linux/PPC compilation * several fixes for Linux/PPC compilation
} }