Keresés

Új hozzászólás Aktív témák

  • mgoogyi

    senior tag

    válasz Tomi_78 #4252 üzenetére

    AlakokKepe->LoadFromFile("alak\\alak_all.bmp");
    kepei[0] = AlakokKepe;
    kepei[2] = AlakokKepe;
    AlakokKepe->LoadFromFile("alak\\alak_lep1.bmp");
    kepei[1] = AlakokKepe;
    AlakokKepe->LoadFromFile("alak\\alak_lep2.bmp");
    kepei[3] = AlakokKepe;

    Anélkül, hogy érteném a teljes kódod, ez a rész biztosan rossz.
    Az AlakokKepe egyetlen objektum pointere (memóriacíme).

    A memóriacím egy szám, ami eldől akkor, amikor a new neked helyet foglal a memóriában:
    Graphics::TBitmap *AlakokKepe = new Graphics::TBitmap;
    És innentől kezdve ez az érték nem változik.

    A kepei nevű ugyanilyen pointereket tároló tömbbe berakod ugyanazt a számértéket(pointert/memóriacímet) minden indexre.
    Teljesen mindegy, hogy mit csinálsz közben a LoadFromFile függvénnyel.

    Az AlakokKepe változóra nincs szükséged. Első körben csináld azt, hogy minden alakok elemre ([0], [1], [2], stb.) a benne lévő kepe adattagot külön külön létrehozod = new Graphics::TBitmap; hívással és ezeken az alakok[ 0/1/2/.. ] . kepe objektumokon hívod meg a LoadFromFile-t.

    Azt is megeteheted, hogy nem pointert használsz:
    Graphics::TBitmap* kepe; -> Graphics::TBitmap kepe;
    és akkor nem kell new sem.

Új hozzászólás Aktív témák