Jump to content
Fivewin Brasil

avaliar se uma funcao existe


siscat

Recommended Posts

pessoal, como posso avaliar se uma determinada função existe?

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

siscatsoftware@hotmail.com

Desenvolvimento e migração de aplicativos DOS para Windows

FWH for (x)Harbour c/ xMate

ADS Server

MSSql, Oracle, MySQL c/ SQLRDD

Link to comment
Share on other sites

Olá,

Marllon, acho que não tem como. Se ela não existir, dá erro na compilação. Daí nem deve ter algo para verificar.

[]s,

Evandro G. de Paula

Curvelo - MG

evandro@skillnet.com.br (Escr. - na Cidade)

imortal@skillnet.com.br (Res. - na Roça)

FWH 2.6+PellesC+MyMake+xHarbour.org 0.99.5+SqlLib

Link to comment
Share on other sites

Bom no meu sistema tem uma brexa para que erros desse tipo aconteçam.

Os menus de cada cliente são enviados em um arquivo separado. Tipo se eu criei um novo menu com umanova função em um novo prg.

Mando o menu para o cliente ele passa o instalador e atualiza mas ele esqueceu de baixar o executavel atualizado ou um funcionario esqueceu de pedir a atualização(Isso aconteceu semana passada aqui na empresa) ao acessar o menus ira dar o erro pois as chamadas de funções ficam dentro de uma arquivo e não compilam junto do executavel.

Então acho que a solicitação do Marllon é mais ou menos o mesmo que a minha ou parecida.

Marcelo Michels

celo.michels@ibestvip.com.br

celo.michels@hotmail.com

marcelo@lorenzi.com.br

-> Lorenzi Soluções Têxteis <-

Criciuma - SC

xHarbour build 0.99.2 + WS

Link to comment
Share on other sites

citação:

Bom no meu sistema tem uma brexa para que erros desse tipo aconteçam.

Os menus de cada cliente são enviados em um arquivo separado. Tipo se eu criei um novo menu com umanova função em um novo prg.

Mando o menu para o cliente ele passa o instalador e atualiza mas ele esqueceu de baixar o executavel atualizado ou um funcionario esqueceu de pedir a atualização(Isso aconteceu semana passada aqui na empresa) ao acessar o menus ira dar o erro pois as chamadas de funções ficam dentro de uma arquivo e não compilam junto do executavel.

Então acho que a solicitação do Marllon é mais ou menos o mesmo que a minha ou parecida.

Marcelo Michels

celo.michels@ibestvip.com.br

celo.michels@hotmail.com

marcelo@lorenzi.com.br

-> Lorenzi Soluções Têxteis <-

Criciuma - SC

xHarbour build 0.99.2 + WS


id=quote>id=quote>

Exatamente isso Marcelo...

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

siscatsoftware@hotmail.com

Desenvolvimento e migração de aplicativos DOS para Windows

FWH for (x)Harbour c/ xMate

ADS Server

MSSql, Oracle, MySQL c/ SQLRDD

Link to comment
Share on other sites

citação:

Faz assim:

If Type( "Funcao()" ) = "UI"

&"Funcao()" // execute a funcao

else

msgalert("Funcao ainda nao compilada !")

endif

Espero poder ter ajudado !

Gilberto Frohlich - Toledo/PR

giba_f@hotmail.com

giba_f@yahoo.com.br

xHarbour Comercial xBuild Mar_06+Fivewin 2.7+PellesC+(Postgres+DB2)


id=quote>id=quote>

Gilberto, isto resolve... más somente para o caso de testar a propria função... no meu caso eu passo em o code block ...

e neste caso o Type sempre vai retornar 'B' independente de sser valido ou não...

consegui resolver a parte do MENU com o TYPE

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

siscatsoftware@hotmail.com

Desenvolvimento e migração de aplicativos DOS para Windows

FWH for (x)Harbour c/ xMate

ADS Server

MSSql, Oracle, MySQL c/ SQLRDD

Link to comment
Share on other sites

Marllon, tudo bem??

Não sei se a minha resposta será muito genérica, mas vai lá.

Tenho uma situação em que o executável principal chama um segundo EXE, ambos atualizados separadamente e com o mesmo problema relatado por você.

Para ter certeza de que os 2 conversam na mesma lingua, o EXE principal gera um arquivo texto chamado LOG.SYS, contendo alguns dados, dentre eles a Versão.

A primeira coisa que o 2° executável faz é checar esse LOG e retornar a necessidade de contatar o suporte caso haja alguma divergência.

Um abraço

assinatpaulo.jpg

Editado por - pauloaraujo on 18/09/2006 22:30:00

Link to comment
Share on other sites

citação:

Marllon, tudo bem??

Não sei se a minha resposta será muito genérica, mas vai lá.

Tenho uma situação em que o executável principal chama um segundo EXE, ambos atualizados separadamente e com o mesmo problema relatado por você.

Para ter certeza de que os 2 conversam na mesma lingua, o EXE principal gera um arquivo texto chamado LOG.SYS, contendo alguns dados, dentre eles a Versão.

A primeira coisa que o 2° executável faz é checar esse LOG e retornar a necessidade de contatar o suporte caso haja alguma divergência.

Um abraço

assinatpaulo.jpg

Editado por - pauloaraujo on 18/09/2006 22:30:00


id=quote>id=quote>

Paulo blz...

no meu caso não resolve pois tenho tudo no servidor e só executa um executavel.

Marcelo Michels

celo.michels@ibestvip.com.br

celo.michels@hotmail.com

marcelo@lorenzi.com.br

-> Lorenzi Soluções Têxteis <-

Criciuma - SC

xHarbour build 0.99.2 + WS

Link to comment
Share on other sites

Ola Marcelo

Acho que a solução seria trabalhar com ERRORBLOCK, abaixo

um exemplo bem simples, só para dar uma idéia do que fazer.

#Include "FiveWin.ch"

#Include "InKey.ch"

FUNCTION Main()

LOCAL;

bSvErrorSys := ERRORBLOCK({|oObjError|MyErrorSys(oObjError)}),;

cFuncao1 := 'Teste1()',;

cFuncao2 := 'Teste2()'

BEGIN SEQUENCE

&cFuncao1 // Aqui passa

IF INKEY(1) == K_ESC

BREAK

ENDIF

&cFuncao2 // Aqui detecta erro

END

ERRORBLOCK(bSvErrorSys) // Reestabelece o controlador de erro padrao

RETURN NIL

FUNCTION Teste1()

TONE(2000,1)

RETURN NIL

FUNCTION MyErrorSys(oObjError)

MsgInfo('Função executada não existe.')

BREAK

RETURN .T.

[]´s

Flavio

FWH26 + [x]Harbour + Verce

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...