VARIAVEL PUBLICA - NAO CONSIGO O RETORNO

MICROSCHEME 24/07/2010 11:01:28
#348321
é. Parece que com a idade vou esquecendo o pouco que sei.

Seguinte:

Tenho num módulo no General:
Public strConfigurationPrint as String

No mesmo módulo::
Public Function PrintConfiguration(strConfigurationPrint)
If UCase(Trim(strConfigurationPrint)) = UCase(Trim([Ô]Portrait[Ô])) Then
intHorizontal = 11900
intVertical = 16830
intTotalLines = intLinesPortrait
strConfigurationPrint = [Ô]Portrait[Ô]
End If
If UCase(Trim(strConfigurationPrint)) = UCase(Trim([Ô]LandScape[Ô])) Then
intHorizontal = 16830
intVertical = 11900
intTotalLines = intLinesLandScape
strConfigurationPrint = [Ô]LandScape[Ô]
End If
End Function

Se dentro desta function eu acrescento antes do End Function:

MsgBox strConfigurationPrint

Me retorna a mensagem Portrait ou LandScape.

BLZ . . .

Mas eu tenho um form que chama a função assim:

PrintConfiguration([Ô]Portrait[Ô]) ou PrintConfiguration([Ô]LandScape[Ô])

A função é chamada e as configurações são acertadas de acordo com os ifs da function

Mas no form que chamou a function também tenho o seguinte IF após a chamada da function PrintConfiguration:

If UCase(Trim(strConfigurationPrint)) = UCase(Trim([Ô]Portrait[Ô])) Then
VScroll001.Enabled = True
ElseIf UCase(Trim(strConfigurationPrint)) = UCase(Trim([Ô]LandScape[Ô])) Then
VScroll001.Enabled = True
HScroll001.Enabled = True
End If

Ai não me retorna a variavel strConfigurationPrint pro if habilitar as scrolls.

Se a variavel strConfigurationPrint está declarada no módulo como pública, não deveria ser reconhecida
neste último if...ElseIf...End If

? ? ?
MARCOSLING 24/07/2010 11:12:53
#348322
Resposta escolhida
Pelo que notei, a quando vc declara a funcion (Public Function PrintConfiguration(strConfigurationPrint)...) vc não diz se é ByVal ou ByRef.
Espero que vc saiba do que estou falando...
MICROSCHEME 24/07/2010 11:24:19
#348323

Na verdade, nunca usei passagem por byVal ou byRef . . .

Mas gostaria que conforme a function utiliza a variavel strconfigurationprint, ela ficasse disponível pra outra verificação

. . .

MICROSCHEME 24/07/2010 11:38:26
#348324

Blz . . .

Pra mim podia chamar assim:
PrintConfiguration([Ô]Portrait[Ô])

Mas a function ficou assim:

Public Funtcion PrintConfiguration(ByRef strConfigurationPrint as String)

e no form eu passo assim:

strConfigurationPrint = [Ô]Portrait[Ô]
PrintConfiguration(strConfigurationPrint[Ô]

Vlw . . .

e OBRIGADO

. . .
MSMJUDAS 24/07/2010 11:40:32
#348325
Será que vc não está [Ô]esvaziando[Ô] essa variável antes do trecho:

      If UCase(Trim(strConfigurationPrint)) = UCase(Trim([Ô]Portrait[Ô])) Then
VScroll001.Enabled = True
ElseIf UCase(Trim(strConfigurationPrint)) = UCase(Trim([Ô]LandScape[Ô])) Then
VScroll001.Enabled = True
HScroll001.Enabled = True
End If


Já tentou depurar pra ver se acha algo?
Tópico encerrado , respostas não são mais permitidas