Browse Source

* TContainedObject 10496. First implementation copied from TInterfacedObject

git-svn-id: trunk@9569 -
marco 17 years ago
parent
commit
eb2a80d272
2 changed files with 18 additions and 0 deletions
  1. 13 0
      rtl/inc/objpas.inc
  2. 5 0
      rtl/inc/objpash.inc

+ 13 - 0
rtl/inc/objpas.inc

@@ -782,6 +782,19 @@
          Result := IUnknown(fcontroller);
       end;
 
+{****************************************************************************
+                               TContainedOBJECT
+****************************************************************************}
+
+    function TContainedObject.QueryInterface(
+            const iid : tguid;out obj) : longint; stdcall;
+
+    begin
+      if getinterface(iid,obj) then
+        result:=0
+      else
+        result:=longint(E_NOINTERFACE); 
+    end;
 
 {****************************************************************************
                              Exception Support

+ 5 - 0
rtl/inc/objpash.inc

@@ -242,6 +242,11 @@
           property Controller : IUnknown read GetController;
        end;
 
+       TContainedObject = class(TObject)
+         protected 
+           function QueryInterface(const iid : tguid;out obj) : longint;virtual; stdcall;
+         end;
+
        { some pointer definitions }
        PUnknown = ^IUnknown;
        PPUnknown = ^PUnknown;