Autor Téma: FreeAndNil(Query) - nezničí ho  (Přečteno 669 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5105
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional
FreeAndNil(Query) - nezničí ho
« kdy: 12-04-2019, 10:30:09 »
Kód: [Vybrat]

procedure TfrmRenumber.RoomsCopy;
begin
    dtmdMain.fdtrPoBesUpdate.StartTransaction;
    CopyRoom;
    CopyRenameRoom;
    CopyPerson;
    CopyData;
    CopyUpdateTree;
    dtmdMain.fdtrPoBesUpdate.Commit;
end;
V jednotlivých funkciách si vytváram lokálne Query. Pokiaľ sú typu UPDATE, tak sa vo funkcii FreeAndNil nezničia.
Predpokladám, že to je zapríčinené/spojené s nepotvrdenou transakciou.
Je môj predpoklad správny? Ak áno, ako to mám správne riešiť?
Viem to urobiť tak, že Query nebudú lokálne vo funkciách a tu uvedenú funkciu rozšírim o ich zničenie.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5105
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:FreeAndNil(Query) - nezničí ho
« Odpověď #1 kdy: 12-04-2019, 13:39:13 »
Podľa všetkého je predpoklad zlý. Zrada je niekde inde ale neviem ju nájsť :'(
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5105
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:FreeAndNil(Query) - nezničí ho
« Odpověď #2 kdy: 12-04-2019, 14:21:16 »
Tak som to konečne našiel. Volal som funkciu, kde si vytváram, ale neničil som Qry.
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 5105
  • Karma: 41
    • Verze Delphi: W10 + Delphi 10.4 professional
Re:FreeAndNil(Query) - nezničí ho
« Odpověď #3 kdy: 13-04-2019, 09:28:09 »
Excellent
Rated 1 time
Citace
Jinak doufam, ze je poslany vynatek kodu jen ukazkou,
Samozrejme.
Ďakujem za vysvetlenie. Tak nejako som si to predstavoval. Len mi to dlho trvalo, kým som našiel chybu. Tam som ju totiž ani nehľadal :)
W10 64b, Delphi 10.4, FireBird 3.05
Expert na kladenie nejasne formulovaných otázok.