- 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
41 lines
1.8 KiB
Markdown
41 lines
1.8 KiB
Markdown
# 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`).
|