Crear PictureBox a través de una config .ini?

Iniciado por z3nth10n, 3 Junio 2013, 19:49 PM

0 Miembros y 1 Visitante están viendo este tema.

z3nth10n

No me salta ninguna excepción, simplemente el panel se queda vacío. :-\
Esa línea es la errónea puesto que si la quito, vuelve todo a estar como estaba.

Interesados hablad por Discord.

Eleкtro

Pues prueba a poner un breakpoint o un msgbox para comprobar el valor "deel" antes de modificar el width... por cierto en el code modificas dos veces el width...

saludos








z3nth10n

#32
Ya añadí un MsgBox y va perfecto. Ehm ya se que hay 2 widths, uno es el que cambia y el otro es el que añade el width por default a cada uno de los pics. Voy a probar borrando ese width y activando el otro. :P




Ahora he borrado uno de los widths y antes de mostrar el code me suelta esta excepción:

CitarSystem.InvalidOperationException was unhandled
 HResult=-2146233079
 Message=Error al crear el formulario. Consulte Exception.InnerException para obtener más detalles. Error: Referencia a objeto no establecida como instancia de un objeto.
 Source=IkillLauncher
 StackTrace:
      en WindowsApplication1.My.MyProject.MyForms.Create__Instance__[T](T Instance) en 17d14f5c-a337-4978-8281-53493378c1071.vb:línea 190
      en WindowsApplication1.My.MyProject.MyForms.get_frmModpacks()
      en WindowsApplication1.frmMinecraft.Label2_Click(Object sender, EventArgs e) en C:\Users\Alvaro\Documents\IkillLauncher\IkillLauncher\frmMinecraft.vb:línea 134
      en System.Windows.Forms.Control.OnClick(EventArgs e)
      en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
      en System.Windows.Forms.Control.WndProc(Message& m)
      en System.Windows.Forms.Label.WndProc(Message& m)
      en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
      en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      en System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
      en System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
      en System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
      en System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
      en System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
      en System.Windows.Forms.Application.Run(ApplicationContext context)
      en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
      en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
      en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
      en WindowsApplication1.My.MyApplication.Main(String[] Args) en 17d14f5c-a337-4978-8281-53493378c1071.vb:línea 81
      en System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
      en System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
      en Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
      en System.Threading.ThreadHelper.ThreadStart_Context(Object state)
      en System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      en System.Threading.ThreadHelper.ThreadStart()
 InnerException: System.NullReferenceException
      HResult=-2147467261
      Message=Referencia a objeto no establecida como instancia de un objeto.
      Source=IkillLauncher
      StackTrace:
           en WindowsApplication1.frmModpacks..ctor() en C:\Users\Alvaro\Documents\IkillLauncher\IkillLauncher\frmModpacks.vb:línea 44
      InnerException:

Si lo vuelvo a poner siempre toma el primero y si bajo el scroll no cambia el width de ninguna imagen. :-\

La linea 44 es justamente esta:

Código (vbnet) [Seleccionar]
Dim deel As Integer = Math.Abs(Int(Panel1.AutoScrollPosition.Y.ToString)) / altur

Lo mismo pasa si pongo:

Código (vbnet) [Seleccionar]
pcb_(3).Width = 200

Por ejemplo :/

Interesados hablad por Discord.

Eleкtro

#33
CitarReferencia a objeto no establecida como instancia de un objeto.

Traducción: El objeto no existe.

Posible causa: Estás intentando llamar al panel cuando todavia no se ha creado/instanciado en la ventana del load.

Me apuesto mi casa entera a que tienes ese código de los pcbs() en el form load, muevelo todo al evento shown, no al load.

Saludos!








z3nth10n

Perdona la ignorancia, cual es el evento shown? :xD
El que muestra el panel, o comorl? :rolleyes:

Interesados hablad por Discord.

Eleкtro

