eigene komponente mit stringlist



  • Also ich habe das mal eben bei mir mit dem C++Builder 4 ausprobiert - und siehe da:
    Es funktioniert tatsächlich nicht. Speichern ist wegen Fehlermeldung nicht mehr möglich.
    Nach ein bisschen Rumprobieren habe ich jetzt eine (zumindest bei mir) funktionierende Lösung
    gefunden:

    // Header
    class PACKAGE TMyComponent : public TComponent
    {
    private:
       TStringList* FStringList;
    
       TStringList* __fastcall getStringList();
       void __fastcall setStringList(TStringList* Value);
    protected:
    public:
       __fastcall TMyComponent(TComponent* Owner);
    __published:
       __property __fastcall TStringList* StringList = {read = getStringList, write = setStringList};
    };
    
    // Implementierung
    __fastcall TMyComponent::TMyComponent(TComponent* Owner)
       : TComponent(Owner),
       FStringList(new TStringList())
    {
    }
    
    TStringList* __fastcall TMyComponent::getStringList()
    {
       return FStringList;
    }
    
    void __fastcall TMyComponent::setStringList(TStringList* Value)
    {
       FStringList->Assign(Value);
    }
    

    Warum die andere Lösung nicht funktioniert, weiß ich nicht. Meiner Meinung nach spricht nichts dagegen.
    Wäre mal interessant zu testen, ob das im BCB 6 funktioniert.

    Gruß,

    Alexander



  • ich danke dir, somit klappt es wenigstens einwandfrei. aber ganz ehrlich, auf die idee, wäre ich nie gekommen, dafür kenne ich mich mit dieser art zu wenig mit klassen aus! 🙂

    gruß gerd


Anmelden zum Antworten