|
@@ -167,13 +167,15 @@
|
|
intftable : pinterfacetable;
|
|
intftable : pinterfacetable;
|
|
i : longint;
|
|
i : longint;
|
|
begin
|
|
begin
|
|
- if assigned(objclass.classparent) then
|
|
|
|
- InitInterfacePointers(objclass.classparent,instance);
|
|
|
|
- intftable:=objclass.getinterfacetable;
|
|
|
|
- if assigned(intftable) then
|
|
|
|
- for i:=0 to intftable^.EntryCount-1 do
|
|
|
|
- ppointer(@(PChar(instance)[intftable^.Entries[i].IOffset]))^:=
|
|
|
|
- pointer(intftable^.Entries[i].VTable);
|
|
|
|
|
|
+ while assigned(objclass) do
|
|
|
|
+ begin
|
|
|
|
+ intftable:=objclass.getinterfacetable;
|
|
|
|
+ if assigned(intftable) then
|
|
|
|
+ for i:=0 to intftable^.EntryCount-1 do
|
|
|
|
+ ppointer(@(PChar(instance)[intftable^.Entries[i].IOffset]))^:=
|
|
|
|
+ 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
|
|
|
|
|
|
-}
|
|
|
|
|
|
+}
|