Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Windows 7 (x64 Bits) y dxLib32 Funciona OK!

Iniciado por CocoMestah, 11 de Noviembre de 2009, 07:30:15 PM

« anterior - próximo »

CocoMestah

Pues eso, que me he pasado a Windows7 (x64) y me temia lo peor... pero no! todo funciona de maravillas. Sólo una nota para los que programen en un entorno como el comentado y con Visual Studio 2008:

-En las propiedades de Proyecto > Compilar > Opciones de Compilación Avanzadas
Buscar 'CPU de Destino' y allí marcar 'x86'.

Si no hacemos esto irremediablemente peta el VB2008 al intentar cargar la dxLib32; por lo demás, fino como la seda.

Ale, avisados estais.

Notas:
dxLib32_220.dll y dx8vb.dll se instalan automáticamente (usando el redistribuible de EX3) en 'C:\Windows\SysWOW64\' es en donde residen todas las DLL de 32 bits.

[EX3]

#1
Hombre, "welcome back", ya hacia tiempo que no te veia por aqui :)

Genial la noticia, la verdad que nunca habia podido testear en plataformas de 64 bits pero si tenia entendido que la API Win32 comun, DirectX8 y VB6.0 funcionaban en ella. Esto lo confirma.

Gracias por probarlo y a ver si vas enseñando en que andas metido con VB.NET y dx_lib32 ;)

Salu2...

P.D.: Pongo chincheta para quede fijo el post.
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

superbalgas

una duda.... en 'CPU de Destino' si se marca any... no te lo hace compatible para las 2 tipos de procesador?

[EX3]

El problema no es que lo haga compatible el ejecutable final si no que no se podra generar un codigo para ambas arquitecturas usando un componente de 32 bits (x86) como es dx_lib32 y sus dependencias de Visual Basic 6.0 y DirectX8, que ambas son de 32 bits tambien. Ademas, aun pudiendo no ganarias nada ya que estas programando con dichos componentes de 32 bits, lo cual seria absurdo tratar de generar codigo para x64.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

CocoMestah

Cita de: [EX3] en 11 de Noviembre de 2009, 08:12:21 PM
Hombre, "welcome back", ya hacia tiempo que no te veia por aqui :)

Genial la noticia, la verdad que nunca habia podido testear en plataformas de 64 bits pero si tenia entendido que la API Win32 comun, DirectX8 y VB6.0 funcionaban en ella. Esto lo confirma.

Gracias por probarlo y a ver si vas enseñando en que andas metido con VB.NET y dx_lib32 ;)

Salu2...

P.D.: Pongo chincheta para quede fijo el post.

Wenaaas jeje, es k con todo el ajetreo del curro se me fué la olla en el campo del 'tempo personale' y dejé las cosas muy tiradicas. Espero tener tiempo para ir construyendo el proyecto poco a poco y a ver si puedo poner algún bocadito de algo  ;)

[EX3]

José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Hechelion

Necesito un poco de ayuda con este tema.

Por un cambio de domicilio que no viene al caso, tuve que cambiar de PC, me compre un notebook con win7 (64bit) home premiun edition, ya instale el Visual Estudio 2008 express pero no puedo selecionar la CPU.

En la versión express no sale ninguna opción de cammbio de CPU,  tuve que ir a
Herramientas --> opciones --> soluciones y proyecto  --> general  y marcar la casilla "mostrar configuraciones de compilación avanzadas"

Con eso, en la pestalla "Compilar" tengo para selecionar la "plataforma" pero la única opción que me da es "(Any CPU) activa".

¿Cómo agrego la opción de platadorma x86?
¿O al ser una versión Home no tengo ninguna posibilidad?

Vicente

Esto, la versión de Windows debería dar igual. Lo mismo es algo de la versión Express del VS, pero me suena rarísimo. Normalmente para añadir una nueva plataforma te vas al "Configuration Manager", y allí arriba a la derecha puedes añadir la plataforma (Any CPU, x86, x64, Itanium).

Desde las propiedades de la solución deberías poder llegar al Configuration Manager. A ver si te ayuda. Un saludo!

Vicente

Hechelion

