Bonjour,
Avec mon nouveau PC Windows Home premium 7 64 bits, quand j’essaie d’utiliser l’application de démonstration PCSGU250DLL_Demo (après conversion de VB2008 express à VB2010), l’application se lance bien et la fenêtre “PCSGU250 Control Panel” apparaît ; mais dès que je clique sur le bouton “Start PCSGU250” l’erreur suivante se produit :
L’exception System.BadImageFormatException n’a pas été gérée
Message=Tentative de chargement d’un programme de format incorrect. (Exception de HRESULT : 0x8007000B)
Source=PCSGU250DLL_Demo
StackTrace:
à PCSGU250DLL_Demo.Form1.Start_PCSGU250()
à PCSGU250DLL_Demo.Form1.Button1_Click(Object sender, EventArgs e) dans C:\Users\Philip\Desktop\PCSGU250_DLL1\VB_2008_Expless\PCSGU250DLL_Demo\Form1.vb:ligne 36
à System.Windows.Forms.Control.OnClick(EventArgs e)
à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.ButtonBase.WndProc(Message& m)
à System.Windows.Forms.Button.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
à Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
à PCSGU250DLL_Demo.My.MyApplication.Main(String[] Args) dans 17d14f5c-a337-4978-8281-53493378c1071.vb:ligne 81
à System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
à System.Threading.ThreadHelper.ThreadStart()
InnerException:
Par contre, sur un PC avec windows 7 ultimate 32 bits il n’y a aucun problèmes…
Après avoir compris que le problème provient du fait que “PcLab2000LT.exe” est une application 32 bits qui ne peut être appelée depuis votre démo sur un PC 64 bits, j’ai réussi à utiliser cette demo en créant un nouveau projet en compilation X86 au lieu du Any CPU (seule option quand j’ouvre votre projet de démonstration) avant d’ouvrir la Form1 et après avoir recopié tous les éléments du dossier C:…\PCSGU250_DLL\VB_2008_Expless\PCSGU250DLL_Demo\bin\Debug et du décocher la case “Activer le processus d’hébergement Visual Studio” dans les options de débogage pour résoudre un problème de fichier .manifest…
Pourriez vous fournir une version vraiment compatible 64 bits de votre démo ?
Par ailleurs, je ne sais pas si cela est lié mais il m’est impossible d’ajouter un contrôle MsChart au projet sans provoquer l’erreur :
“Une exception non gérée du type ‘System.StackOverflowException’ s’est produite dans mscorlib.dll”
Merci de votre attention et de votre aide !