Aufruf einer Eigenschaft im DBGrid



  • Hi,

    ich hab für Euch wahrscheinlich ne lächerliche Frage.

    Hab ein DBGrid1. Im DBGrid gibts ne Eigenschaft "Options" die wieder ne Eigenschaft Namens dgEditing hat.

    Nun wollte ich das so aufrufen, geht aber leider net Meldung: [C++ Fehler] Login.cpp(26): E2288 Zeiger auf Struktur auf linker Seite von -> oder von ->* erforderlich.

    Wie heißt es richtig?
    Danke

    void __fastcall TForm5Login::Button1Click(TObject *Sender)
    {
     Form1Main->DBGrid1->Options->dgEditing=true;
    }
    


  • Der Fehler is ganz einfach. Da "Options" kein pointer ist
    muss es Form1Main->DBGrid1->Options.dgEditing=true; heißen



  • Also um es genauer zu erklären:
    In der class DBGrid gibt es einen Pointer der zeigt auf ein Struct
    das Options heißt. In diesem struct gibt es eine bool variable die dgEditing heißt.
    Da steht praktisch

    struct Options
    {
    bool dgEditing;
    };
    

    Deine Lösung wäre korrekt wenn es

    struct Options
    {
    bool *dgEditing;
    };
    

    heißen würde.



  • Hi, danke für Deine Hilfe aber leider gehts net.

    Krieg folgende Meldung:

    [C++ Fehler] Login.cpp(26): E2316 'dgEditing' ist kein Element von 'TDBGridOptions'

    Hast jemand noch ne Idee?



  • Guck mal in die Hilfe zu TDBGid::Options



  • Oder in die FAQ unter "Umgang mit 'Set'".


Anmelden zum Antworten