#8
Era un tema de la versión express (tal como decias Vicente)
"The defaults for Visual Studio Express have the Configuration Manager hidden, I guess on the justifiable basis that most users of VS Express would just be confused by it."
Era necesario marcar otra opción para poder acceder al menú para crear la plataforma x86, acá dejo el link a una página que muestra imagenes de los pasos a seguir:
(Esto es para la versión express)
http://www.nichesoftware.co.nz/blog/200804/configuration-manager-visual-studio-express

De todas formas, aún no logro correr la librería, seguire intentando mañana y si no, ya les estare pidiendo ayuda.
Gracias.

[EX3]

No habia visto estos mensajes, sorry :-[

Al margen del problema de la seleccion de tipo de CPU, no deberias tener problemas para enlazar cualquier libreria ActiveX/COM en un proyecto de VB.NET sea la version que sea de Windows y Visual Studio. Que problema te surge exactamente?

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Hechelion

Es un poco complicado porque no me marca ningún error especifico, incluso, la aplicación corre pero no se ejecuta y el único mensaje que me marca es:
Excepción del tipo 'System.NullReferenceException' en Escape_DhuNun.exe


Si ejecuto la aplicación paso por paso, cuando intento iniciar la clase GFX me arroja el siguiente mensaje.
Ir a: saltar código 'System.Windows.Forms.Control.Handle.get' no definido por el usuario

También probé creando una aplicación desde 0 con la libreria y lo mismo, no me marca ningún error, pero al ejecutarla me sale el error por Null Reference.

Así que no estoy muy seguro de que podría ser, estoy pensando que podría ser algún problema en el VS que tengo (2008), así que por las dudas me estoy bajando el VS basic 2010 express y te comento si fue un problema de la versión que instale o no.

Por cierto, había leido no recuerdo donde, que al usar VS 2010 era necesario marcar ciertas opciones para que la aplicación no diera problemas con tarjetas de video antiguas. ¿Eso es valido para DxLib32 o lo lei en XNA y me estoy confundiendo?
y por último otra duda. ¿Es posible crear aplicaciones con 2010 pero para el NET 3.5 en vez del 4?

[EX3]

Resulta raro ese error que mencionas de la propiedad Handle del formulario. Huele a ida a de olla con las referencias o algo por estilo (ya he tenido alguna similar inclusive en proyectos de XNA). Iba a preguntar si esta el ActiveX de DirectX8 instalado pero si has usado el paquete de instalacion de la web te lo deberia haber incluido. No se me ocurre ahora mismo que podría ser.

Cita de: Hechelion en 03 de Febrero de 2011, 12:49:01 AM
Por cierto, había leido no recuerdo donde, que al usar VS 2010 era necesario marcar ciertas opciones para que la aplicación no diera problemas con tarjetas de video antiguas. ¿Eso es valido para DxLib32 o lo lei en XNA y me estoy confundiendo?
Esa opcion que comentas es una opcion de XNA 4.0 que por ejemplo yo tengo que configurar para ejecutar codigo XNA en mi Macbook y en mi miniportatil. Se han inventado dos perfiles de configuracion del framework de XNA, una para aprovechar todo el framework con capacidad avanzada en graficos (Shader Model 3.0 y esas yerbas que no sabria que hacer con ellas :P) y otra mas modesta para el resto de configuraciones en PC, XBox360 y Windows Phone 7. Esto no te influye en absoluto con librerias externas como dx_lib32. Recuerda que mi libreria tira contra la version 8.1 de DirectX y que no requiere nada especial para funcionar.

Cita de: Hechelion en 03 de Febrero de 2011, 12:49:01 AM
y por último otra duda. ¿Es posible crear aplicaciones con 2010 pero para el NET 3.5 en vez del 4?
Si, de la misma forma en como se hace en Visual Studio 2008. Por esto no deberias preocuparte :)

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Hechelion

Tengo la idea algo quedo mal instalado o mal configurado, con 2010 me da el mismo error.

