TORNAR APLICATIVO CRIADO VB6 COMPATIVEL COM DEP

LUIS.HERRERA 17/06/2011 15:46:44
#377118
Boa tarde. Tenho reparado que em alguns cliente meu aplicativo fica bloqueado pela DEP. Em alguns basta dizer ao DEP que permita sua execução e pronto, mas em outros continua o problema, principalmente em servidor com 2003. Tenho o sistema funcionando em 2003 e no 2008 sem problemas, mas alguns ocorre isso.

Meu sistema usa UPX para proteger o EXE. Será esse o problema?
Como fazer para um aplicativo ser compatível com DEP? No site de suporte da Microsoft, não explica como, mas solicitam ao usuário que procure sempre o desenvolvedor para ver se há uma versão do programa já compatível. Agora como deixá-lo compatível, eis a questão.

Uma outra coisa muito estranha ocorreu a partir dessa semana num único cliente. Meu sistema somente consulta e edita dados no banco acess, mas não conseguie incluir novos registros. Gera um erro de execução, mas sem número de identificação do mesmo. Tirei o banco da rede e localmente funcionou. O problema está no acesso da estação pelo servidor. Uso VB6, ADO e JET4 alguém tem alguma idéia de como identificar o problema? Se tudo funcionava perfeitamente nos últimos 2 anos o que pode ter acontecido?
VELOSITE 18/06/2011 15:51:15
#377158

Quanto ao DEP vc ja chegou a ver este link ?


Cara quanto ao erro o que aconselho a fazer é :

1 - Instale o MZTools para vb6 ou .net se for o caso de acordo com seu gosto e use a opção de numerar as linhas do seu bloco de codigo
Agora com as linhas do codigo numeradas faça como no exemplo abaixo.

Ex.:
[ô]################################
Public Function exemploTeste(frm as object)

1 on error goto trataErro

2 seu codigo
3 seu codigo
4 seu codigo bla bla bla

5 trataErro:

6 if err.number=0 then
7 else
8 msgbox [Ô]Função exemploTeste [Ô] & vbcrlf & [Ô]Erro Nrº: [Ô] & err.number & vbcrlf & [Ô]Linha do Erro: [Ô] & ERL,vbinformation,[Ô]Resultado !!!![Ô]

End Function
[ô]##############################################
Assim vc saberá qual a função que retornou , qual o numero do erro para pesquisa e em que linha ocorre para que possa debugar com um breakpoint e cosia e tal

espero ter ajudado
VELOSITE 18/06/2011 15:53:14
#377159
ERRATA: Esqueci do [Ô]end if[Ô] do IF acima rsrsrs
LUIS.HERRERA 18/06/2011 19:05:14
#377162
Velosite, todas as informações desse link eu já sabia pelo Site da Microsoft.

Minha pergunta é como deixar um aplicativo compatível com o DEP, não é como configurar o DEP, pois isso é pelo Windows. No caso do VB ele não tem funções para manipulação de memória, então todo o gerenciamento é do próprio VB, por isso minha pergunta, uma vez que no site da Microsoft diz para o usuário de um software que fica bloqueado pelo DEP, procurar o fabricante para saber se existe uma versão compatível.

Bem como eu sou o desenvolvedor (Fabricante) teria de saber [Ô]Como deixar o software compatível[Ô]. No site da Microsoft não consegui encontrar essa informação, perguntei aqui para ver se alguém tem idéia.

Não sei se alguém teve seu aplicativo criado em VB6 também bloqueado pelo DEP em algum cliente. Estou desconfiado que pode ser por usar o UPX (tipo de PE) para proteção e compressão do exe do meu aplicativo.

Sobre identificar o erro no programa, meu sistema já possui todo o rastreamento de erros com geração de logs, inclusive já uso a muito tempo o MZtools (excelente).
O erro que reportei acontece externamente (Windows) e não é interceptado pelo meu sistema, por isso independe existir a numeração de linha, pois com chamadas de apis isso é externo, diz que foi um erro e pronto. Com o meu tratamento o sistema não fecha, mas também não tenho como identificar o ocorrido. No caso específico, e somente nesse cliente, de uma hora para outra o sistema não cadastra mais dados no banco, só consulta e altera (muito esquisito). Puxei os bancos para a estação local e funciona, então o problema está no acesso pela rede, agora saber o que é são elas. O DEP neste caso não pode ser, pois quando ele atua fecha imediatamente o programa antes de rodar, mas não é isso que ocorre neste caso.
LUIS.HERRERA 19/06/2011 13:08:51
#377188
Há uma forma sim de evitar que o UPX consiga descompactar o seu próprio arquivo comprimido, sem afetar sua funcionalidade.

Mas seguindo os links, percebi que o UPX pode sim causar problemas com o DEP, além o McAfee acusá-lo como vírus (um antivírus péssimo esses, faz décadas que deixei de usá-lo) ainda bem.

Obrigado.
Tópico encerrado , respostas não são mais permitidas