
A mellékelt példaprogram megnyitása előtt a ComponentQuery.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A TComponentQuery komponenst a Component tulajdonságán keresztül rendelhetjük hozzá ahhoz a komponenshez, amelynek tulajdonságait le szeretnénk kérdezni.
Ha ez megtörtént, akkor a GetProperties metódussal lekérdezhetjük a tulajdonságokat.
function GetProperties: String;
Az eredményt String-ként kapjuk vissza.
A komponenst a TComponent osztályból származtatjuk.
Az adatok lekérdezéséhez a TMemoryStream (Stream) és a TStringStream (StrStream) osztályokat használjuk fel.
Egy komponenst és az általa tartalmazott komponenseket az alábbi módon másolhatjuk egy TMemoryStream-be.
Stream.WriteComponent(FComponent);
Miután bemásoltuk a komponenst a Stream objektumba, az tartalmazni fogja annak bináris formájú leírását. Hogy ezt olvasható szöveggé változtassuk, át kell konvertálnunk az adatokat binárisból szöveges formátumúvá. Erre szolgál az ObjectBinaryToText eljárás.
ObjectBinaryToText(Stream,StrStream);
Az StrStream objektum már a tulajdonságlistát fogja tartalmazni, olvasható, szöveges formában. Nincs más hátra, minthogy az objektum tartalmát visszaadjuk a függvény visszatérési értékeként.
Result:=StrStream.DataString;
A TStringStream osztály tartalmához a DataString metóduson keresztül férhetünk hozzá.
Ha a TComponentQuery komponens Component tulajdonságában hozzárendelünk egy objektumot a komponensünkhöz, majd azt töröljük, akkor jön az „Access violation” ablak. Ezért figyelnünk kell arra, hogy ha a hozzárendelt komponens törlődik, akkor többé ne hivatkozzunk rá.
Ehhez felül kell írnunk a Notification metódust.