Acabo de crear una aplicación completamente nueva con 2010, lo único que tiene es un botón que llama a un cuadro de mensaje y al ejecutarlo paso por paso, aunque me corre me saltan los siguientes mensajes:
Citar
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.My.MyApplication.New' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.My.MyApplication.__ENCAddToList' que no es de usuario
Ir a: paso a paso por procedimientos en código 'System.RuntimeType.CreateInstanceSlow' que no es de usuario
Ir a: paso a paso por procedimientos en código 'System.Activator.CreateInstance<WindowsApplication1.My.MyApplication>' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.My.MyApplication.OnCreateMainForm' que no es de usuario
Ir a: paso a paso por procedimientos en código 'System.RuntimeType.CreateInstanceSlow' que no es de usuario
Ir a: paso a paso por procedimientos en código 'System.Activator.CreateInstance<WindowsApplication1.My.MyProject.MyForms>' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.My.MyApplication.OnCreateMainForm' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.My.MyProject.MyForms.Form1.get' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.Form1.Form1' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.Form1.__ENCAddToList' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.Form1.Form1' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.Form1.InitializeComponent' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.Form1.Button1.set' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.Form1.InitializeComponent' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.Form1.Button1.get' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.Form1.InitializeComponent' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.Form1.Form1' que no es de usuario
Ir a: paso a paso por procedimientos en código 'System.RuntimeType.CreateInstanceSlow' que no es de usuario
Ir a: paso a paso por procedimientos en código 'System.Activator.CreateInstance<WindowsApplication1.Form1>' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.My.MyProject.MyForms.Form1.get' que no es de usuario
Ir a: paso a paso por procedimientos en código 'WindowsApplication1.My.MyApplication.OnCreateMainForm' que no es de usuario
Ir a: paso a paso por procedimientos en código 'Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun' que no es de usuario
Ir a: paso a paso por procedimientos en código 'Microsoft.VisualBasic.Interaction.MsgBox' que no es de usuario

Que recuerde, no debería salir nada de eso.
¿Alguna idea?

[EX3]

Esto no es malo que sepa yo. Cuando depuro y voy linea a linea, si la instruccion a la que intenta saltar el depurador no es parte de mi codigo (es una llamada a un ensamblado de .NET o ajeno a mi proyecto o que no tengo el código fuente a mano (VS permite depurar código de proyectos referenciados aunque no estén físicamente en la solución, inclusive si esta en otro lenguaje)) siempre te dice eso de "que no es de usuario", pero vamos, no veo nada raro ahi (no te asustes al ver tanto mensaje al depurar linea a linea con .NET ya que piensa que debajo hay una selva de capas entre ensamblados y las distintas API's de Windows que es para volverse loco xDD).

Si logro sacar algo de tiempo libre, que últimamente escasea, intentare instalarme el VB.NET 2010 y ver si si me funciona dx_lib32, mas que nada para confirmar que no haya alguna incompatibilidad con el entorno. Igualmente, si tuvieras otro equipo o alguien tenga Windows 7 y VB.NET 2010 que te lo pudiera probar estaría genial para descartar un error local en tu maquina.

Salu2...

P.D.: He dicho ya que XNA 4.0 y C# es la caña?  :.. </programador_renegando_de_su_propia_creacion> xDDDDDDDD
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Hechelion

Al parecer si fue un problema de la instalación del 2008, luego de reinstalar la versión 2010 y reiniciar la máquina (ayer hice las pruebas sin reiniciar  ^_^' ) me está corriendo la librería y mi aplicación.

Asumo que el error pudo haber ido porque use un instalador antiguo del 2008 que tenía en vez de bajar uno nuevo y acorde a mi nuevo OS, pero reinstalando todo, el problema se solucionó.

El único aporte que puedo dar es que si usan la versión Express, el configuration manager está oculto, así que necesitan tocar la cofiguración para poder cambiar la CPU (si no la cambian, tal como dice el primer post, la aplicación no corre)

Gracias por la ayuda y ahora lo único que me falta es comprar un mouse para seguir avanzando con el juego.

PD:
Sobre XNA, la verdad, salvo que en algún momento me de por publicar para Xbox (y lo dudo, porque no tengo una), creo no lo voy ni a mirar, prefiero irme por SDL, ogre3D o Panda3D o algo que me permita crear juegos compatibles con Linux (aunque ahora tampoco tengo linux,  ^_^'). Además, alguíen debe aprovechar la libreria  >:D






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.