Bild in Komponente einbinden



  • aahhh jetzt hats geklingelt was ihr gemeint habt mit der eigenschaft.
    klar jetzt erscheint mir das ganze logisch.

    danke dass ihr mich nicht dumm sterben lasst 😋 💡 👍 #

    suppi jetzt klappt es.

    waldseeduo



  • Hallo,
    jetzt habe ich 3 ganze Tage versucht ein Bild in die Komponente einzubinden auf den ersten Eindruck schien es auch zu klappen doch er Schein hat getrügt.

    Bitte schaut euch mal den Code an. Ich bekomme immer die Fehlermeldung "E2247 Zugriff auf ... nicht möglich"

    Ich habe es auch mit dem bereits geposteten Code versucht "Fatal Error!"

    //header
    private:
    Graphics::TBitmap* FPic_0;
    
    __published:
            __property Graphics::TBitmap* Pic_0  =  {write=SetPic_0 };
    
    //-----------------------//cpp-----------------------------------------
    __fastcall TEFader::TEFader(TComponent* Owner)
            : TImage(Owner)
    {
    FPic_0=new Graphics::TBitmap();
    }
    
    void __fastcall TEFader::SetPic_0(Graphics::TBitmap* value)
    {
    FPic_0->Assign(value);
    Repaint();
    }
    

    Gibt es irgendwo eine Komponente die ich Downloaden kann bei der ein Bild wie bei der Image Komponente zur Entwurfzeit ein Bild auswählen kann.

    Ich gebe normal nicht so schnell auf aber so langsam dreh ich echt am Rad.

    Danke für eure Hilfe

    gruss
    waldseeduo 😞



  • Hast Du wirklich die Property genauso geschrieben wie oben im Quellcode?



  • Hallo

    denn so wie das aussieht ist deine __property im private Teil, obwohl die in den public sollte.

    bis bald
    akari



  • Hallo,

    __property ist im public: (hatte vergessen das wort mit zu kopieren sorry)

    ich habe den Code direkt aus der Komponente kopiert um Schreibfehler auszuschliessen.

    was mach mich falsch?

    gruss
    waldseeduo



  • Irgendwo fehlt in deinem geposteten Code eine öffnende geschweifte Klammer und der read-Teil der Property.



  • die klammer ist drin im code
    muss die read zwingend vorhanden sein. ich habe es schon probliert mit und ohne immer das gleiche ergebniss.

    ist die grundlegende vergehensweise so richtig?

    gruss
    waldseeduo



  • Wie lautet denn deine vollständige Fehlermeldung ?
    Wenn sie "Zugriff auf FPic_0 nicht möglich" lautet, schau mal deinen gesamten Quellcode durch, wo überall diese Variable verwendet wird. Vielleicht greifst du irgendwo von ausserhalb zu, was eben nicht möglich ist.



  • hallo,
    ja ich greife von ausen zu um das image zu füllen

    Fader1->Pic_0->LoadFromFile("c:\\test.bmp");

    dann wirft er mir die Meldung

    gruss
    waldseeduo



  • Hallo

    dann brauchst du noch einen Getter, den du im read-Teil der Property zuweist.

    bis bald
    akari



  • Nun erst mal Danke an allen.

    Ich habe den Getter eingefügt jetzt klappts so wie es im moment aussieht.

    gruss
    waldseeduo


Anmelden zum Antworten