Moin Hansa,
irgenwie hab' ich den Eindruck, dass die hier meist schnellen Antworten auf Fragen/Beiträge verwöhnen
Zu Deinen Fragen:
- Zu jeder Eigenschaft die man deklariert kann man eine Get- (read) und eine Set- (Write) Methode deklarieren, deren Parameter/Rückgabewert durch die Eigenschaft für die man sie benötigt festgelegt sind (wie Du ja inzwischen auch schon festgestellt hast).
Es gibt hierbei eine sehr einfache Möglichkeit sich das Leben zu erleichtern:
Man schreibt einfach die Zeile
property Eigenschaft : Datentyp read GetMethode write SetMethode;
und drückt dann STRG-SHIFT-C (Caret in der Zeile lassen). Dann werden die Deklarationen automatisch erzeugt.
Es geht auch auf diesem Wege mehrere Methoden gleichzeitig erzeugen zu lassen. Dies gilt nicht nur für Get/Set sondern auch für alle anderen, deren Header man schon in der Klasse deklariert hat.
- Den Wert der standardmässig im OI erscheinen soll kann man im constructor vorgeben.
- CreateParams setzt die für den aufruf der CreateWindow erforderlichen Werte (Struktur CREATESTRUCT). Dazu am Besten mal im PSDK unter CreateWindows(Ex) die Einzelheiten nachschlagen.
In diesem Zusammenhang darf man nicht vergessen, dass ja auch ein Button oder ein Editfeld ein Fenster darstellen, nur eben mit besonderen Eigenschaften.
Wenn die Meldung:
Zitat von
Hansa:
"Die Komponente x kann nicht installiert werden, weil sie schon in
package y drin ist"
oder ählich kommt muss die Kompo erst einmal entfernt werden, weil nun einmal nicht zwei Kompos mit gleichem Namen gleichzeitig im System vorkommen dürfen.
Deshalb sollte man auch seinen Komponenten immer einen Prefix verpassen um die Wahrscheinlichkeit von Kollisionen zu verringern.
Dazu gab's bei Borland sogar mal die Möglichkeit "seinen" Prefix registrieren zu lassen.
(Beispiel RxLib: Hier fangen die Kompos immer mit Trx an)
Zitat von
Hansa:
...zumindest für mich ist es unbegreiflich, daß anscheinend von 99% nur das vorgekaute von Borland benutzt wird.
Das glaub' ich nicht unbedingt. Es ist nur einfacher fertige Komponenten, von wem auch immer, zu verwenden, als selber welche zu schreiben. In manchen Fällen kann es auch eine betriebswirtschaftliche Entscheidung sein:
Eine Komponente zu schreiben und zu testen kann teurer sein, als eine entsprechende fertige zu kaufen.
Vielleicht ändert sich ja durch Diesen und ähnliche Threads etwas, und es fangen doch ein paar mehr mit der Eigenentwicklung an, nachdem die Hemmschwelle erst einmal überwunden ist.