Autor Téma: function ... override; stdcall;  (Přečteno 322 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7351
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
function ... override; stdcall;
« kdy: 12-10-2022, 10:38:30 »

Je to pre VST. Má byť za override uvedené stdcall? Prekladač je v oboch prípadoch spokojný.
Kód: Delphi [Vybrat]
  1.   TEditorEditLink = class(TInterfacedObject, IVTEditLink)
  2.   function PrepareEdit(Tree: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex): Boolean; virtual; stdcall;
  3.   function PrepareEdit(Tree: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex): Boolean; override; stdcall; // Tu
Win11 64b, Delphi 11.3.1, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline pepak

  • Padawan
  • ******
  • Příspěvků: 1573
  • Karma: 37
    • Pepak.net
Re:function ... override; stdcall;
« Odpověď #1 kdy: 13-10-2022, 12:42:00 »
Pokud by override mohlo změnit volací konvenci, tak to program rozbije. Takže můj odhad je, že stdcall bude za override kompilátorem dosazen automaticky, i když ho neuvedeš sám.

Což jsem si teď i ověřil pokusem.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7351
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
Re:function ... override; stdcall;
« Odpověď #2 kdy: 13-10-2022, 13:33:06 »
Ďakujem.
Win11 64b, Delphi 11.3.1, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.