Nessas horas, a alternativa é:
A lib dar alternativa de sintaxe, ou o usuário criar alguma coisa.
Aquele meu simulador é uma espécie de exemplo, porque ele não usa nada direto da LIB.
Se a LIB mudar a sintaxe, é só mudar no fonte LIB_HWGUI.PRG por exemplo.
Tem outra vantagem nisso:
Às vezes o #include troca o fonte pra um fonte muito maior, o uso de função reduz isso.
É pra se pensar.
Por exemplo:
Código: Selecionar todos
IF oQuery1:Fields("FRACIO"):Value == 1
TextDefinePicture( oDlg:oQtdPro, "99999" )
ELSE
TextDefinePicture( oDlg:oQtdPro, "99999.9999"
ENDIF
...
FUNCTION TextDefinePicture( oControl, cPicture )
oControl:oPicture:cPicMask := cPicture
RETURN Nil
Ou temporário, enquanto estão sendo feitas mudanças, ou até definitivo.
Até pensei em criar classe pra essas coisas, mas acho que nem compensa, assim fica "bonitinho" e se escrever errado dá erro na compilação, ao contrário de classes.
Aproveitando:
Naquele simulador, dava pra ter a alternativa dos controles HDRAWN.
É um interessante playground de testes.
São os pontos chaves do aplicativo: label, textbox, browse, e tab