# 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`:

```powershell
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`).
