Moin Susi,
ich weiss gar nicht, was Du willst? So wie es aussieht hast Du es doch verstanden, nur was ein Objekt ist vielleicht noch nicht so ganz.
Eine Variable, die ein Objekt darstellt enthält nur den Zeiger auf das Objekt.
(Leider (zum Glück!?) hat Borland es verstanden dies so schön zu kapseln, dass es nicht unbeding sofort auffällt.)
Dadurch sind alle Eigenschaften/Methoden des Objektes zugänglich.
Beispiel StringListe:
Die Methode Add ist dafür zuständig neue Strings an die Liste anzuhängen. Da diese ja zugänglich ist, funktioniert auch das Add.
Was hingegen nicht geht, wenn der Wert als Konstante oder Wertparameter übergeben wird, ist es den Inhalt auf ein anderes Objekt zu ändern. Könnte auch fatal sein (und in Speicherlecks münden), wenn vorher nicht das ursprüngliche Objekt wieder freigegeben würde.
Das ist das gleiche Prinzip, wie bei den
API Funktionen. Sollen hier die Funktionen Werte zurückliefern, so wird oft einfach die Adresse eines Speicherbereiches übergeben, in den die Funktion dann die Ergebnisse schreiben kann. Dabei stört es dann auch überhaupt nicht den Parameter als Konstant(e) anzugeben. Der Pointer reicht, um dieses zu ermöglichen.
Wenn Borland "Mist gebaut" hat, dann bei der Deklaration der einen oder anderen
API-Funktion. Die lassen sich oft nicht so aufrufen, wie es laut
PSDK gehen sollte.
BTW: