Autor Téma: Je to dobrý nápad: const FQry = TFDFunction.NewQry(); ?  (Přečteno 560 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7426
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1

Bavíme sa o lokálnom použití. V rámci jedinej rutiny.
Nenarazím na nejaké problémy?
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7426
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
Re: Je to dobrý nápad: const FQry = TFDFunction.NewQry(); ?
« Odpověď #1 kdy: 03-08-2023, 16:04:27 »
Prečo sa na to pýtam.
Viem, že ak odovzdávam rutine nejaký parameter ktorý je const, ta je jednoduchšia správa pamäte.
Avšak neviem či to platí aj pre
  • polia triedy (Txx = class)
  • lokálne použitie v rutine
Môj gazdovský rozum hovorí, žeby to malo platiť aj tu. Nepamätám si, žeby som niečo také niekedy videl v praxi.
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Jan Fiala

  • Hrdina
  • ****
  • Příspěvků: 450
  • Karma: 6
    • Verze Delphi: 10.4.1
    • PSPad editor
Re: Je to dobrý nápad: const FQry = TFDFunction.NewQry(); ?
« Odpověď #2 kdy: 04-08-2023, 09:12:03 »
V tomto případě předáváš ukazatel na objekt, který vytvoří a vrací funkce NewQry()

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7426
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
Re: Je to dobrý nápad: const FQry = TFDFunction.NewQry(); ?
« Odpověď #3 kdy: 04-08-2023, 10:34:54 »
Presne z toho predpokladu vychádzam.
Ešte mi tam chýba otázky: stojí to zato, alebo je daný zisk je o ničom?
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Jan Fiala

  • Hrdina
  • ****
  • Příspěvků: 450
  • Karma: 6
    • Verze Delphi: 10.4.1
    • PSPad editor
Re: Je to dobrý nápad: const FQry = TFDFunction.NewQry(); ?
« Odpověď #4 kdy: 04-08-2023, 12:46:43 »
Jaký zisk? Co si myslíš, že "ušetříš"?

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7426
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
Re: Je to dobrý nápad: const FQry = TFDFunction.NewQry(); ?
« Odpověď #5 kdy: 04-08-2023, 13:12:41 »
Mám na mysli prácu s pamäťou.
Len to čo som čítal: ak to je const, tak kompilátor presne vie akú veľkosť má vymedziť (je to vždy ukazovateľ) a nemusí okolo toho robiť žiadny cirkus navyše.
Stojí to zato, alebo pri dnešnej technike to je bezpredmetné?
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7426
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
Re: Je to dobrý nápad: const FQry = TFDFunction.NewQry(); ?
« Odpověď #6 kdy: 08-08-2023, 18:50:54 »
Zistil som, že sa to dá použiť len lokálne. Pole v triede musí byť var!
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.