Hirdetés

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

  • vz12

    tag

    válasz Tomi_78 #2105 üzenetére

    0. Meg kellene nézni (debug), hogy az "egysegek[edb]" véletlenül se legyen NULL. (valószínűleg nem az, de legyél teljesen biztos benne)

    1. Lehetne ezt a mintát követni, a "véletlen" problémák kivédése okán:
    if Assigned(x) then FreeAndNil(x);

    2. A fent említett mutatóra CAST-olnám a saját típusát, szintén csak a biztonság kedvéért, ez amúgy SOHASEM árt.
    / FreeAndNil(TDeklaráltTipus(egysegek[edb])); /

    3. Megpróbálnám ezt is, ez az "eredeti" pascal megoldás, 2 lépésből áll:
    dispose(TDeklaráltTipus(egysegek[edb]);
    egysegek[edb]:=nil;
    / Tudom, hogy a "FreeAndNil" is elvileg pontosan ezt csinálja, csak 1 lépésben, de azért gyakorlati tapasztalat szerzése céljából én kipróbálnám. /
    ---------------------
    Én a típuskényszerítéstől várnám a megoldást, mert a "sima Free" túl általánosnak tűnik, "mindenre" IS működnie kell, ezért valószínűleg sima "Pointer" vagy "TObject" hivatkozásokkal dolgozik.

    [ Szerkesztve ]

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