Files
comun/docs/testare-vfp-mcp.md
Marius Mutu c4d869921d verificare partener: garda pe cont NULL, hook-uri de disciplina, docs compactate
- ooperatii_comune: verific_partener nu mai construieste SQL NULL cand contul
  primit e NULL (EMPTY(.NULL.) e .F. in VFP)
- utile\context_watch.ps1 si utile\docs_revizie_check.ps1: masurarea contextului
  sesiunii si cadenta reviziei de documentatie, prin hook-uri Claude Code
  (instalare in docs\monitorizare-context.md)
- reguli_lucru: delegare la subagenti, modificari minime si scoped, scrierea si
  revizuirea documentatiei, changelog strictul necesar (regulile 3, 6, 9, 11, 12)
- scripturi-migrare-db: continutul unui script (scoped, fara select, idempotent)
- teste noi pentru cele doua erori din achizitia de import
- restul documentatiei compactata, fara pierdere de reguli

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RYbiinqXxdEqXi53x4Ro7K
2026-08-02 22:30:44 +03:00

1.8 KiB

Testare automata VFP prin IDE + MCP (windows-mcp)

Valabil pentru toate proiectele VFP din suita ROA; exemplele de mai jos sunt pe ROAGEST — inlocuieste caile, numele programului principal si titlul ferestrei pentru alt proiect.

Pentru verificare vizuala dupa modificari pe .vc2/.sc2, nu se porneste roagest.exe (ar cere rebuild complet — vezi COMUN\docs\flux-editare-vfp-text.md), ci se lanseaza vfp9.exe interpretat peste Programe\roagest.prg:

Start-Process -FilePath "C:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe" `
  -ArgumentList '-c"D:\ROA\ROAGEST\config.fpw"','D:\ROA\ROAGEST\Programe\roagest.prg' `
  -WorkingDirectory "D:\ROA\ROAGEST"
  • Gate-ul de pornire (gcNumeProgram = 'ROAGEST' in roagest.prg) verifica JUSTSTEM(SYS(16,0)) — numele programului de la nivelul 0 al stivei, nu numele procesului .exe. Rulat interpretat, SYS(16,0) = roagest.prg, deci gate-ul trece.
  • Fereastra rezultata are titlul ROA - Gestiuni (setat din NUMEPROGRAM).

Capcana: focus furat de terminal

Daca sesiunea Claude Code afiseaza output in timp ce comanda de lansare ruleaza, fereastra terminalului/IDE-ului ramane in prim-plan si VFP porneste in fundal — Screenshot/Snapshot din windows-mcp pot raporta "No windows found" desi procesul si fereastra exista (verificabil cu Get-Process vfp9 | Select MainWindowTitle).

Fix: inainte de screenshot, adu explicit fereastra in prim-plan dupa titlu:

mcp__windows-mcp__App mode=switch name="ROA - Gestiuni"

apoi Screenshot. Nu te baza pe enumerarea implicita de ferestre a windows-mcp cand ai lansat procesul chiar in runda curenta de comenzi.

Curatare dupa test

Proces de omorat la final: mcp__windows-mcp__Process mode=kill pid=<pid> (gasit prin mode=list name=vfp9 sau Get-Process vfp9).