Autor Téma: DataSource.State je dsInsert a v kóde ukazuje dsBrowse  (Přečteno 2529 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7423
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
Kód: [Vybrat]
  if (not Assigned(FVst.FocusedNode)) or
    (oGlobVar.ActualObject.DBNavigator.DataSource.State in [dsEdit, dsInsert]) then Exit;
State je dsBrowse, čo nie je pravda! Vyskočí z procedúry a mám zle nastavené tlačidlá navigátora. Pre istotu:
  • Mám to (nateraz) len v jedinom formulári
  • Nerobí to vždy
  • Mám to presne reprodukovateľné
  • Všade kde mením State mám nahodené Break Point. Zastavím sa iba na FDataSource.DataSet.Insert;
  • Ak zadám údaje a dám Post, tak sa to uloží ako má
  • Testované x - krát. Výsledok je vždy rovnaký
  • Záver je: funguje to ako má, ale pri teste if má State "falošnú" hodnotu
Ako je niečo také možné? Ako to vyriešiť?
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1585
  • Karma: 52
    • Verze Delphi: 11.3
Re:DataSource.State je dsInsert a v kóde ukazuje dsBrowse
« Odpověď #1 kdy: 20-06-2022, 19:45:27 »
Není to tím, že ta asi globální proměnná odkazuje na něco jiného?

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7423
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
Re:DataSource.State je dsInsert a v kóde ukazuje dsBrowse
« Odpověď #2 kdy: 20-06-2022, 19:49:34 »
Práve som zistil, že to je pravda - mám tam čosi iné. Taká možnosť mi akosi neprišla na um.
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.