Erro no VB em máquina remota, mas não em local.

_Rodman_

I'm cool cuz I Fold
Boas,

Tenho um programa feito em VB que corre bem na máquina onde foi elaborado, e em qualquer outra máquina aqui no escritório, porém quando coloco na máquina do cliente, dá o seguinte erro :

Consulte o fim desta mensagem para obter detalhes sobre como invocar a depuração
JIT (just-in-time) em vez desta caixa de diálogo.

************** Texto da excepção **************
System.FormatException: Cadeia de caracteres de entrada com formato incorrecto.
em System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
em System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
em System.Double.Parse(String s, NumberStyles style, NumberFormatInfo info)
em System.Convert.ToDouble(String value)
em Operacional.frmBobines.preenche()
em Operacional.frmBobines.frmBobines_Load(Object sender, EventArgs e)
em System.Windows.Forms.Form.OnLoad(EventArgs e)
em System.Windows.Forms.Form.OnCreateControl()
em System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
em System.Windows.Forms.Control.CreateControl()
em System.Windows.Forms.Control.WmShowWindow(Message& m)
em System.Windows.Forms.Control.WndProc(Message& m)
em System.Windows.Forms.ScrollableControl.WndProc(Message& m)
em System.Windows.Forms.ContainerControl.WndProc(Message& m)
em System.Windows.Forms.Form.WmShowWindow(Message& m)
em System.Windows.Forms.Form.WndProc(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Assemblagens carregadas **************
mscorlib
Versão da assemblagem: 2.0.0.0
Versão Win32: 2.0.50727.3634 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Operacional
Versão da assemblagem: 1.0.0.0
Versão Win32: 1.0.0.0
CodeBase: file:///C:/cpv4/cpv4/Operacional/bin/Debug/Operacional.exe
----------------------------------------
System.Windows.Forms
Versão da assemblagem: 2.0.0.0
Versão Win32: 2.0.50727.3637 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Versão da assemblagem: 2.0.0.0
Versão Win32: 2.0.50727.3634 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Versão da assemblagem: 2.0.0.0
Versão Win32: 2.0.50727.3639 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Data
Versão da assemblagem: 2.0.0.0
Versão Win32: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
Versão da assemblagem: 2.0.0.0
Versão Win32: 2.0.50727.3082 (QFE.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
APdal
Versão da assemblagem: 1.0.0.1
Versão Win32: 1.0.0.1
CodeBase: file:///C:/cpv4/cpv4/Operacional/bin/Debug/APdal.DLL
----------------------------------------
System.Configuration
Versão da assemblagem: 2.0.0.0
Versão Win32: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
mscorlib.resources
Versão da assemblagem: 2.0.0.0
Versão Win32: 2.0.50727.3634 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
System.Transactions
Versão da assemblagem: 2.0.0.0
Versão Win32: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
Versão da assemblagem: 2.0.0.0
Versão Win32: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
System.Windows.Forms.resources
Versão da assemblagem: 2.0.0.0
Versão Win32: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_pt-PT_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
System.Core
Versão da assemblagem: 3.5.0.0
Versão Win32: 3.5.30729.1 built by: SP
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms.resources
Versão da assemblagem: 2.0.0.0
Versão Win32: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_pt_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** Depuração JIT **************
Para activar a depuração just-in-time (JIT), o ficheiro .config para esta
aplicação ou computador (machine.config) tem de ter o
valor jitDebugging definido na secção system.windows.forms.
A aplicação também tem de ser compilada com a depuração
activada.

Por exemplo:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

Quando a depuração JIT está activada, qualquer excepção não processada
será enviada para o depurador JIT registado no computador
em vez de ser processada por esta caixa de diálogo.

Alguém tem alguma ideia do que poderá ser isto ?
 
Os regional settinge da maquina remota sao diferentes da maquina onde desenvolveste a app,Provavelmente esta avdar um erro a converter uma string num numero real devido aos regional settings....
 
A primeira coisa que me veio à cabeça foi exactamente o que o inginheiiro disse. Neste tipo de situações é muito comum isso ser a razão, ainda para mais quando a função que está na stack é uma que converte uma string para numérico, o que leva a pensar que a string não está "pura", como quem diz, tem mais que números. Aconselho vivamente, se conseguires, a fazer debug na máquina do cliente, com um breakpoint na chamada daquela função, e vês o que é que a string contem.
Para contornares este tipo de erros, algumas linguagens têm o tryParse, que se não conseguir levanta uma excepção, ou então tratas tu a string antes de ela ser convertida para numérico. Facilmente vês se só tem números com um regex ou assim.
 
Boas,

A minha primeira opção também foi olhar para os regional settings, que afinal eram iguais entre as máquinas.

Já detectei o problema, nesta nova versão da app, houve um campo em que foram adicionados dados, e o erro era dispoletado quando carregava tarefas que estavam já na BD mas ainda sem esses novos dados adicionados, bastou acrescentar uma mascara no final de cada um desses dados e acabaram-se os problemas.

Obrigado pelas sugestões de qq forma !
 
Back
Topo