Página 1 de 1

Hb_Default não funciona

Enviado: 23 Mar 2023 16:08
por carlaoonline
Boa tarde!

Alguém sabe me dizer pq essa linha com Hb_Default não funciona?

Código: Selecionar todos

FUNCTION DBF2PDF( cFileToSave, cArqDbf, nAlturaLinha, cTitle, cSubTitle, aCampos, aTitulos, aTamanhoFonte )
// Hb_Default(aCampos, Campos2Array(cArqDbf) )
Hb_Default(@aCampos, Campos2Array(cArqDbf) )
Nenhuma acima surte efeito, mesmo mandando o parâmetro ele insiste em entrar na função Campos2Array(cArqDbf) para atribuir novo valor para a variável aCampos que já veio com valor. Já notei isso em outras funções também.


mas se usar a abaixo daí funciona.

Código: Selecionar todos

DEFAULT aCampos TO Campos2Array(cArqDbf)
???

MiniGui Extend, Harbour 3.2 Bcc58

Hb_Default não funciona

Enviado: 23 Mar 2023 17:21
por JoséQuintas
Não lembro de ter usado com array.
Talvez considere o tamanho quando é array.

Mas nesse caso melhor o tradicional

Código: Selecionar todos

aCampos := iif( aCampos == Nil, Campos2Array(cArqDbf), aCampos )
Porque?
Porque com hb_Default, vai ter que processar a função pra poder comparar.
Com iif() só processa se vier vazio.

Hb_Default não funciona

Enviado: 23 Mar 2023 17:27
por JoséQuintas
A checagem de DEFAULT é básica, não é igual hb_default()

Código: Selecionar todos

cTeste := ""
hb_Default( @cTeste, 1 )
Com DEFAULT o valor de cTeste deve ser ""
Com hb_Default() vai ser 1
Não é apenas teste de vazio, também compara o tipo, e provavelmente em array talvez compare o tamanho.