#35
Cita de: Ikillnukes en 22 Junio 2013, 20:39 PMcual es el evento shown? :xD

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.shown.aspx

Esta "la perdono", porque yo al principio también me rallaba mucho cuando intentaba manejar controles en el evento load, pero es fácil de entender... el "form load" es para dejar cargar la ventana (el form) y sus controles, si intentas obtener el valor de un panel que todavía no se ha instanciado en el designer pues...kaboom (Referencia a objeto no establecida como instancia de un objeto.).

Saludos








z3nth10n

#36
Me parece que apuestas bien xD

Gracias a ese evento acabo de arreglar un bug de una excepción que llevaba tiempo ya jodiendo la marrana xD

Vale ahora salta esa excepción:

CitarSystem.NullReferenceException was unhandled
 HResult=-2147467261
 Message=Referencia a objeto no establecida como instancia de un objeto.
 Source=IkillLauncher
 StackTrace:
      en WindowsApplication1.frmModpacks.frmModpacks_Shown(Object sender, EventArgs e) en C:\Users\Alvaro\Documents\IkillLauncher\IkillLauncher\frmModpacks.vb:línea 186
      en System.Windows.Forms.Form.OnShown(EventArgs e)
      en System.Windows.Forms.Form.CallShownEvent()
      en System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
      en System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
      en System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      en System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
      en System.Windows.Forms.Control.InvokeMarshaledCallbacks()
      en System.Windows.Forms.Control.WndProc(Message& m)
      en System.Windows.Forms.ScrollableControl.WndProc(Message& m)
      en System.Windows.Forms.ContainerControl.WndProc(Message& m)
      en System.Windows.Forms.Form.WndProc(Message& m)
      en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
      en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      en System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
      en System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
      en System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
      en System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
      en System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
      en System.Windows.Forms.Application.Run(ApplicationContext context)
      en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
      en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
      en Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
      en WindowsApplication1.My.MyApplication.Main(String[] Args) en 17d14f5c-a337-4978-8281-53493378c1071.vb:línea 81
      en System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
      en System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
      en Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
      en System.Threading.ThreadHelper.ThreadStart_Context(Object state)
      en System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
      en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      en System.Threading.ThreadHelper.ThreadStart()
 InnerException:

Y no se porque no puedo declarar esto:

Código (vbnet) [Seleccionar]
Dim deel As Integer = Math.Abs(Int(Panel1.AutoScrollPosition.Y.ToString)) / altur + 2

fuera de un evento. Es super raro, si lo declaro fuera me salta esa excepción, y si lo declaro dentro me salta esta otra que acabo de pegar.  :-\




Gracias por perdonarmela, aunque bueno, yo ayudar más bien lo considero como dar el code hecho, ahora mismo, lo que estás haciendo es recomendarme que haga una cosa u otra, en mi opinión. :P
Así es como me gustaría resolver mis dudas (las más sencillas) ;)




Por cierto, linea 186:

Código (vbnet) [Seleccionar]
pcb_(deel).Width = 200

Creo que seguimos en las mismas, por lo menos ahora ese form si se me abre. :P

Interesados hablad por Discord.

Eleкtro

#37
Ahora que vuelvo a ver la línea de la división ya está todo claro: "/"

...te recuerda eso algo?

PD: Bueno, no se si ese será el problema porque no se si la operación da como resultado un decimal o un entero, pero usa el otro operador...

Saludos!








z3nth10n

#38
Pues a ver, ehm tuve encuenta lo que dijistes, pero por igual, cuando pulso el botón y me suelta un MsgBox con un numero entero y no un decimal :P

PD: Ya lo he comprobado, pero, nanai, no tiene nada que ver, :(

A ver si me he enterado bien, los pcbs hay que crearlos desde Shown? Pues es super raro, me sigue diciendo que están sin crearse.

Y lo más probable es que cuando demos con la clave me mates :xD

Interesados hablad por Discord.