sync SVN r18202
This commit is contained in:
43
skills/roa-vfp-frx-report/references/preview-png.md
Normal file
43
skills/roa-vfp-frx-report/references/preview-png.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Preview PNG (REPORTBEHAVIOR 90)
|
||||
|
||||
Fereastra de capturat este **"Report Preview - <raport>.frx [- Page N]"**, copil al shell-ului VFP.
|
||||
NU "Report Designer" si NU fereastra Command Window. Captura pe fereastra gresita = certifici
|
||||
designerul/desktop-ul, nu pagina.
|
||||
|
||||
## Cum gasesti fereastra
|
||||
|
||||
- Preview-ul NU e top-level: `EnumWindows` pe proces intoarce doar shell-ul VFP ("Microsoft Visual
|
||||
FoxPro"), iar fereastra de pagina e un **copil** al lui. Captura corecta = `EnumChildWindows` pe
|
||||
shell si filtrare dupa titlul care contine `Report Preview`.
|
||||
- Fereastra de pagina are titlul `Report Preview - <raport>.frx - Page N`. Bara de unelte e o
|
||||
fereastra mica (aceeasi radacina de titlu, inaltime mica) si se exclude prin filtrul de dimensiune
|
||||
(`>200x200`); daca umbreste pagina, muta-o cu `MoveWindow`.
|
||||
|
||||
## Runner
|
||||
|
||||
`.prg` (precompilat) cu: cursor de test + `SET REPORTBEHAVIOR 90` +
|
||||
`REPORT FORM <frx> PREVIEW NOWAIT` + `INKEY(<sec>)` + `QUIT`; `ON ERROR` scrie in log si `QUIT`.
|
||||
Apoi:
|
||||
|
||||
```
|
||||
powershell -File scripts\randare_preview.ps1 -Fxp <ui.FXP> -Png <png> [-TitleMatch <nume>]
|
||||
```
|
||||
|
||||
Scriptul lanseaza vfp9, capteaza fereastra copil de preview si **opreste procesul** la final (nu lasa
|
||||
vfp9 viu).
|
||||
|
||||
## Watchdog
|
||||
|
||||
`randare_preview.ps1` este runnerul controlat pentru preview: are nevoie de procesul VIV in timpul
|
||||
`INKEY`, deci nu poate fi asteptat de watchdog-ul care asteapta iesirea procesului. Toate celelalte
|
||||
rulari vfp9 (build, randare ASCII, structura) trec prin
|
||||
`COMUN\utile\Teste\watchdog_vfp.ps1 -Script <prg> -TimeoutSec 120 -AutoDismiss -OutDir <dir>`.
|
||||
|
||||
## Capcane de preview
|
||||
|
||||
- `_REPORTPREVIEW = "ZOOM 100"` NU e zoom: VFP cauta un fisier `zoom 100.prg` (eroare "File 'zoom
|
||||
100.prg' does not exist"). Zoom-ul e doar buton owner-drawn in toolbar, nu se seteaza programatic.
|
||||
- Preview-ul nativ la 100% afiseaza **pagina intreaga** (r6): marginea paginii se vede, restul e
|
||||
desktop gri. Un cap de coloana care pare taiat e text care iese din coloana, nu pagina (nota
|
||||
inversa din r5 era inselatoare). Confirma intai `max(HPOS+WIDTH) <= latimea paginii`, apoi citeste
|
||||
PNG-ul.
|
||||
Reference in New Issue
Block a user